Compare commits

..

272 Commits

Author SHA1 Message Date
Adolfo R. Brandes
64fc8adeed build: start releasing alpha packages 2024-03-20 13:09:22 -03:00
Braden MacDonald
a49b06349e fix: invalid frontend-platform import in Footer.jsx (#398) 2024-03-11 17:28:12 +05:00
Kristin Aoki
aa13b4946c Merge pull request #406 from openedx/KristinAoki/fix-accessibility-page-link-env-variable
fix: variable name for the accessibility link
2024-03-08 17:58:12 -05:00
KristinAoki
cff78e021c fix: variable name for the accessibility link 2024-03-08 09:32:55 -05:00
renovate[bot]
62bf038a06 chore(deps): update dependency react-router-dom to v6.21.3 2024-01-22 09:08:36 +00:00
Brian Smith
eed127969d fix: update paragon dep to support v22 (#400) 2024-01-19 11:30:50 -05:00
Brian Smith
dcce076942 fix: update frontend-platform peer dependency (#399)
This updates the `frontend-platform` peer dependency to require a version that has `paragon` in the `openedx` scope as a peer dependency, as opposed to the `edx` scope
2024-01-18 12:59:07 -05:00
Brian Smith
6cf8bf3965 chore!: move paragon to peer dependency using @openedx scope (#394)
BREAKING CHANGE: consuming applications must now provide `paragon` from the `@openedx` scope
2024-01-16 11:06:19 -05:00
renovate[bot]
fad5b0925e chore(deps): update dependency react-router-dom to v6.21.2 2024-01-15 14:16:47 +00:00
renovate[bot]
1f5e5fa4dd chore(deps): update dependency @openedx/frontend-build to v13.0.27 2024-01-15 09:27:37 +00:00
renovate[bot]
a94f57dae2 fix(deps): update dependency @openedx/paragon to v21.13.0 2024-01-01 13:35:46 +00:00
renovate[bot]
531ae4a603 chore(deps): update dependency @edx/frontend-platform to v6.2.0 2024-01-01 09:34:17 +00:00
Mashal Malik
2a2f9ed43f refactor: replace @edx/paragon and @edx/frontend-build (#386) 2024-01-01 13:06:16 +05:00
renovate[bot]
5c0ac3de54 chore(deps): update dependency react-router-dom to v6.21.1 2023-12-25 07:23:00 +00:00
Syed Ali Abbas Zaidi
4aec12eae0 feat: migrate enzyme with RTL (#372)
* feat: migrate enzyme with RTL

* fix: fixed lockfile issues

---------

Co-authored-by: Abdullah Waheed <abdullah.waheed@arbisoft.com>
2023-12-25 12:20:11 +05:00
Asad Ali
5059e0dac1 fix: fix config name from MARKETING_BASE_URL to MARKETING_SITE_BASE_URL (#381) 2023-12-22 18:45:15 +05:00
renovate[bot]
ed5aeb8179 chore(deps): update dependency react-router-dom to v6.21.0 2023-12-18 12:33:17 +00:00
renovate[bot]
19fe6680a9 chore(deps): update dependency @edx/frontend-build to v13.0.14 2023-12-18 09:30:13 +00:00
Peter Kulko
59c78ac479 chore: added start:with-theme npm script (#378) 2023-12-15 11:41:15 +02:00
renovate[bot]
238854bdfb chore(deps): update dependency @edx/frontend-platform to v6.1.2 2023-12-11 19:17:34 +00:00
renovate[bot]
07ad578613 chore(deps): update dependency @edx/frontend-build to v13.0.12 2023-12-11 12:17:05 +00:00
dependabot[bot]
fc3c9581f3 build(deps-dev): bump @adobe/css-tools from 4.3.1 to 4.3.2 (#373)
Bumps [@adobe/css-tools](https://github.com/adobe/css-tools) from 4.3.1 to 4.3.2.
- [Changelog](https://github.com/adobe/css-tools/blob/main/History.md)
- [Commits](https://github.com/adobe/css-tools/commits)

---
updated-dependencies:
- dependency-name: "@adobe/css-tools"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-06 13:11:11 +05:00
renovate[bot]
0015b72eb7 fix(deps): update font awesome to v6.5.1 2023-12-04 14:14:17 +00:00
renovate[bot]
f694e322ee chore(deps): update dependency react-router-dom to v6.20.1 2023-12-04 10:33:49 +00:00
renovate[bot]
5e7ac40348 chore(deps): update dependency react-router-dom to v6.20.0 2023-11-27 12:52:56 +00:00
renovate[bot]
c2e5f0f403 chore(deps): update dependency @edx/frontend-platform to v6.1.1 2023-11-27 11:31:56 +00:00
renovate[bot]
d0b9a40f5d chore(deps): update dependency react-router-dom to v6.19.0 2023-11-20 12:22:39 +00:00
renovate[bot]
3f815b386f chore(deps): update dependency @edx/frontend-build to v13.0.8 2023-11-20 10:06:43 +00:00
renovate[bot]
e9bb918925 chore(deps): update actions/checkout action to v4 (#336)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-16 12:21:39 +05:00
renovate[bot]
9b1a3e994a chore(deps): update actions/setup-node action to v4 (#364)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-16 11:44:27 +05:00
Bilal Qamar
7253f9de2b feat: bumped frontend-platform version (#367) 2023-11-15 17:30:54 +05:00
Bilal Qamar
3e6ccb2ea1 Revert "chore: bumped frontend-platform version (#365)" (#366)
This reverts commit 7c3c925838.
2023-11-15 17:11:08 +05:00
Bilal Qamar
7c3c925838 chore: bumped frontend-platform version (#365) 2023-11-15 16:51:39 +05:00
renovate[bot]
cde76129af chore(deps): update dependency @edx/frontend-build to v13.0.5 2023-11-13 10:09:37 +00:00
renovate[bot]
29050d109f chore(deps): update dependency react-router-dom to v6.18.0 2023-11-06 16:36:59 +00:00
renovate[bot]
5caf0ea549 chore(deps): update dependency @edx/frontend-build to v13.0.4 2023-11-06 11:19:32 +00:00
renovate[bot]
3571e5c3ed fix(deps): update dependency @edx/paragon to v21.5.6 2023-10-30 14:35:46 +00:00
renovate[bot]
1011854f51 chore(deps): update dependency react-router-dom to v6.17.0 2023-10-30 09:35:57 +00:00
renovate[bot]
a5859702b5 chore(deps): update dependency @edx/frontend-build to v13.0.3 2023-10-30 07:46:50 +00:00
Bilal Qamar
2b3a13a5a0 chore: bumped frontend-platform version (#356) 2023-10-24 13:58:44 +05:00
Feanil Patel
ca4b4905b7 chore: Update to the new version of brand-openedx in the new scope. (#354)
Part of https://github.com/openedx/axim-engineering/issues/23

This updates the `@edx/brand` alias to point to the `brand-openedx` package at
the `openedx` scope. This does not impact imports because this package is used
via an alias.
2023-10-20 17:17:37 -04:00
dependabot[bot]
c7e42fda3d build(deps-dev): bump @babel/traverse from 7.22.5 to 7.23.2 (#353)
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.22.5 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-18 16:46:23 +05:00
Bilal Qamar
2266486398 feat: bumped frontend-platform to v6 (#352) 2023-10-18 16:05:49 +05:00
renovate[bot]
91cd859ffc chore(deps): update dependency @edx/frontend-platform to v5.6.1 2023-10-16 12:39:08 +00:00
renovate[bot]
c5e8a12f89 chore(deps): update dependency @testing-library/jest-dom to v5.17.0 2023-10-16 11:17:40 +00:00
Muhammad Abdullah Waheed
edd4cc4589 feat: babel-plugin-react-intl to babel-plugin-formatjs migration (#346)
* feat: babel-plugin-react-intl to babel-plugin-formatjs migration

* fix: upgraded frontend-build to fix security issue
2023-10-11 17:36:54 +05:00
renovate[bot]
6202398292 chore(deps): update dependency @edx/frontend-platform to v5.5.2 2023-10-09 16:04:26 +00:00
renovate[bot]
f8c26fc369 chore(deps): update dependency @testing-library/react to v12.1.5 2023-10-09 09:21:48 +00:00
Mashal Malik
63656116c5 refactor: update README file (#341)
* refactor: update readMe file

* refactor: update readMe file

* refactor: replace npm install with npm ci
2023-10-04 12:26:27 +05:00
Kristin Aoki
e2ccd1b56a feat: add studio footer for studio mfes 2023-10-02 10:49:55 -04:00
KristinAoki
c0f4b90505 Merge branch 'master' into KristinAoki/add-studio-footer 2023-10-02 10:30:49 -04:00
Mashal Malik
c3f5a07256 refactor: add @openedx in renovate automate configuration (#342)
Co-authored-by: Muhammad Abdullah Waheed <42172960+abdullahwaheed@users.noreply.github.com>
2023-10-02 19:06:37 +05:00
renovate[bot]
7450b8f061 chore(deps): update dependency @edx/paragon to v21.3.1 2023-10-02 09:25:06 +00:00
renovate[bot]
677d72813e chore(deps): update dependency @edx/frontend-build to v12.9.17 2023-10-02 08:00:58 +00:00
KristinAoki
abe24fb46a fix: remove unnecessary test 2023-09-29 16:10:23 -07:00
KristinAoki
ce5396c9ab fix: remove unused message 2023-09-29 15:25:39 -07:00
KristinAoki
dc0982dfd2 fix: remove unused code 2023-09-29 15:20:37 -07:00
KristinAoki
a9f6ca8b77 feat: add studio footer 2023-09-29 15:14:53 -07:00
renovate[bot]
d2e790ce99 chore(deps): update dependency @edx/paragon to v21.2.0 2023-09-25 12:16:29 +00:00
renovate[bot]
f1bd7d2ec2 chore(deps): update dependency @edx/frontend-platform to v5.4.0 2023-09-25 10:41:58 +00:00
renovate[bot]
425616defe chore(deps): update dependency @edx/paragon to v21 (#335)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-25 11:30:07 +05:00
renovate[bot]
fca4a6bd29 chore(deps): update dependency semantic-release to v21.1.2 2023-09-18 12:03:06 +00:00
renovate[bot]
bdaaa8541f chore(deps): update dependency @edx/frontend-platform to v5.3.2 2023-09-18 11:17:44 +00:00
renovate[bot]
0fce9cd9f7 chore(deps): update dependency @edx/frontend-platform to v5.3.1 2023-09-07 12:42:41 +00:00
Mashal Malik
e4adba4f66 refactor: update lock file version (#331)
Co-authored-by: Muhammad Abdullah Waheed <42172960+abdullahwaheed@users.noreply.github.com>
2023-08-31 12:44:46 +05:00
renovate[bot]
be8529246c chore(deps): update dependency semantic-release to v21.1.1 2023-08-28 13:35:14 +00:00
renovate[bot]
98f818e295 chore(deps): update dependency @edx/paragon to v20.46.2 2023-08-28 10:02:44 +00:00
renovate[bot]
fb869bc008 chore(deps): update dependency @edx/frontend-platform to v5.1.0 2023-08-21 15:37:16 +00:00
renovate[bot]
879f384809 fix(deps): update font awesome to v6.4.2 2023-08-21 14:20:50 +00:00
renovate[bot]
b65a80616b chore(deps): update dependency semantic-release to v21.0.9 2023-08-21 10:34:05 +00:00
renovate[bot]
d5f0bca2b7 chore(deps): update dependency @edx/frontend-build to v12.9.10 2023-08-21 07:38:30 +00:00
Syed Ali Abbas Zaidi
3e6eaa1ded feat: upgrade react router to v6 (#275)
* feat: upgrade react router to v6

* chore: update peer deps
2023-08-16 16:48:10 +05:00
renovate[bot]
48b56df115 chore(deps): update dependency @edx/frontend-platform to v4.6.1 2023-08-14 13:25:28 +00:00
renovate[bot]
1d2bfd8e40 chore(deps): update dependency @edx/frontend-build to v12.9.4 2023-08-14 09:47:01 +00:00
renovate[bot]
197f24a684 chore(deps): update dependency @edx/frontend-build to v12.9.3 2023-07-31 07:48:35 +00:00
renovate[bot]
0d6c99acbc chore(deps): update dependency @edx/frontend-build to v12.9.2 2023-07-24 12:20:51 +00:00
renovate[bot]
8213c3a66a chore(deps): update dependency @edx/paragon to v20.45.5 2023-07-24 09:23:45 +00:00
renovate[bot]
a6ae384f7e chore(deps): update dependency @edx/frontend-build to v12.8.66 2023-07-17 09:34:35 +00:00
renovate[bot]
dd612879e2 chore(deps): update dependency @edx/paragon to v20.45.2 2023-07-17 06:06:51 +00:00
renovate[bot]
248bab9370 chore(deps): update dependency @edx/frontend-build to v12.8.65 (#318)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-17 10:05:15 +05:00
renovate[bot]
92c879bf8f chore(deps): update dependency @edx/paragon to v20.45.1 2023-07-14 17:20:12 +00:00
Bilal Qamar
16275a2ecc fix: updated frontend-build to resolve word-wrap ReDoS vulnerability (#316) 2023-07-11 18:02:41 +05:00
renovate[bot]
970ca113e9 chore(deps): update dependency semantic-release to v21.0.7 2023-07-10 10:51:17 +00:00
renovate[bot]
65c459c53e chore(deps): update dependency @edx/frontend-build to v12.8.60 2023-07-10 06:09:06 +00:00
Bilal Qamar
961faafd3a fix: updated frontend-build to bump eslint version (#312)
* chore: updated frontend-build to bump eslint version

* refactor: updated package-lock
2023-07-06 18:12:51 +05:00
Bilal Qamar
16b468bdcc feat: update react & react-dom to v17 (#300)
* feat: update react & react-dom to v17

* build: update lock file

* build: update paragon version

* refactor: updated frontend-platform

---------

Co-authored-by: mashal-m <mashal.malik@arbisoft.com>
2023-07-05 12:09:22 +05:00
renovate[bot]
91d6ea6572 chore(deps): update dependency @edx/reactifex to v2.2.0 2023-07-03 14:20:16 +00:00
renovate[bot]
e13c7a6349 chore(deps): update dependency @edx/paragon to v20.45.0 2023-07-03 09:03:40 +00:00
renovate[bot]
ec288a6430 chore(deps): update dependency semantic-release to v21.0.6 2023-07-03 06:01:09 +00:00
renovate[bot]
10335c8075 chore(deps): update dependency @edx/frontend-build to v12.8.57 2023-06-26 07:55:51 +00:00
renovate[bot]
e09f1af861 chore(deps): update dependency @edx/browserslist-config to v1.2.0 2023-06-19 16:48:07 +00:00
renovate[bot]
c1e5885ecb chore(deps): update dependency @edx/frontend-build to v12.8.54 2023-06-19 10:14:52 +00:00
renovate[bot]
7849899658 chore(deps): update dependency semantic-release to v21.0.5 2023-06-12 12:46:28 +00:00
renovate[bot]
c508632126 chore(deps): update dependency @edx/frontend-build to v12.8.51 2023-06-12 09:04:04 +00:00
renovate[bot]
ef148e8d35 chore(deps): update dependency semantic-release to v21.0.3 2023-06-05 17:33:49 +00:00
renovate[bot]
b8a162f9c9 chore(deps): update dependency @edx/frontend-platform to v4.5.1 2023-06-05 12:33:51 +00:00
renovate[bot]
5643296f04 chore(deps): update dependency @edx/frontend-build to v12.8.40 2023-06-05 07:35:03 +00:00
renovate[bot]
5cf89420b3 chore(deps): update dependency @edx/frontend-platform to v4.5.0 2023-05-29 10:24:44 +00:00
renovate[bot]
176eb22711 chore(deps): update dependency @edx/frontend-build to v12.8.38 2023-05-29 08:07:48 +00:00
renovate[bot]
4380dd2a14 chore(deps): update dependency @edx/frontend-build to v12.8.27 2023-05-08 07:03:09 +00:00
renovate[bot]
a0080cd4ef chore(deps): update dependency semantic-release to v21.0.2 2023-05-01 12:16:03 +00:00
renovate[bot]
1f80f98acc chore(deps): update dependency @edx/frontend-build to v12.8.16 2023-05-01 08:21:01 +00:00
Bilal Qamar
d7ed4bfaf2 feat!: upgraded to node v18, added .nvmrc and updated workflows (#290)
BREAKING CHANGE: Ending support of @edx/frontend-platform v2 and v3 and now only support v4 with
2023-04-20 19:06:00 +05:00
Bilal Qamar
898e23d4bd fix: reverted node v18 upgrade in favor of major release (#289) 2023-04-20 16:53:03 +05:00
Brian Smith
7c07480f31 fix: release frontend-platform version update 2023-04-19 13:07:00 -04:00
renovate[bot]
f956c0ac93 chore(deps): update dependency semantic-release to v21 (#282)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-17 13:21:07 +05:00
renovate[bot]
d625329324 chore(deps): update dependency @edx/frontend-build to v12.8.10 (#287)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-17 12:13:43 +05:00
Omar Al-Ithawi
01ccaa6988 chore(deps): update frontend-platform version (#286)
Adds the intl-imports.js script for FC-0012 OEP-58.
2023-04-13 16:57:17 -04:00
Mashal Malik
c0dd43ce4a fix: update http-cache-semantics to 4.1.1 (#285) 2023-04-11 12:34:58 +05:00
Mashal Malik
56469df0b5 chore: Update peer dependency for react and react-dom (#284)
* refactor: remove react16 from peer dependency

* fix: update lock file and fix lint

* refactor: add 17 support of react in peerDep
2023-04-05 16:24:48 +05:00
renovate[bot]
0de4ad621e fix(deps): update font awesome to v6.4.0 2023-04-03 10:56:21 +00:00
Bilal Qamar
5d50e59672 feat: upgraded to node v18, added .nvmrc and updated workflows (#274)
* feat: upgraded to node v18, added .nvmrc and updated workflows

* refactor: upgraded frontend-build & frontend-platform
2023-03-29 16:44:40 +05:00
renovate[bot]
c715f0c4d4 chore(deps): update dependency @edx/paragon to v20.29.0 2023-03-27 06:46:26 +00:00
renovate[bot]
a62124ddf2 chore(deps): update dependency @edx/frontend-build to v12.7.0 2023-03-27 04:56:09 +00:00
renovate[bot]
8c222ddb0a chore(deps): update dependency @edx/frontend-build to v12.6.2 2023-03-24 09:02:39 +00:00
renovate[bot]
b4031ce345 chore(deps): update dependency @edx/paragon to v20.28.5 2023-03-20 11:42:17 +00:00
renovate[bot]
b787f5ecfe chore(deps): update dependency @edx/frontend-platform to v3.6.0 2023-03-20 08:47:07 +00:00
Yoiber
f87d47f42d chore(i18n): add more languages (#270)
* chore(i18n): add more languages

* chore(i18n): Pylint fixes
2023-03-14 20:25:36 +05:00
Mashal Malik
818ed5d179 chore: update transifex api from v2 to v3 (#272)
* chore: Update transifex api from v2 to v3

* refactor: remove duplicate line
2023-03-06 17:57:21 +05:00
Feanil Patel
07eb5892da Merge pull request #271 from openedx/repo_checks/ensure_workflows
Update standard workflow files.
2023-02-24 11:44:53 -05:00
Feanil Patel
3b8b18051f build: Updating a missing workflow file add-depr-ticket-to-depr-board.yml.
The .github/workflows/add-depr-ticket-to-depr-board.yml workflow is missing or needs an update to stay in
sync with the current standard for this workflow as defined in the
`.github` repo of the `openedx` GitHub org.
2023-02-23 14:02:05 -05:00
Feanil Patel
1c719d63cb build: Creating a missing workflow file add-remove-label-on-comment.yml.
The .github/workflows/add-remove-label-on-comment.yml workflow is missing or needs an update to stay in
sync with the current standard for this workflow as defined in the
`.github` repo of the `openedx` GitHub org.
2023-02-23 14:02:04 -05:00
Feanil Patel
dc7d2fadff build: Creating a missing workflow file self-assign-issue.yml.
The .github/workflows/self-assign-issue.yml workflow is missing or needs an update to stay in
sync with the current standard for this workflow as defined in the
`.github` repo of the `openedx` GitHub org.
2023-02-23 14:02:03 -05:00
renovate[bot]
b710800b2a fix(deps): update font awesome to v6.3.0 2023-02-13 13:41:53 +00:00
renovate[bot]
74ff35ae9a chore(deps): update dependency husky to v8 (#249)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-01 15:07:15 +05:00
renovate[bot]
e6835f9c56 fix(deps): update font awesome to v6 (#258)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Muhammad Abdullah Waheed <42172960+abdullahwaheed@users.noreply.github.com>
Co-authored-by: Bilal Qamar <59555732+BilalQamar95@users.noreply.github.com>
2023-02-01 15:00:03 +05:00
renovate[bot]
a0c19faa92 chore(deps): update dependency redux to v4.2.1 2023-01-30 12:55:34 +00:00
Bilal Qamar
fa37ebb828 chore: update dependency @edx/frontend-build to v12.4.19 (#266) 2023-01-26 11:40:08 +05:00
Muhammad Abdullah Waheed
a24972b64f Revert "chore(deps): update dependency semantic-release to v20 (#263)" (#264)
This reverts commit abb22a82ba.
2023-01-20 12:26:36 +05:00
renovate[bot]
abb22a82ba chore(deps): update dependency semantic-release to v20 (#263)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-20 12:20:04 +05:00
dependabot[bot]
1df0b94a8c build(deps): bump json5 from 1.0.1 to 1.0.2 (#261)
Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v1.0.1...v1.0.2)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-18 18:38:59 +05:00
renovate[bot]
d563e2f444 chore(deps): update dependency @edx/brand to v1.2.0 2023-01-09 10:14:23 +00:00
renovate[bot]
92a210f81d chore(deps): update dependency @edx/frontend-build to v12.4.15 2022-12-22 01:03:46 +00:00
Bilal Qamar
1b92a3c505 feat: updated paragon to v20 (#254)
* feat: updated paragon to v20
2022-12-08 17:18:26 +05:00
edX requirements bot
f88d47275b fix: -t flag added in pull translation command (#256) 2022-11-30 16:47:10 +05:00
renovate[bot]
26f3900602 chore(deps): update dependency @edx/frontend-build to v12.4.0 2022-11-28 08:28:51 +00:00
Muhammad Abdullah Waheed
a9db712240 Merge pull request #253 from openedx/bilalqamar95/dependabot-issues-resolution
refactor: bumped minimatch, recursive-readdir & loader-utils
2022-11-23 14:31:26 +05:00
Bilal Qamar
739cce6c50 refactor: bumped minimatch, recursive-readdir & loader-utils 2022-11-22 15:51:17 +05:00
renovate[bot]
3a19e219bb chore(deps): update actions/setup-node action to v3 (#209)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-15 19:06:09 +05:00
julianajlk
12511689e8 fix: Change frontend-platform peer dependency to v2 or v3 range 2022-11-14 20:19:15 +00:00
renovate[bot]
f084393cc9 chore(deps): update dependency semantic-release to v19.0.5 2022-11-14 07:58:10 +00:00
renovate[bot]
4035ff122c chore(deps): update dependency react-router-dom to v5.3.4 2022-11-14 07:52:15 +00:00
Leangseu Kim
159b5a842e feat: upgrade frontend platform to version 3 2022-11-10 11:08:04 +00:00
renovate[bot]
b06c8b5d01 chore(deps): update dependency react-redux to v7.2.9 2022-11-07 11:10:32 +00:00
renovate[bot]
c79da49208 chore(deps): update dependency enzyme-adapter-react-16 to v1.15.7 2022-11-07 08:43:12 +00:00
Leangseu Kim
82b3310a8f fix: downgrade frontend-platform 2022-11-01 16:09:19 -04:00
Abdullah Waheed
fcd641259b refactor: updated renovate config to auto update minor and patch versions of edx dependencies 2022-10-27 09:26:18 -03:00
Abdullah Waheed
509276df12 feat: added new translations in Makefile and updated all the translations 2022-10-27 09:25:07 -03:00
Bilal Qamar
4527baef5a refactor: upgraded frontend-build to v12 & resolved eslint issues 2022-10-26 10:35:10 -03:00
Muhammad Abdullah Waheed
8183143ae5 Merge pull request #225 from openedx/dependabot/npm_and_yarn/terser-4.8.1
build(deps): bump terser from 4.8.0 to 4.8.1
2022-10-25 16:07:08 +05:00
dependabot[bot]
91311f25da build(deps-dev): bump semantic-release from 17.4.7 to 19.0.3 (#217)
Bumps [semantic-release](https://github.com/semantic-release/semantic-release) from 17.4.7 to 19.0.3.
- [Release notes](https://github.com/semantic-release/semantic-release/releases)
- [Commits](https://github.com/semantic-release/semantic-release/compare/v17.4.7...v19.0.3)

---
updated-dependencies:
- dependency-name: semantic-release
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-25 16:06:26 +05:00
renovate[bot]
ccef5de855 chore(deps): update actions/checkout action to v3 (#205)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-25 15:39:10 +05:00
Muhammad Abdullah Waheed
01fa97055f Merge pull request #199 from openedx/dependabot/npm_and_yarn/async-2.6.4
build(deps): bump async from 2.6.3 to 2.6.4
2022-10-25 15:38:22 +05:00
Muhammad Abdullah Waheed
3cff0970a3 Merge pull request #191 from openedx/dependabot/npm_and_yarn/node-forge-1.3.0
build(deps): bump node-forge from 1.2.1 to 1.3.0
2022-10-25 15:37:26 +05:00
renovate[bot]
f2c879999d chore(deps): update dependency marked to 4.0.10 [security] (#186)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-25 15:36:30 +05:00
Ben Warzeski
3f18cf7c9d Merge pull request #236 from muselesscreator/platform_3.0
fix: frontend platform peer dependency to 3.x
2022-09-27 10:01:59 -04:00
Ben Warzeski
30796204b8 fix: frontend platform peer dependency to 3.x 2022-09-27 09:27:07 -04:00
dependabot[bot]
d206ecf3ad build(deps): bump async from 2.6.3 to 2.6.4
Bumps [async](https://github.com/caolan/async) from 2.6.3 to 2.6.4.
- [Release notes](https://github.com/caolan/async/releases)
- [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md)
- [Commits](https://github.com/caolan/async/compare/v2.6.3...v2.6.4)

---
updated-dependencies:
- dependency-name: async
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-26 18:32:49 +00:00
Ben Warzeski
f3094e1725 Merge pull request #234 from muselesscreator/platform_3.0
feat: update frontend-platform to v3.0.1
2022-09-26 14:31:09 -04:00
Ben Warzeski
5bbd266834 feat: update frontend-platform to v3.0.1 2022-09-26 14:20:26 -04:00
Sarina Canelake
37eed0578f Merge pull request #233 from openedx/tcril/fix-gh-org-url
Fix github url strings (org edx -> openedx)
2022-09-14 09:44:26 -04:00
Sarina Canelake
acbe489a7c fix: update path to .github workflows to read from openedx org 2022-09-10 18:03:48 -04:00
Sarina Canelake
2cfbb40265 fix: fix github url strings (org edx -> openedx) 2022-09-07 08:52:02 -04:00
Muhammad Abdullah Waheed
3e1264b710 Merge pull request #229 from openedx/abdullahwaheed/run-build-in-ci
Npm run build script in Github CI
2022-08-16 11:17:52 +05:00
Abdullah Waheed
bf60da6554 feat: added build script in github CI 2022-08-12 19:12:07 +05:00
renovate[bot]
cf879e53be fix(deps): update dependency @fortawesome/react-fontawesome to v0.2.0 2022-07-25 12:09:39 +00:00
dependabot[bot]
e0a634900d build(deps): bump terser from 4.8.0 to 4.8.1
Bumps [terser](https://github.com/terser/terser) from 4.8.0 to 4.8.1.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/commits)

---
updated-dependencies:
- dependency-name: terser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-20 21:53:15 +00:00
renovate[bot]
15ae025990 chore(deps): update dependency @edx/frontend-platform to v2.5.0 2022-07-18 10:39:03 +00:00
renovate[bot]
efd85745fd chore(deps): update dependency @edx/paragon to v19.25.3 2022-06-20 13:07:57 +00:00
Maman Khan
fc5df4af36 fix: removed depreciated package codecov (#220) 2022-06-20 08:06:00 +05:00
Adolfo R. Brandes
f657c719ec Merge pull request #219 from muselesscreator/platform_version_bump
feat: bump frontend-platform to 2.3.0
2022-06-15 22:22:32 +01:00
Ben Warzeski
6c346c18f9 feat: bump frontend-platform to 2.3.0 2022-06-14 15:56:58 -04:00
Renovate Bot
2b9c5affbc chore(deps): update dependency @edx/paragon to v19.25.1 2022-06-06 11:56:43 +00:00
Renovate Bot
4a13120d24 chore(deps): update dependency @edx/paragon to v19.25.0 2022-05-30 12:25:15 +00:00
Renovate Bot
8e0587f871 chore(deps): update dependency react-router-dom to v5.3.3 2022-05-23 12:26:35 +00:00
Renovate Bot
7cc2f74562 chore(deps): pin dependency semantic-release to v 2022-05-23 12:19:25 +00:00
Renovate Bot
3b13fc29b4 chore(deps): update dependency @edx/frontend-platform to v1.15.6 2022-05-16 20:54:51 +00:00
edX requirements bot
3f12c52221 chore!: Dropped support for Node 12 (#207)
BREAKING CHANGE: Dropped Node12 support
2022-05-16 20:56:26 +05:00
Renovate Bot
826d071566 chore(deps): update dependency @edx/paragon to v19.22.1 2022-05-16 11:37:34 +00:00
edX requirements bot
b66ae651b6 feat: Add package-lock file version check (#206) 2022-05-12 12:22:31 +05:00
Renovate Bot
d23a4e2443 chore(deps): update dependency redux to v4.2.0 2022-05-09 10:46:31 +00:00
Renovate Bot
898b90eb07 chore(deps): update dependency @edx/paragon to v19.20.0 2022-05-02 11:29:16 +00:00
Renovate Bot
dbb806d0a3 chore(deps): update dependency @edx/frontend-build to v9.2.2 2022-05-02 11:21:30 +00:00
Renovate Bot
702bce8587 chore(deps): update dependency prop-types to v15.8.1 2022-04-25 11:43:11 +00:00
Renovate Bot
0bd6c9d452 chore(deps): update dependency @edx/paragon to v19.19.0 2022-04-25 11:35:17 +00:00
Renovate Bot
3d4d356665 chore(deps): update dependency @edx/paragon to v19.18.0 2022-04-18 14:59:37 +00:00
Renovate Bot
e656865502 chore(deps): update dependency react-router-dom to v5.3.1 2022-04-18 14:51:49 +00:00
Renovate Bot
2b4283ac5f chore(deps): update dependency @edx/paragon to v19.15.0 2022-04-11 12:59:17 +00:00
Renovate Bot
38d9a2076b fix(deps): update dependency @fortawesome/react-fontawesome to v0.1.18 2022-04-11 12:51:38 +00:00
Usama Sadiq
a31d1a5387 Merge pull request #190 from openedx/jenkins/transifex-client-migration-dcc3617
fix: transifex migration to new client
2022-04-06 12:43:06 +05:00
UsamaSadiq
a374cee7dd build: update transifex pull translations command 2022-04-05 15:35:38 +05:00
Renovate Bot
3f50a4d333 chore(deps): update dependency react-redux to v7.2.8 2022-04-04 11:11:31 +00:00
Renovate Bot
45f0f20f0f chore(deps): update dependency @edx/frontend-build to v9.1.4 2022-04-04 11:03:03 +00:00
dependabot[bot]
fb06f7d9f9 build(deps): bump node-forge from 1.2.1 to 1.3.0
Bumps [node-forge](https://github.com/digitalbazaar/forge) from 1.2.1 to 1.3.0.
- [Release notes](https://github.com/digitalbazaar/forge/releases)
- [Changelog](https://github.com/digitalbazaar/forge/blob/main/CHANGELOG.md)
- [Commits](https://github.com/digitalbazaar/forge/compare/v1.2.1...v1.3.0)

---
updated-dependencies:
- dependency-name: node-forge
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-26 06:39:29 +00:00
Adolfo R. Brandes
29a5db5e1a Merge pull request #178 from ayrtonlr/master
Change the logo to link to the LMS
2022-03-24 06:46:46 -03:00
Ayrton Lima
7982251640 fix: change logo anchor tag to link to the LMS 2022-03-23 20:21:53 -03:00
edX requirements bot
9824aecd16 fix: transifex migration to new client 2022-03-17 08:47:05 -04:00
Renovate Bot
dcc361747e chore(deps): update dependency @edx/frontend-build to v9.1.2 2022-03-14 10:12:05 +00:00
Jawayria
863ecb41bd Merge pull request #187 from openedx/jawayria/upgrade-deps
fix: Upgraded dependencies for Node 16 support
2022-03-04 14:47:23 +05:00
Jawayria
f6d02d177d fix: Upgraded dependencies for Node 16 support 2022-03-04 13:53:46 +05:00
David Joy
7e196f48cf build: We no longer want this CODEOWNERS file.
The community-engineering team no longer exists.
2022-02-28 09:53:13 -05:00
Jawayria
46e4c78af8 Merge pull request #185 from openedx/jawayria/fix-release-ci
fix: Added semantic-release v17 in package.json to fix release CI
2022-02-28 18:44:58 +05:00
Jawayria
affbcbeb19 fix: Added semantic-release v17 in package.json to fix release CI 2022-02-28 17:31:34 +05:00
Jawayria
8c10919eb9 Merge pull request #177 from openedx/jenkins/node-16-2b56d27
feat: Added support for node v16
2022-02-25 17:25:02 +05:00
edX requirements bot
314781ac0b feat: Added support for Node v16 2022-02-25 17:22:36 +05:00
Sarina Canelake
b75ab299bd Merge DEPR automation workflow
Add DEPR workflow automation
2022-02-24 15:21:45 -05:00
Sarina Canelake
1fb4475b9a build: add DEPR workflow automation 2022-02-23 14:36:53 -05:00
Renovate Bot
2b56d270a2 chore(deps): update dependency @edx/frontend-platform to v1.14.1 2021-11-29 09:47:56 +00:00
Renovate Bot
395c9240a0 chore(deps): update dependency @edx/frontend-platform to v1.14.0 2021-11-08 09:03:26 +00:00
Renovate Bot
60ceedced9 chore(deps): update dependency redux to v4.1.2 2021-11-01 09:59:30 +00:00
Renovate Bot
032e4dd73f chore(deps): update dependency react-redux to v7.2.6 2021-11-01 09:48:29 +00:00
Renovate Bot
212bc015ad fix(deps): update dependency @fortawesome/react-fontawesome to v0.1.16 2021-10-25 09:42:17 +00:00
Renovate Bot
d72eaa6fab chore(deps): update dependency husky to v7.0.4 2021-10-25 09:30:59 +00:00
Ned Batchelder
1f5b74de21 build: no need for local commitlint.config.js 2021-10-22 14:23:04 -04:00
Ned Batchelder
07728e1498 build: use the organization commitlint check 2021-10-07 13:48:27 -04:00
Renovate Bot
5d44307136 chore(deps): update commitlint monorepo to v13.2.0 2021-10-04 08:21:39 +00:00
Renovate Bot
1769069cfe chore(deps): update dependency @edx/frontend-platform to v1.12.7 2021-09-20 08:33:36 +00:00
Renovate Bot
2fb0cac399 chore(deps): update dependency @edx/frontend-platform to v1.12.6 2021-09-13 11:48:51 +00:00
Renovate Bot
807dc66714 chore(deps): update dependency react-router-dom to v5.3.0 2021-09-06 08:38:27 +00:00
Renovate Bot
ea837695e9 chore(deps): update dependency react-redux to v7.2.5 2021-09-06 08:26:11 +00:00
stvn
e4801b8b81 merge(#135): renovate/codecov-codecov-action-2.x
commits
=======
- chore(deps): update codecov/codecov-action action to v2
2021-09-01 15:35:58 -07:00
Renovate Bot
89337c4819 chore(deps): update codecov/codecov-action action to v2 2021-08-30 08:41:29 +00:00
Renovate Bot
c75f6c079e chore(deps): update dependency husky to v7.0.2 2021-08-30 08:41:09 +00:00
Renovate Bot
77c251467c chore(deps): update dependency @edx/frontend-platform to v1.12.4 2021-08-23 09:20:49 +00:00
Renovate Bot
caba23d51b chore(deps): update dependency @edx/frontend-platform to v1.12.3 2021-08-16 06:55:48 +00:00
stvn
efbae26c56 merge(#137): renovate/major-commitlint-monorepo
commits
=======
- chore(deps): update commitlint monorepo to v13
2021-08-10 10:34:25 -07:00
Renovate Bot
efeacb8b73 chore(deps): update commitlint monorepo to v13 2021-08-10 06:39:06 +00:00
stvn
a0865c9c56 merge(#131): renovate/husky-7.x
commits
=======
- chore(deps): update dependency husky to v7
2021-08-09 23:34:47 -07:00
Renovate Bot
7cfd6932d5 chore(deps): update dependency husky to v7 2021-08-09 08:59:46 +00:00
Renovate Bot
e2f92992b6 fix(deps): update font awesome 2021-08-09 08:49:15 +00:00
Renovate Bot
f37e6c164e chore(deps): update dependency redux to v4.1.1 2021-08-09 08:35:40 +00:00
Renovate Bot
fef30fb8b5 chore(deps): update dependency @edx/frontend-platform to v1.11.3 2021-08-02 06:43:59 +00:00
Renovate Bot
bcac04d0cc chore(deps): update dependency codecov to v3.8.3 2021-07-26 07:06:11 +00:00
Renovate Bot
15ff0203ab chore(deps): update dependency @edx/frontend-platform to v1.11.1 2021-07-12 08:08:45 +00:00
stvn
940294d2a0 merge(#93): renovate/major-commitlint-monorepo
commits
=======
- chore(deps): update commitlint monorepo to v12
2021-06-14 15:35:19 -07:00
Renovate Bot
acd4a843a4 chore(deps): update commitlint monorepo to v12 2021-06-14 20:17:17 +00:00
Renovate Bot
d8ee5425bf chore(deps): update dependency @edx/paragon to v12.8.0 2021-06-14 20:13:11 +00:00
Renovate Bot
1d9e8d3c47 chore(deps): update dependency @edx/frontend-platform to v1.11.0 2021-06-14 20:04:09 +00:00
stvn
4d370f8a75 merge(#117): renovate/husky-6.x
commits
=======
- chore(deps): update dependency husky to v6
2021-06-11 23:22:51 -07:00
Renovate Bot
2a2be8eddb chore(deps): update dependency husky to v6 2021-06-11 20:56:20 +00:00
Renovate Bot
e7624adbfb chore(deps): update dependency @edx/frontend-build to v5.6.14 2021-06-11 20:45:14 +00:00
Renovate Bot
5d0a418e85 chore(deps): update dependency redux to v4.1.0 2021-06-09 07:17:17 +00:00
stvn
f5b18cdd54 merge(#111): renovate/actions-setup-node-2.x
commits
=======
- chore(deps): update actions/setup-node action to v2
2021-06-08 10:26:22 -07:00
Renovate Bot
d5d290bcbe chore(deps): update actions/setup-node action to v2 2021-06-08 08:45:20 +00:00
Renovate Bot
49c02c157b chore(deps): update react monorepo to v16.14.0 2021-06-08 08:35:06 +00:00
Renovate Bot
94b4aa7402 chore(deps): update dependency react-redux to v7.2.4 2021-06-08 08:16:27 +00:00
stvn
a9fe23287f merge(#19): build/renovate
commits
=======
- build(renovate): fix json syntax
2021-06-07 22:38:00 -07:00
stvn
30874b4972 build(renovate): fix json syntax 2021-06-07 22:37:21 -07:00
stvn
14d53ef514 merge(#125): build/renovate-stricter
commits
=======
- build(renovate): be more selective about automerging devDependencies
2021-06-04 13:41:14 -07:00
stvn
5c9270d88a build(renovate): be more selective about automerging devDependencies 2021-06-04 13:22:06 -07:00
Renovate Bot
f70ca27b34 chore(deps): update dependency react-router-dom to v5.2.0 2021-06-04 01:53:30 +00:00
Renovate Bot
d247e88541 fix(deps): update font awesome 2021-06-04 01:32:35 +00:00
Renovate Bot
ea257afcca chore(deps): update dependency husky to v3.1.0 2021-06-03 22:39:52 +00:00
Renovate Bot
24603cf98f chore(deps): update dependency enzyme-adapter-react-16 to v1.15.6 2021-06-03 22:14:10 +00:00
Renovate Bot
4249bbc6df chore(deps): update dependency enzyme to v3.11.0 2021-06-03 21:47:26 +00:00
Renovate Bot
611beb8294 chore(deps): pin dependencies 2021-06-03 21:20:20 +00:00
Renovate Bot
87803604b1 chore(deps): update dependency codecov to v3.8.2 2021-06-03 20:52:09 +00:00
Renovate Bot
99344d93a4 chore(deps): update commitlint monorepo 2021-06-03 20:21:45 +00:00
stvn
2a718743ea merge(#124): build/renovate
commits
=======
- build(renovate): be more liberal about what automerges
2021-06-03 11:15:55 -07:00
stvn
4fe8909ad5 build(renovate): be more liberal about what automerges
based on https://github.com/edx/frontend-app-account .
2021-06-03 10:48:02 -07:00
stvn
a0dc37dfb5 merge: stvn/own/code 2021-05-26 13:42:27 -07:00
stvn
e4917030fa build: add CODEOWNERS; edx/community-engineering
Background
==========
As part of our Squad-based ownership, we should stay on top of what
happens in these repositories. However, due to the number of
repositories (and subsequently pull requests) across the edX ecosystem,
it is challenging to stay on top of notifications, separating the
'signal' from the 'noise'. Email filters can go a long way to taming
Inbox notifications, but this is manual and requires maintenance as
Squad ownership changes. It also fails to account for Github-specific behavior.

Proposal
========
By leveraging Github support for `CODEOWNERS` files [1],
we can ensure that our team is at least CCed explicitly, here,
in the form a requested review. This request is just that, a request,
not a requirement; we are not enacting any new merge requirements
at this time.

- [1] https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners
2021-05-26 12:15:49 -07:00
David Joy
c756f42c28 docs: Updating README with repository details. (#122)
* docs: Specify component usage requirements in the README.

This includes both the component's dependency on @edx/frontend-platform, as well as its required environment variables.

* docs: fix verbatim formatting

* docs: improving footer README

Including headings and formatting consistent with frontend-component-header.  Hopefully others soon.
2021-05-14 12:57:09 -04:00
Renovate Bot
1b6a5eda0b chore(deps): update dependency @edx/frontend-platform to v1.8.4 2021-02-07 11:57:37 +00:00
David Joy
cbaf4bbb9e fix: remove unnecessary paragon peer dependency (#114)
The actual component code doesn’t use paragon.  Only the example app does, meaning this isn’t really a peer dependency.
2021-02-04 14:25:31 -05:00
Renovate Bot
c990cbbf5e fix(deps): update font awesome 2021-01-31 09:56:38 +00:00
Renovate Bot
b41af87b8e chore(deps): update dependency @edx/frontend-platform to v1.8.1 2021-01-23 11:58:46 +00:00
Carla Duarte
a7d59a874c Merge pull request #108 from edx/ciduarte/AA-465
fix: remove unnecessary aria-label
2021-01-07 09:33:22 -05:00
Carla Duarte
d66d3b7b62 fix: remove unnecessary aria-label 2021-01-06 17:23:50 -05:00
Jawayria
7095e79471 Merge pull request #103 from Jawayria/update-badge
Updated the build status badge to point to travis-ci.com
2020-12-17 13:47:00 +05:00
Renovate Bot
4a9b3f2bfb fix(deps): update font awesome 2020-12-11 09:58:08 +00:00
Jawayria
f64faf9f14 Updated the build status badge to point to travis-ci.com 2020-11-20 15:01:06 +05:00
45 changed files with 29456 additions and 19157 deletions

View File

@@ -8,6 +8,11 @@ LMS_BASE_URL=http://localhost:18000
LOGIN_URL=http://localhost:18000/login
LOGOUT_URL=http://localhost:18000/login
MARKETING_SITE_BASE_URL=http://localhost:18000
TERMS_OF_SERVICE_URL=null
PRIVACY_POLICY_URL=null
SUPPORT_EMAIL=null
STUDIO_BASE_URL=http://localhost:18010
ENABLE_ACCESSIBILITY_PAGE=false
ORDER_HISTORY_URL=localhost:1996/orders
REFRESH_ACCESS_TOKEN_ENDPOINT=http://localhost:18000/login_refresh
SEGMENT_KEY=null

View File

@@ -1,3 +1,4 @@
const { createConfig } = require('@edx/frontend-build');
// eslint-disable-next-line import/no-extraneous-dependencies
const { createConfig } = require('@openedx/frontend-build');
module.exports = createConfig('eslint');

View File

@@ -0,0 +1,19 @@
# Run the workflow that adds new tickets that are either:
# - labelled "DEPR"
# - title starts with "[DEPR]"
# - body starts with "Proposal Date" (this is the first template field)
# to the org-wide DEPR project board
name: Add newly created DEPR issues to the DEPR project board
on:
issues:
types: [opened]
jobs:
routeissue:
uses: openedx/.github/.github/workflows/add-depr-ticket-to-depr-board.yml@master
secrets:
GITHUB_APP_ID: ${{ secrets.GRAPHQL_AUTH_APP_ID }}
GITHUB_APP_PRIVATE_KEY: ${{ secrets.GRAPHQL_AUTH_APP_PEM }}
SLACK_BOT_TOKEN: ${{ secrets.SLACK_ISSUE_BOT_TOKEN }}

View File

@@ -0,0 +1,20 @@
# This workflow runs when a comment is made on the ticket
# If the comment starts with "label: " it tries to apply
# the label indicated in rest of comment.
# If the comment starts with "remove label: ", it tries
# to remove the indicated label.
# Note: Labels are allowed to have spaces and this script does
# not parse spaces (as often a space is legitimate), so the command
# "label: really long lots of words label" will apply the
# label "really long lots of words label"
name: Allows for the adding and removing of labels via comment
on:
issue_comment:
types: [created]
jobs:
add_remove_labels:
uses: openedx/.github/.github/workflows/add-remove-label-on-comment.yml@master

View File

@@ -1,17 +1,25 @@
name: Default CI
on: [push, pull_request]
on:
push:
branches:
- master
pull_request:
branches:
- '**'
jobs:
build:
tests:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Nodejs Env
run: echo "NODE_VER=`cat .nvmrc`" >> $GITHUB_ENV
- name: Setup Nodejs
uses: actions/setup-node@v1
uses: actions/setup-node@v4
with:
node-version: 12
node-version: ${{ env.NODE_VER }}
- name: Install dependencies
run: npm ci
- name: Validate package-lock.json changes
@@ -20,7 +28,9 @@ jobs:
run: npm run lint
- name: Test
run: npm run test
- name: Build
run: npm run build
- name: i18n_extract
run: npm run i18n_extract
- name: Coverage
uses: codecov/codecov-action@v1
uses: codecov/codecov-action@v3

10
.github/workflows/commitlint.yml vendored Normal file
View File

@@ -0,0 +1,10 @@
# Run commitlint on the commit messages in a pull request.
name: Lint Commit Messages
on:
- pull_request
jobs:
commitlint:
uses: openedx/.github/.github/workflows/commitlint.yml@master

View File

@@ -0,0 +1,13 @@
#check package-lock file version
name: Lockfile Version check
on:
push:
branches:
- master
pull_request:
jobs:
version-check:
uses: openedx/.github/.github/workflows/lockfile-check.yml@master

View File

@@ -2,36 +2,39 @@ name: Release CI
on:
push:
branches:
- master
- master
- alpha
jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: 12
- name: Install dependencies
run: npm ci
- name: Validate package-lock.json changes
run: make validate-no-uncommitted-package-lock-changes
- name: Lint
run: npm run lint
- name: Test
run: npm run test
- name: i18n_extract
run: npm run i18n_extract
- name: Coverage
uses: codecov/codecov-action@v1
- name: Build
run: npm run build
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.SEMANTIC_RELEASE_GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.SEMANTIC_RELEASE_NPM_TOKEN }}
run: npx semantic-release
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Nodejs Env
run: echo "NODE_VER=`cat .nvmrc`" >> $GITHUB_ENV
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VER }}
- name: Install dependencies
run: npm ci
- name: Validate package-lock.json changes
run: make validate-no-uncommitted-package-lock-changes
- name: Lint
run: npm run lint
- name: Test
run: npm run test
- name: i18n_extract
run: npm run i18n_extract
- name: Coverage
uses: codecov/codecov-action@v3
- name: Build
run: npm run build
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.SEMANTIC_RELEASE_GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.SEMANTIC_RELEASE_NPM_TOKEN }}
run: npx semantic-release

12
.github/workflows/self-assign-issue.yml vendored Normal file
View File

@@ -0,0 +1,12 @@
# This workflow runs when a comment is made on the ticket
# If the comment starts with "assign me" it assigns the author to the
# ticket (case insensitive)
name: Assign comment author to ticket if they say "assign me"
on:
issue_comment:
types: [created]
jobs:
self_assign_by_comment:
uses: openedx/.github/.github/workflows/self-assign-issue.yml@master

1
.nvmrc Normal file
View File

@@ -0,0 +1 @@
18

View File

@@ -1,5 +1,8 @@
{
"branch": "master",
"branches": [
"master",
{name: "alpha", prerelease: true}
],
"tagFormat": "v${version}",
"verifyConditions": [
"@semantic-release/npm",

View File

@@ -1,8 +1,9 @@
[main]
host = https://www.transifex.com
[edx-platform.frontend-component-footer]
[o:open-edx:p:edx-platform:r:frontend-component-footer]
file_filter = src/i18n/messages/<lang>.json
source_file = src/i18n/transifex_input.json
source_lang = en
type = KEYVALUEJSON
type = KEYVALUEJSON

18
Makefile Executable file → Normal file
View File

@@ -1,14 +1,12 @@
transifex_resource = frontend-component-footer
transifex_langs = "ar,fr,es_419,zh_CN"
export TRANSIFEX_RESOURCE = frontend-component-footer
transifex_langs = "ar,fr,es_419,zh_CN,pt,it,de,uk,ru,hi,fr_CA,it_IT,pt_PT,de_DE"
transifex_utils = ./node_modules/.bin/transifex-utils.js
i18n = ./src/i18n
transifex_input = $(i18n)/transifex_input.json
tx_url1 = https://www.transifex.com/api/2/project/edx-platform/resource/$(transifex_resource)/translation/en/strings/
tx_url2 = https://www.transifex.com/api/2/project/edx-platform/resource/$(transifex_resource)/source/
# This directory must match .babelrc .
transifex_temp = ./temp/babel-plugin-react-intl
transifex_temp = ./temp/babel-plugin-formatjs
build:
rm -rf ./dist
@@ -19,7 +17,7 @@ build:
@rm -rf dist/__mocks__
requirements:
npm install
npm ci
i18n.extract:
# Pulling display strings from .jsx files into .json files...
@@ -42,15 +40,15 @@ push_translations:
# Pushing strings to Transifex...
tx push -s
# Fetching hashes from Transifex...
./node_modules/reactifex/bash_scripts/get_hashed_strings.sh $(tx_url1)
./node_modules/@edx/reactifex/bash_scripts/get_hashed_strings_v3.sh
# Writing out comments to file...
$(transifex_utils) $(transifex_temp) --comments
$(transifex_utils) $(transifex_temp) --comments --v3-scripts-path
# Pushing comments to Transifex...
./node_modules/reactifex/bash_scripts/put_comments.sh $(tx_url2)
./node_modules/@edx/reactifex/bash_scripts/put_comments_v3.sh
# Pulls translations from Transifex.
pull_translations:
tx pull -f --mode reviewed --language=$(transifex_langs)
tx pull -t -f --mode reviewed --languages=$(transifex_langs)
# This target is used by Travis.
validate-no-uncommitted-package-lock-changes:

View File

@@ -1,61 +1,194 @@
#########################
frontend-component-footer
=========================
#########################
|Build Status| |Coveralls| |npm_version| |npm_downloads| |license|
|semantic-release|
|Build Status| |Codecov| |npm_version| |npm_downloads| |license| |semantic-release|
frontend-component-footer is a library containing a site footer
component for use when building Open edX frontend applications.
********
Purpose
********
Usage
-----
A generic footer for Open edX micro-frontend applications. It includes a logo and an optional language selector dropdown.
To install frontend-component-footer into your project::
***************
Getting Started
***************
npm i --save @edx/frontend-component-footer
Prerequisites
=============
Component Usage::
The `devstack`_ is currently recommended as a development environment for your
new MFE. If you start it with ``make dev.up.lms`` that should give you
everything you need as a companion to this frontend.
import Footer, { messages } from '@edx/frontend-component-footer';
Note that it is also possible to use `Tutor`_ to develop an MFE. You can refer
to the `relevant tutor-mfe documentation`_ to get started using it.
...
.. _Devstack: https://github.com/openedx/devstack
<Footer
onLanguageSelected={(languageCode) => {/* set language */}}
supportedLanguages={[
{ label: 'English', value: 'en'},
{ label: 'Español', value: 'es' },
]}
/>
- onLanguageSelected (optional)
- supportedLanguages (optional)
Styles (project.scss)::
@import '@edx/frontend-component-footer/src/footer.scss';
.. _Tutor: https://github.com/overhangio/tutor
.. _relevant tutor-mfe documentation: https://github.com/overhangio/tutor-mfe#mfe-development
Requirements
------------
============
This component uses ``@edx/frontend-i18n``. Any containing app must provide ``@edx/frontend-i18n`` as a peer dependency, and be wrapped inside an ``IntlProvider`` element, whether or not your consuming application is actually localized. For a basic default locale (English) version, follow the ``IntlProvider`` example in the sample application in `src/index.jsx <src/index.jsx>`__.
This component uses ``@edx/frontend-platform`` services such as i18n, analytics, configuration, and the ``AppContext`` React component, and expects that it has been loaded into a micro-frontend that has been properly initialized via ``@edx/frontend-platform``'s ``initialize`` function. `Please visit the frontend template application to see an example. <https://github.com/openedx/frontend-template-application/blob/3355bb3a96232390e9056f35b06ffa8f105ed7ca/src/index.jsx>`_
Environment Variables
=====================
This component requires that the following environment variable be set by the consuming micro-frontend.
* ``LMS_BASE_URL`` - The URL of the LMS of your Open edX instance.
* ``LOGO_TRADEMARK_URL`` - This is a URL to a logo for use in the footer. This is a different environment variable than ``LOGO_URL`` (used in frontend-component-header) to accommodate sites that would like to have additional trademark information on a logo in the footer, such as a (tm) or (r) symbol.
Installation
============
To install this footer into your Open edX micro-frontend, run the following command in your MFE:
``npm i --save @edx/frontend-component-footer``
This will make the component available to be imported into your application.
Cloning and Startup
===================
.. code-block::
1. Clone your new repo:
``git clone https://github.com/openedx/frontend-component-footer.git``
2. Use node v18.x.
The current version of the micro-frontend build scripts support node 18.
Using other major versions of node *may* work, but this is unsupported. For
convenience, this repository includes an .nvmrc file to help in setting the
correct node version via `nvm <https://github.com/nvm-sh/nvm>`_.
3. Install npm dependencies:
``cd frontend-component-footer && npm ci``
4. Start the dev server:
``npm start``
Usage
=====
This library has the following exports:
* ``(default)``: The footer as a React component.
* ``messages``: Internationalization messages suitable for use with `@edx/frontend-platform/i18n <https://edx.github.io/frontend-platform/module-Internationalization.html>`_
* ``dist/footer.scss``: A SASS file which contains style information for the component. It should be imported into the micro-frontend's own SCSS file.
<Footer /> component props
==========================
* onLanguageSelected: Provides the footer with an event handler for when the user selects a
language from its dropdown.
* supportedLanguages: An array of objects representing available languages. See example below for object shape.
Examples
========
Component Usage Example::
import Footer, { messages } from '@edx/frontend-component-footer';
...
<Footer
onLanguageSelected={(languageCode) => {/* set language */}}
supportedLanguages={[
{ label: 'English', value: 'en'},
{ label: 'Español', value: 'es' },
]}
/>
* `An example of minimal component and messages usage. <https://github.com/openedx/frontend-template-application/blob/3355bb3a96232390e9056f35b06ffa8f105ed7ca/src/index.jsx#L23>`_
* `An example of SCSS file usage. <https://github.com/openedx/frontend-template-application/blob/3cd5485bf387b8c479baf6b02bf59e3061dc3465/src/index.scss#L9>`_
Development
-----------
===========
Start the dev server::
Install dependencies::
npm i && npm start
npm i
Build the component::
Start the development server::
npm run build
npm start
.. |Build Status| image:: https://api.travis-ci.org/edx/frontend-component-footer.svg?branch=master
:target: https://travis-ci.org/edx/frontend-component-footer
.. |Coveralls| image:: https://img.shields.io/coveralls/edx/frontend-component-footer.svg?branch=master
:target: https://coveralls.io/github/edx/frontend-component-footer
Build a production distribution::
npm run build
License
=======
The code in this repository is licensed under the AGPLv3 unless otherwise
noted.
Please see `LICENSE <LICENSE>`_ for details.
Contributing
============
Contributions are very welcome. Please read `How To Contribute`_ for details.
.. _How To Contribute: https://openedx.org/r/how-to-contribute
This project is currently accepting all types of contributions, bug fixes,
security fixes, maintenance work, or new features. However, please make sure
to have a discussion about your new feature idea with the maintainers prior to
beginning development to maximize the chances of your change being accepted.
You can start a conversation by creating a new issue on this repo summarizing
your idea.
Getting Help
===========
If you're having trouble, we have discussion forums at
https://discuss.openedx.org where you can connect with others in the community.
Our real-time conversations are on Slack. You can request a `Slack
invitation`_, then join our `community Slack workspace`_. Because this is a
frontend repository, the best place to discuss it would be in the `#wg-frontend
channel`_.
For anything non-trivial, the best path is to open an issue in this repository
with as many details about the issue you are facing as you can provide.
https://github.com/openedx/frontend-component-footer/issues
For more information about these options, see the `Getting Help`_ page.
.. _Slack invitation: https://openedx.org/slack
.. _community Slack workspace: https://openedx.slack.com/
.. _#wg-frontend channel: https://openedx.slack.com/archives/C04BM6YC7A6
.. _Getting Help: https://openedx.org/community/connect
The Open edX Code of Conduct
============================
All community members are expected to follow the `Open edX Code of Conduct`_.
.. _Open edX Code of Conduct: https://openedx.org/code-of-conduct/
Reporting Security Issues
=========================
Please do not report security issues in public. Please email security@openedx.org.
.. |Build Status| image:: https://api.travis-ci.com/edx/frontend-component-footer.svg?branch=master
:target: https://travis-ci.com/edx/frontend-component-footer
.. |Codecov| image:: https://img.shields.io/codecov/c/github/edx/frontend-component-footer
:target: @edx/frontend-component-footer
.. |npm_version| image:: https://img.shields.io/npm/v/@edx/frontend-component-footer.svg
:target: @edx/frontend-component-footer
.. |npm_downloads| image:: https://img.shields.io/npm/dt/@edx/frontend-component-footer.svg

View File

@@ -1,3 +1,3 @@
const { createConfig } = require('@edx/frontend-build');
const { createConfig } = require('@openedx/frontend-build');
module.exports = createConfig('babel-preserve-modules');

View File

@@ -1,3 +0,0 @@
module.exports = {
extends: ['@commitlint/config-angular'],
};

View File

@@ -1,6 +1,6 @@
@import "@edx/brand/paragon/fonts";
@import "@edx/brand/paragon/variables";
@import "@edx/paragon/scss/core/core";
@import "@openedx/paragon/scss/core/core";
@import "@edx/brand/paragon/overrides";
@import "@edx/frontend-component-footer/footer";

View File

@@ -1,4 +1,4 @@
const { createConfig } = require('@edx/frontend-build');
const { createConfig } = require('@openedx/frontend-build');
module.exports = createConfig('jest', {
setupFiles: [

47431
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -8,65 +8,63 @@
},
"scripts": {
"build": "make build",
"i18n_extract": "BABEL_ENV=i18n fedx-scripts babel src --quiet > /dev/null",
"i18n_extract": "fedx-scripts formatjs extract",
"lint": "fedx-scripts eslint --ext .js --ext .jsx .",
"snapshot": "fedx-scripts jest --updateSnapshot",
"start": "fedx-scripts webpack-dev-server --progress",
"test": "fedx-scripts jest --coverage"
"start:with-theme": "paragon install-theme && npm start && npm install",
"test": "fedx-scripts jest"
},
"files": [
"/dist"
],
"husky": {
"hooks": {
"pre-commit": "npm run lint",
"commit-msg": "commitlint -e $GIT_PARAMS"
"pre-commit": "npm run lint"
}
},
"repository": {
"type": "git",
"url": "git+https://github.com/edx/frontend-component-footer.git"
"url": "git+https://github.com/openedx/frontend-component-footer.git"
},
"author": "edX",
"license": "AGPL-3.0",
"bugs": {
"url": "https://github.com/edx/frontend-component-footer/issues"
"url": "https://github.com/openedx/frontend-component-footer/issues"
},
"homepage": "https://github.com/edx/frontend-component-footer#readme",
"homepage": "https://github.com/openedx/frontend-component-footer#readme",
"devDependencies": {
"@commitlint/cli": "8.2.0",
"@commitlint/config-angular": "8.2.0",
"@commitlint/prompt": "8.2.0",
"@commitlint/prompt-cli": "8.2.0",
"@edx/brand": "npm:@edx/brand-openedx@1.1.0",
"@edx/frontend-build": "5.4.0",
"@edx/frontend-platform": "1.8.0",
"@edx/paragon": "12.0.5",
"codecov": "3.7.2",
"enzyme": "3.10.0",
"enzyme-adapter-react-16": "1.14.0",
"husky": "3.0.9",
"prop-types": "15.7.2",
"react": "16.10.2",
"react-dom": "16.10.2",
"react-redux": "^7.1.1",
"react-router-dom": "^5.1.2",
"react-test-renderer": "16.10.2",
"reactifex": "1.1.1",
"redux": "^4.0.4"
"@edx/brand": "npm:@openedx/brand-openedx@^1.2.2",
"@edx/browserslist-config": "^1.1.1",
"@openedx/frontend-build": "^13.0.19",
"@openedx/paragon": "22.0.0",
"@edx/frontend-platform": "6.2.0",
"@edx/reactifex": "^2.1.1",
"@testing-library/jest-dom": "^5.16.4",
"@testing-library/react": "^12.1.1",
"husky": "8.0.3",
"prop-types": "15.8.1",
"react": "17.0.2",
"react-dom": "17.0.2",
"react-redux": "7.2.9",
"react-router-dom": "6.21.3",
"react-test-renderer": "17.0.2",
"redux": "4.2.1",
"semantic-release": "21.1.2"
},
"dependencies": {
"@fortawesome/fontawesome-svg-core": "1.2.30",
"@fortawesome/free-brands-svg-icons": "5.8.2",
"@fortawesome/free-regular-svg-icons": "5.8.2",
"@fortawesome/free-solid-svg-icons": "5.8.2",
"@fortawesome/react-fontawesome": "0.1.11"
"@fortawesome/fontawesome-svg-core": "6.5.1",
"@fortawesome/free-brands-svg-icons": "6.5.1",
"@fortawesome/free-regular-svg-icons": "6.5.1",
"@fortawesome/free-solid-svg-icons": "6.5.1",
"@fortawesome/react-fontawesome": "0.2.0",
"lodash": "^4.17.21"
},
"peerDependencies": {
"@edx/frontend-platform": "^1.8.0",
"@edx/paragon": "^7.0.0",
"@edx/frontend-platform": "^7.0.0",
"@openedx/paragon": ">= 21.11.3 < 23.0.0",
"prop-types": "^15.5.10",
"react": "^16.9.0",
"react-dom": "^16.9.0"
"react": "^16.9.0 || ^17.0.0",
"react-dom": "^16.9.0 || ^17.0.0"
}
}

View File

@@ -1,9 +1,33 @@
{
"extends": [
"config:base"
"config:base",
"schedule:weekly",
":automergeLinters",
":automergeMinor",
":automergeTesters",
":enableVulnerabilityAlerts",
":rebaseStalePrs",
":semanticCommits",
":updateNotScheduled"
],
"patch": {
"automerge": true
},
"rebaseStalePrs": true
"packageRules": [
{
"matchDepTypes": [
"devDependencies"
],
"matchUpdateTypes": [
"lockFileMaintenance",
"minor",
"patch",
"pin"
],
"automerge": true
},
{
"matchPackagePatterns": ["@edx", "@openedx"],
"matchUpdateTypes": ["minor", "patch"],
"automerge": true
}
],
"timezone": "America/New_York"
}

View File

@@ -2,13 +2,14 @@ import React from 'react';
import PropTypes from 'prop-types';
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import { sendTrackEvent } from '@edx/frontend-platform/analytics';
import { ensureConfig } from '@edx/frontend-platform/config';
import { ensureConfig } from '@edx/frontend-platform';
import { AppContext } from '@edx/frontend-platform/react';
import messages from './Footer.messages';
import LanguageSelector from './LanguageSelector';
ensureConfig([
'LMS_BASE_URL',
'LOGO_TRADEMARK_URL',
], 'Footer component');
@@ -22,14 +23,6 @@ class SiteFooter extends React.Component {
this.externalLinkClickHandler = this.externalLinkClickHandler.bind(this);
}
getLocalePrefix(locale) {
const twoLetterPrefix = locale.substring(0, 2).toLowerCase();
if (twoLetterPrefix === 'en') {
return '';
}
return `/${twoLetterPrefix}`;
}
externalLinkClickHandler(event) {
const label = event.currentTarget.getAttribute('href');
const eventName = EVENT_NAMES.FOOTER_LINK;
@@ -53,13 +46,12 @@ class SiteFooter extends React.Component {
return (
<footer
role="contentinfo"
aria-label={intl.formatMessage(messages['footer.logo.ariaLabel'])}
className="footer d-flex border-top py-3 px-4"
>
<div className="container-fluid d-flex">
<a
className="d-block"
href="https://open.edx.org"
href={config.LMS_BASE_URL}
aria-label={intl.formatMessage(messages['footer.logo.ariaLabel'])}
>
<img

View File

@@ -1,73 +1,75 @@
import React from 'react';
/* eslint-disable react/prop-types */
import React, { useMemo } from 'react';
import renderer from 'react-test-renderer';
import { mount } from 'enzyme';
import { render, fireEvent, screen } from '@testing-library/react';
import { IntlProvider } from '@edx/frontend-platform/i18n';
import { AppContext } from '@edx/frontend-platform/react';
import Footer from './Footer';
const FooterWithContext = ({ locale = 'es' }) => {
const contextValue = useMemo(() => ({
authenticatedUser: null,
config: {
LOGO_TRADEMARK_URL: process.env.LOGO_TRADEMARK_URL,
LMS_BASE_URL: process.env.LMS_BASE_URL,
},
}), []);
return (
<IntlProvider locale={locale}>
<AppContext.Provider
value={contextValue}
>
<Footer />
</AppContext.Provider>
</IntlProvider>
);
};
const FooterWithLanguageSelector = ({ languageSelected = () => {} }) => {
const contextValue = useMemo(() => ({
authenticatedUser: null,
config: {
LOGO_TRADEMARK_URL: process.env.LOGO_TRADEMARK_URL,
LMS_BASE_URL: process.env.LMS_BASE_URL,
},
}), []);
return (
<IntlProvider locale="en">
<AppContext.Provider
value={contextValue}
>
<Footer
onLanguageSelected={languageSelected}
supportedLanguages={[
{ label: 'English', value: 'en' },
{ label: 'Español', value: 'es' },
]}
/>
</AppContext.Provider>
</IntlProvider>
);
};
describe('<Footer />', () => {
describe('renders correctly', () => {
it('renders without a language selector', () => {
const tree = renderer
.create((
<IntlProvider locale="en">
<AppContext.Provider
value={{
authenticatedUser: null,
config: {
LOGO_TRADEMARK_URL: process.env.LOGO_TRADEMARK_URL,
},
}}
>
<Footer />
</AppContext.Provider>
</IntlProvider>
))
.create(<FooterWithContext locale="en" />)
.toJSON();
expect(tree).toMatchSnapshot();
});
it('renders without a language selector in es', () => {
const tree = renderer
.create((
<IntlProvider locale="es">
<AppContext.Provider
value={{
authenticatedUser: null,
config: {
LOGO_TRADEMARK_URL: process.env.LOGO_TRADEMARK_URL,
},
}}
>
<Footer />
</AppContext.Provider>
</IntlProvider>
))
.create(<FooterWithContext locale="es" />)
.toJSON();
expect(tree).toMatchSnapshot();
});
it('renders with a language selector', () => {
const tree = renderer
.create((
<IntlProvider locale="en">
<AppContext.Provider
value={{
authenticatedUser: null,
config: {
LOGO_TRADEMARK_URL: process.env.LOGO_TRADEMARK_URL,
},
}}
>
<Footer
onLanguageSelected={() => {}}
supportedLanguages={[
{ label: 'English', value: 'en' },
{ label: 'Español', value: 'es' },
]}
/>
</AppContext.Provider>
</IntlProvider>
))
.create(<FooterWithLanguageSelector />)
.toJSON();
expect(tree).toMatchSnapshot();
});
@@ -76,28 +78,9 @@ describe('<Footer />', () => {
describe('handles language switching', () => {
it('calls onLanguageSelected prop when a language is changed', () => {
const mockHandleLanguageSelected = jest.fn();
const wrapper = mount((
<IntlProvider locale="en">
<AppContext.Provider
value={{
authenticatedUser: null,
config: {
LOGO_TRADEMARK_URL: process.env.LOGO_TRADEMARK_URL,
},
}}
>
<Footer
onLanguageSelected={mockHandleLanguageSelected}
supportedLanguages={[
{ label: 'English', value: 'en' },
{ label: 'Español', value: 'es' },
]}
/>
</AppContext.Provider>
</IntlProvider>
));
render(<FooterWithLanguageSelector languageSelected={mockHandleLanguageSelected} />);
wrapper.find('form').simulate('submit', {
fireEvent.submit(screen.getByTestId('site-footer-submit-btn'), {
target: {
elements: {
'site-footer-language-select': {

View File

@@ -34,7 +34,7 @@ const LanguageSelector = ({
>
{options.map(({ value, label }) => <option key={value} value={value}>{label}</option>)}
</select>
<button className="btn btn-outline-primary btn-sm" type="submit">
<button data-testid="site-footer-submit-btn" className="btn btn-outline-primary btn-sm" type="submit">
<FormattedMessage
id="footer.languageForm.submit.label"
defaultMessage="Apply"

View File

@@ -2,7 +2,6 @@
exports[`<Footer /> renders correctly renders with a language selector 1`] = `
<footer
aria-label="edX Home"
className="footer d-flex border-top py-3 px-4"
role="contentinfo"
>
@@ -12,7 +11,7 @@ exports[`<Footer /> renders correctly renders with a language selector 1`] = `
<a
aria-label="edX Home"
className="d-block"
href="https://open.edx.org"
href="http://localhost:18000"
>
<img
alt="Powered by Open edX"
@@ -38,9 +37,7 @@ exports[`<Footer /> renders correctly renders with a language selector 1`] = `
className="d-inline-block m-0"
htmlFor="site-footer-language-select"
>
<span>
Choose Language
</span>
Choose Language
</label>
<select
className="form-control-sm mx-2"
@@ -61,11 +58,10 @@ exports[`<Footer /> renders correctly renders with a language selector 1`] = `
</select>
<button
className="btn btn-outline-primary btn-sm"
data-testid="site-footer-submit-btn"
type="submit"
>
<span>
Apply
</span>
Apply
</button>
</div>
</form>
@@ -75,7 +71,6 @@ exports[`<Footer /> renders correctly renders with a language selector 1`] = `
exports[`<Footer /> renders correctly renders without a language selector 1`] = `
<footer
aria-label="edX Home"
className="footer d-flex border-top py-3 px-4"
role="contentinfo"
>
@@ -85,7 +80,7 @@ exports[`<Footer /> renders correctly renders without a language selector 1`] =
<a
aria-label="edX Home"
className="d-block"
href="https://open.edx.org"
href="http://localhost:18000"
>
<img
alt="Powered by Open edX"
@@ -106,7 +101,6 @@ exports[`<Footer /> renders correctly renders without a language selector 1`] =
exports[`<Footer /> renders correctly renders without a language selector in es 1`] = `
<footer
aria-label="edX Home"
className="footer d-flex border-top py-3 px-4"
role="contentinfo"
>
@@ -116,7 +110,7 @@ exports[`<Footer /> renders correctly renders without a language selector in es
<a
aria-label="edX Home"
className="d-block"
href="https://open.edx.org"
href="http://localhost:18000"
>
<img
alt="Powered by Open edX"

View File

@@ -0,0 +1,146 @@
import React, { useContext, useState } from 'react';
import _ from 'lodash';
import { intlShape, injectIntl, FormattedMessage } from '@edx/frontend-platform/i18n';
import { ensureConfig } from '@edx/frontend-platform';
import { AppContext } from '@edx/frontend-platform/react';
import {
ActionRow,
Button,
Container,
Hyperlink,
Image,
TransitionReplace,
} from '@openedx/paragon';
import { ExpandLess, ExpandMore, Help } from '@openedx/paragon/icons';
import messages from './messages';
ensureConfig([
'LMS_BASE_URL',
'MARKETING_SITE_BASE_URL',
'TERMS_OF_SERVICE_URL',
'PRIVACY_POLICY_URL',
'SUPPORT_EMAIL',
'SITE_NAME',
'STUDIO_BASE_URL',
'ENABLE_ACCESSIBILITY_PAGE',
], 'Studio Footer component');
const StudioFooter = ({
// injected
intl,
}) => {
const [isOpen, setIsOpen] = useState(false);
const { config } = useContext(AppContext);
return (
<>
<div className="m-0 mt-6 row align-items-center justify-content-center">
<div className="col border-top mr-2" />
<Button
data-testid="helpToggleButton"
variant="outline-primary"
onClick={() => setIsOpen(!isOpen)}
iconBefore={Help}
iconAfter={isOpen ? ExpandLess : ExpandMore}
size="sm"
>
{isOpen ? intl.formatMessage(messages.closeHelpButtonLabel)
: intl.formatMessage(messages.openHelpButtonLabel)}
</Button>
<div className="col border-top ml-2" />
</div>
<Container size="xl" className="px-4">
<TransitionReplace>
{isOpen ? (
<ActionRow key="help-link-button-row" className="py-4" data-testid="helpButtonRow">
<ActionRow.Spacer />
<Button as="a" href="https://docs.edx.org/" size="sm">
<FormattedMessage {...messages.edxDocumentationButtonLabel} />
</Button>
<Button
as="a"
href="https://open.edx.org/"
size="sm"
data-testid="openEdXPortalButton"
>
<FormattedMessage {...messages.openEdxPortalButtonLabel} />
</Button>
<Button
as="a"
href="https://www.edx.org/course/edx101-overview-of-creating-an-edx-course#.VO4eaLPF-n1"
size="sm"
>
<FormattedMessage {...messages.edx101ButtonLabel} />
</Button>
<Button
as="a"
href="https://www.edx.org/course/studiox-creating-a-course-with-edx-studio"
size="sm"
>
<FormattedMessage {...messages.studioXButtonLabel} />
</Button>
{!_.isEmpty(config.SUPPORT_EMAIL) && (
<Button
as="a"
href={`mailto:${config.SUPPORT_EMAIL}`}
size="sm"
data-testid="contactUsButton"
>
<FormattedMessage {...messages.contactUsButtonLabel} />
</Button>
)}
<ActionRow.Spacer />
</ActionRow>
) : null}
</TransitionReplace>
<ActionRow className="pt-3 m-0 x-small">
© {new Date().getFullYear()} <Hyperlink destination={config.MARKETING_SITE_BASE_URL} target="_blank" className="ml-2">{config.SITE_NAME}</Hyperlink>
<ActionRow.Spacer />
{!_.isEmpty(config.TERMS_OF_SERVICE_URL) && (
<Hyperlink destination={config.TERMS_OF_SERVICE_URL} data-testid="termsOfService">
{intl.formatMessage(messages.termsOfServiceLinkLabel)}
</Hyperlink>
)}{!_.isEmpty(config.PRIVACY_POLICY_URL) && (
<Hyperlink destination={config.PRIVACY_POLICY_URL} data-testid="privacyPolicy">
{intl.formatMessage(messages.privacyPolicyLinkLabel)}
</Hyperlink>
)}
{config.ENABLE_ACCESSIBILITY_PAGE === 'true' && (
<Hyperlink
destination={`${config.STUDIO_BASE_URL}/accessibility`}
data-testid="accessibilityRequest"
>
{intl.formatMessage(messages.accessibilityRequestLinkLabel)}
</Hyperlink>
)}
<Hyperlink destination={config.LMS_BASE_URL}>LMS</Hyperlink>
</ActionRow>
<ActionRow className="mt-3 pb-4 x-small">
{/*
Site operators: Please do not remove this paragraph! this attributes back to edX and
makes your acknowledgement of edX's trademarks clear.
Translators: 'edX' and 'Open edX' are trademarks of 'edX Inc.'. Please do not translate
any of these trademarks and company names.
*/}
<FormattedMessage {...messages.trademarkMessage} />
<Hyperlink className="ml-1" destination="https://www.edx.org">edX Inc</Hyperlink>.
<ActionRow.Spacer />
<Hyperlink destination="https://open.edx.org" className="float-right">
<Image
width="120px"
alt="Powered by Open edX"
src="https://logos.openedx.org/open-edx-logo-tag.png"
/>
</Hyperlink>
</ActionRow>
</Container>
</>
);
};
StudioFooter.propTypes = {
// injected
intl: intlShape.isRequired,
};
export default injectIntl(StudioFooter);

View File

@@ -0,0 +1,121 @@
/* eslint-disable react/prop-types */
import React, { useMemo } from 'react';
import { fireEvent, render, screen } from '@testing-library/react';
import '@testing-library/jest-dom/extend-expect';
import { IntlProvider } from '@edx/frontend-platform/i18n';
import { AppContext } from '@edx/frontend-platform/react';
import StudioFooter from './StudioFooter';
import messages from './messages';
const config = {
LMS_BASE_URL: process.env.LMS_BASE_URL,
MARKETING_SITE_BASE_URL: process.env.MARKETING_SITE_BASE_URL,
TERMS_OF_SERVICE_URL: process.env.TERMS_OF_SERVICE_URL,
PRIVACY_POLICY_URL: process.env.PRIVACY_POLICY_URL,
SUPPORT_EMAIL: process.env.SUPPORT_EMAIL,
SITE_NAME: process.env.SITE_NAME,
STUDIO_BASE_URL: process.env.STUDIO_BASE_URL,
ENABLE_ACCESSIBILITY_PAGE: process.env.ENABLE_ACCESSIBILITY_PAGE,
};
let currentConfig = config;
const Component = ({ updateVariable }) => {
if (updateVariable) {
const [variable, value] = updateVariable;
currentConfig = {
...config,
[variable]: value,
};
}
const contextValue = useMemo(() => ({
authenticatedUser: null,
config: currentConfig,
}), []);
return (
<IntlProvider locale="en">
<AppContext.Provider value={contextValue}>
<StudioFooter />
</AppContext.Provider>
</IntlProvider>
);
};
jest.unmock('@openedx/paragon');
describe('Footer', () => {
describe('help section default view', () => {
it('help button should read Looking for help with Studio?', () => {
render(<Component />);
expect(screen.getByText(messages.openHelpButtonLabel.defaultMessage))
.toBeVisible();
});
it('help button link row should not be visible', () => {
render(<Component />);
expect(screen.queryByTestId('helpButtonRow')).toBeNull();
});
});
describe('help section expanded view', () => {
it('help button should read Hide Studio help', () => {
render(<Component />);
const helpToggleButton = screen.getByText(messages.openHelpButtonLabel.defaultMessage);
fireEvent.click(helpToggleButton);
expect(screen.getByText(messages.closeHelpButtonLabel.defaultMessage))
.toBeVisible();
});
it('help button link row should be visible', () => {
render(<Component />);
const helpToggleButton = screen.getByText(messages.openHelpButtonLabel.defaultMessage);
fireEvent.click(helpToggleButton);
expect(screen.getByTestId('helpButtonRow')).toBeVisible();
});
it('Open edX portal button should be visible', () => {
render(<Component />);
const helpToggleButton = screen.getByText(messages.openHelpButtonLabel.defaultMessage);
fireEvent.click(helpToggleButton);
expect(screen.getByTestId('openEdXPortalButton')).toBeVisible();
});
it('should not show contact us button', () => {
render(<Component />);
const helpToggleButton = screen.getByText(messages.openHelpButtonLabel.defaultMessage);
fireEvent.click(helpToggleButton);
expect(screen.queryByTestId('contactUsButton')).toBeNull();
});
it('should show contact us button', () => {
render(<Component updateVariable={['SUPPORT_EMAIL', 'support@email.com']} />);
const helpToggleButton = screen.getByText(messages.openHelpButtonLabel.defaultMessage);
fireEvent.click(helpToggleButton);
expect(screen.getByTestId('contactUsButton')).toBeVisible();
});
});
describe('policy link row', () => {
it('should only show LMS link', () => {
render(<Component />);
expect(screen.getByText('LMS')).toBeVisible();
expect(screen.queryByTestId('termsOfService')).toBeNull();
expect(screen.queryByTestId('privacyPolicy')).toBeNull();
expect(screen.queryByTestId('accessibilityRequest')).toBeNull();
});
it('should show terms of service link', () => {
render(<Component updateVariable={['TERMS_OF_SERVICE_URL', 'termsofserviceurl']} />);
expect(screen.getByText('LMS')).toBeVisible();
expect(screen.queryByTestId('termsOfService')).toBeVisible();
expect(screen.queryByTestId('privacyPolicy')).toBeNull();
expect(screen.queryByTestId('accessibilityRequest')).toBeNull();
});
it('should show privacy policy link', () => {
render(<Component updateVariable={['PRIVACY_POLICY_URL', 'privacypolicyurl']} />);
expect(screen.getByText('LMS')).toBeVisible();
expect(screen.queryByTestId('termsOfService')).toBeNull();
expect(screen.queryByTestId('privacyPolicy')).toBeVisible();
expect(screen.queryByTestId('accessibilityRequest')).toBeNull();
});
it('should show accessibilty request link', () => {
render(<Component updateVariable={['ENABLE_ACCESSIBILITY_PAGE', 'true']} />);
expect(screen.getByText('LMS')).toBeVisible();
expect(screen.queryByTestId('termsOfService')).toBeNull();
expect(screen.queryByTestId('privacyPolicy')).toBeNull();
expect(screen.queryByTestId('accessibilityRequest')).toBeVisible();
});
});
});

View File

@@ -0,0 +1,3 @@
import StudioFooter from './StudioFooter';
export default StudioFooter;

View File

@@ -0,0 +1,61 @@
import { defineMessages } from '@edx/frontend-platform/i18n';
const messages = defineMessages({
openHelpButtonLabel: {
id: 'authoring.footer.help.openHelp.button.label',
defaultMessage: 'Looking for help with Studio?',
description: 'Label for button that opens the collapsed section with help buttons',
},
closeHelpButtonLabel: {
id: 'authoring.footer.help.closeHelp.button.label',
defaultMessage: 'Hide Studio help',
description: 'Label for button that closes the collapsed section with help buttons',
},
edxDocumentationButtonLabel: {
id: 'authoring.footer.help.edxDocumentation.button.label',
defaultMessage: 'edX documentation',
description: 'Label for button that links to the edX documentation site',
},
openEdxPortalButtonLabel: {
id: 'authoring.footer.help.openEdxPortal.button.label',
defaultMessage: 'Open edX portal',
description: 'Label for button that links to the Open edX portal',
},
edx101ButtonLabel: {
id: 'authoring.footer.help.edx101.button.label',
defaultMessage: 'Enroll in edX 101',
description: 'Label for button that links to the edX 101 course',
},
studioXButtonLabel: {
id: 'authoring.footer.help.studioX.button.label',
defaultMessage: 'Enroll in StudioX',
description: 'Label for button that links to the edX StudioX course',
},
contactUsButtonLabel: {
id: 'authoring.footer.help.contactUs.button.label',
defaultMessage: 'Contact us',
description: 'Label for button that links to the email for partner support',
},
termsOfServiceLinkLabel: {
id: 'authoring.footer.termsOfService.link.label',
defaultMessage: 'Terms of Service',
description: 'Label for button that links to the terms of service page',
},
privacyPolicyLinkLabel: {
id: 'authoring.footer.privacyPolicy.link.label',
defaultMessage: 'Privacy Policy',
description: 'Label for button that links to the privacy policy page',
},
accessibilityRequestLinkLabel: {
id: 'authoring.footer.accessibilityRequest.link.label',
defaultMessage: 'Accessibility Accomodation Request',
description: 'Label for button that links to the accessibility accomodation requests page',
},
trademarkMessage: {
id: 'authoring.footer.trademark.message',
defaultMessage: 'edX and Open edX, and the edX and Open edX logos are registered trademarks of',
description: 'Message about the use of logos and names edX and Open edX',
},
});
export default messages;

View File

@@ -1,32 +1,34 @@
import arMessages from './messages/ar.json';
import caMessages from './messages/ca.json';
// no need to import en messages-- they are in the defaultMessage field
import es419Messages from './messages/es_419.json';
import frMessages from './messages/fr.json';
import es419Messages from './messages/es_419.json';
import zhcnMessages from './messages/zh_CN.json';
import heMessages from './messages/he.json';
import idMessages from './messages/id.json';
import kokrMessages from './messages/ko_kr.json';
import plMessages from './messages/pl.json';
import ptbrMessages from './messages/pt_br.json';
import ruMessages from './messages/ru.json';
import thMessages from './messages/th.json';
import ptMessages from './messages/pt.json';
import itMessages from './messages/it.json';
import ukMessages from './messages/uk.json';
import deMessages from './messages/de.json';
import ruMessages from './messages/ru.json';
import hiMessages from './messages/hi.json';
import frCAMessages from './messages/fr_CA.json';
import dedeCAMessages from './messages/de_DE.json';
import ititCAMessages from './messages/it_IT.json';
import ptptCAMessages from './messages/pt_PT.json';
// no need to import en messages-- they are in the defaultMessage field
const messages = {
ar: arMessages,
'es-419': es419Messages,
fr: frMessages,
'zh-cn': zhcnMessages,
ca: caMessages,
he: heMessages,
id: idMessages,
'ko-kr': kokrMessages,
pl: plMessages,
'pt-br': ptbrMessages,
pt: ptMessages,
it: itMessages,
de: deMessages,
hi: hiMessages,
'fr-ca': frCAMessages,
ru: ruMessages,
th: thMessages,
uk: ukMessages,
'de-de': dedeCAMessages,
'it-it': ititCAMessages,
'pt-pt': ptptCAMessages,
};
export default messages;

View File

@@ -1,32 +1 @@
{
"footer.socialLinks.srText.facebook": "Like edX on Facebook",
"footer.socialLinks.srText.twitter": "Follow edX on Twitter",
"footer.socialLinks.srText.youtube": "Subscribe to the edX YouTube channel",
"footer.socialLinks.srText.linkedin": "Follow edX on LinkedIn",
"footer.socialLinks.srText.reddit": "Subscribe to the edX subreddit",
"footer.languageForm.select.label": "Choose Language",
"footer.languageForm.submit.label": "Apply",
"footer.edxLinks.about": "About",
"footer.edxLinks.business": "edX for Business",
"footer.edxLinks.affiliates": "Affiliates",
"footer.edxLinks.openEdx": "Open edX",
"footer.edxLinks.careers": "Careers",
"footer.edxLinks.news": "News",
"footer.legalLinks.heading": "Legal",
"footer.legalLinks.termsOfService": "Terms of Service & Honor Code",
"footer.legalLinks.privacyPolicy": "Privacy Policy",
"footer.legalLinks.a11yPolicy": "Accessibility Policy",
"footer.legalLinks.trademarkPolicy": "Trademark Policy",
"footer.legalLinks.sitemap": "Sitemap",
"footer.connectLinks.heading": "Connect",
"footer.connectLinks.blog": "Blog",
"footer.connectLinks.contact": "Contact Us",
"footer.connectLinks.help": "Help Center",
"footer.connectLinks.mediaKit": "Media Kit",
"footer.connectLinks.donate": "Donate",
"footer.mobileApp.apple": "Download the edX mobile app from the Apple App Store",
"footer.mobileApp.google": "Download the edX mobile app from Google Play",
"footer.logo.altText": "Powered by Open edX",
"footer.logo.ariaLabel": "edX Home",
"footer.ariaLabel": "Page Footer"
}
{}

View File

@@ -1,32 +1 @@
{
"footer.socialLinks.srText.facebook": "Like edX on Facebook",
"footer.socialLinks.srText.twitter": "Follow edX on Twitter",
"footer.socialLinks.srText.youtube": "Subscribe to the edX YouTube channel",
"footer.socialLinks.srText.linkedin": "Follow edX on LinkedIn",
"footer.socialLinks.srText.reddit": "Subscribe to the edX subreddit",
"footer.languageForm.select.label": "Choose Language",
"footer.languageForm.submit.label": "Apply",
"footer.edxLinks.about": "About",
"footer.edxLinks.business": "edX for Business",
"footer.edxLinks.affiliates": "Affiliates",
"footer.edxLinks.openEdx": "Open edX",
"footer.edxLinks.careers": "Careers",
"footer.edxLinks.news": "News",
"footer.legalLinks.heading": "Legal",
"footer.legalLinks.termsOfService": "Terms of Service & Honor Code",
"footer.legalLinks.privacyPolicy": "Privacy Policy",
"footer.legalLinks.a11yPolicy": "Accessibility Policy",
"footer.legalLinks.trademarkPolicy": "Trademark Policy",
"footer.legalLinks.sitemap": "Sitemap",
"footer.connectLinks.heading": "Connect",
"footer.connectLinks.blog": "Blog",
"footer.connectLinks.contact": "Contact Us",
"footer.connectLinks.help": "Help Center",
"footer.connectLinks.mediaKit": "Media Kit",
"footer.connectLinks.donate": "Donate",
"footer.mobileApp.apple": "Download the edX mobile app from the Apple App Store",
"footer.mobileApp.google": "Download the edX mobile app from Google Play",
"footer.logo.altText": "Powered by Open edX",
"footer.logo.ariaLabel": "edX Home",
"footer.ariaLabel": "Page Footer"
}
{}

View File

@@ -1,32 +1 @@
{
"footer.socialLinks.srText.facebook": "Like edX on Facebook",
"footer.socialLinks.srText.twitter": "Follow edX on Twitter",
"footer.socialLinks.srText.youtube": "Subscribe to the edX YouTube channel",
"footer.socialLinks.srText.linkedin": "Follow edX on LinkedIn",
"footer.socialLinks.srText.reddit": "Subscribe to the edX subreddit",
"footer.languageForm.select.label": "Choose Language",
"footer.languageForm.submit.label": "Apply",
"footer.edxLinks.about": "About",
"footer.edxLinks.business": "edX for Business",
"footer.edxLinks.affiliates": "Affiliates",
"footer.edxLinks.openEdx": "Open edX",
"footer.edxLinks.careers": "Careers",
"footer.edxLinks.news": "News",
"footer.legalLinks.heading": "Legal",
"footer.legalLinks.termsOfService": "Terms of Service & Honor Code",
"footer.legalLinks.privacyPolicy": "Privacy Policy",
"footer.legalLinks.a11yPolicy": "Accessibility Policy",
"footer.legalLinks.trademarkPolicy": "Trademark Policy",
"footer.legalLinks.sitemap": "Sitemap",
"footer.connectLinks.heading": "Connect",
"footer.connectLinks.blog": "Blog",
"footer.connectLinks.contact": "Contact Us",
"footer.connectLinks.help": "Help Center",
"footer.connectLinks.mediaKit": "Media Kit",
"footer.connectLinks.donate": "Donate",
"footer.mobileApp.apple": "Download the edX mobile app from the Apple App Store",
"footer.mobileApp.google": "Download the edX mobile app from Google Play",
"footer.logo.altText": "Powered by Open edX",
"footer.logo.ariaLabel": "edX Home",
"footer.ariaLabel": "Page Footer"
}
{}

View File

@@ -0,0 +1 @@
{}

View File

@@ -1,32 +1 @@
{
"footer.socialLinks.srText.facebook": "Like edX on Facebook",
"footer.socialLinks.srText.twitter": "Follow edX on Twitter",
"footer.socialLinks.srText.youtube": "Subscribe to the edX YouTube channel",
"footer.socialLinks.srText.linkedin": "Follow edX on LinkedIn",
"footer.socialLinks.srText.reddit": "Subscribe to the edX subreddit",
"footer.languageForm.select.label": "Choose Language",
"footer.languageForm.submit.label": "Apply",
"footer.edxLinks.about": "About",
"footer.edxLinks.business": "edX for Business",
"footer.edxLinks.affiliates": "Affiliates",
"footer.edxLinks.openEdx": "Open edX",
"footer.edxLinks.careers": "Careers",
"footer.edxLinks.news": "News",
"footer.legalLinks.heading": "Legal",
"footer.legalLinks.termsOfService": "Terms of Service & Honor Code",
"footer.legalLinks.privacyPolicy": "Privacy Policy",
"footer.legalLinks.a11yPolicy": "Accessibility Policy",
"footer.legalLinks.trademarkPolicy": "Trademark Policy",
"footer.legalLinks.sitemap": "Sitemap",
"footer.connectLinks.heading": "Connect",
"footer.connectLinks.blog": "Blog",
"footer.connectLinks.contact": "Contact Us",
"footer.connectLinks.help": "Help Center",
"footer.connectLinks.mediaKit": "Media Kit",
"footer.connectLinks.donate": "Donate",
"footer.mobileApp.apple": "Download the edX mobile app from the Apple App Store",
"footer.mobileApp.google": "Download the edX mobile app from Google Play",
"footer.logo.altText": "Powered by Open edX",
"footer.logo.ariaLabel": "edX Home",
"footer.ariaLabel": "Page Footer"
}
{}

View File

@@ -1,5 +1,6 @@
import Footer, { EVENT_NAMES } from './components/Footer';
import messages from './i18n/index';
import StudioFooter from './components/studio-footer';
export default Footer;
export { messages, EVENT_NAMES };
export { messages, EVENT_NAMES, StudioFooter };

View File

@@ -1,8 +1,3 @@
import Enzyme from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
Enzyme.configure({ adapter: new Adapter() });
// These configuration values are usually set in webpack's EnvironmentPlugin however
// Jest does not use webpack so we need to set these so for testing
process.env.ACCESS_TOKEN_COOKIE_NAME = 'edx-jwt-cookie-header-payload';
@@ -24,3 +19,4 @@ process.env.LOGO_URL = 'https://edx-cdn.org/v3/default/logo.svg';
process.env.LOGO_TRADEMARK_URL = 'https://edx-cdn.org/v3/default/logo-trademark.svg';
process.env.LOGO_WHITE_URL = 'https://edx-cdn.org/v3/default/logo-white.svg';
process.env.FAVICON_URL = 'https://edx-cdn.org/v3/default/favicon.ico';
process.env.ENABLE_ACCESSIBILITY_PAGE = 'false';

View File

@@ -1,5 +1,5 @@
const path = require('path');
const { createConfig } = require('@edx/frontend-build');
const { createConfig } = require('@openedx/frontend-build');
module.exports = createConfig('webpack-dev', {
entry: path.resolve(__dirname, 'example'),