Skip to content

Commit 2db0fd5

Browse files
asadiqbal08asadiqbal08
andauthored
feat: Introduced Learning Course Header in Header MFE. (#133)
Co-authored-by: asadiqbal08 <[email protected]>
1 parent 7e33da4 commit 2db0fd5

21 files changed

+5390
-4964
lines changed

jest.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
const { createConfig } = require('@edx/frontend-build');
22

33
module.exports = createConfig('jest', {
4-
setupFiles: [
4+
setupFilesAfterEnv: [
55
'<rootDir>/src/setupTest.js',
66
],
77
});

package-lock.json

Lines changed: 4958 additions & 4954 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,22 @@
4949
"react-test-renderer": "16.14.0",
5050
"reactifex": "1.1.1",
5151
"redux": "4.1.2",
52-
"redux-saga": "1.1.3"
52+
"redux-saga": "1.1.3",
53+
"@testing-library/dom": "7.16.3",
54+
"@testing-library/jest-dom": "5.15.1",
55+
"jest": "27.3.1",
56+
"jest-chain": "1.1.5",
57+
"@testing-library/react": "10.3.0"
5358
},
5459
"dependencies": {
5560
"babel-polyfill": "6.26.0",
5661
"react-responsive": "8.2.0",
57-
"react-transition-group": "4.4.2"
62+
"react-transition-group": "4.4.2",
63+
"@fortawesome/fontawesome-svg-core": "1.2.34",
64+
"@fortawesome/free-brands-svg-icons": "5.13.1",
65+
"@fortawesome/free-regular-svg-icons": "5.13.1",
66+
"@fortawesome/free-solid-svg-icons": "5.13.1",
67+
"@fortawesome/react-fontawesome": "^0.1.14"
5868
},
5969
"peerDependencies": {
6070
"@edx/frontend-platform": "^1.8.0",

src/Header.jsx

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,12 @@ function Header({ intl }) {
4141
},
4242
];
4343

44+
const orderHistoryItem = {
45+
type: 'item',
46+
href: config.ORDER_HISTORY_URL,
47+
content: intl.formatMessage(messages['header.user.menu.order.history']),
48+
};
49+
4450
const userMenu = authenticatedUser === null ? [] : [
4551
{
4652
type: 'item',
@@ -57,18 +63,18 @@ function Header({ intl }) {
5763
href: `${config.LMS_BASE_URL}/account/settings`,
5864
content: intl.formatMessage(messages['header.user.menu.account.settings']),
5965
},
60-
{
61-
type: 'item',
62-
href: config.ORDER_HISTORY_URL,
63-
content: intl.formatMessage(messages['header.user.menu.order.history']),
64-
},
6566
{
6667
type: 'item',
6768
href: config.LOGOUT_URL,
6869
content: intl.formatMessage(messages['header.user.menu.logout']),
6970
},
7071
];
7172

73+
// Users should only see Order History if have a ORDER_HISTORY_URL define in the environment.
74+
if (config.ORDER_HISTORY_URL) {
75+
userMenu.splice(-1, 0, orderHistoryItem);
76+
}
77+
7278
const loggedOutItems = [
7379
{
7480
type: 'item',

src/generic/messages.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { defineMessages } from '@edx/frontend-platform/i18n';
2+
3+
const messages = defineMessages({
4+
registerSentenceCase: {
5+
id: 'general.register.sentenceCase',
6+
defaultMessage: 'Register',
7+
description: 'Text in a button, prompting the user to register.',
8+
},
9+
signInSentenceCase: {
10+
id: 'general.signIn.sentenceCase',
11+
defaultMessage: 'Sign in',
12+
description: 'Text in a button, prompting the user to log in.',
13+
},
14+
});
15+
16+
export default messages;

src/i18n/index.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,13 @@
11
import arMessages from './messages/ar.json';
2+
3+
import caMessages from './messages/ca.json';
4+
import heMessages from './messages/he.json';
5+
import idMessages from './messages/id.json';
6+
import plMessages from './messages/pl.json';
7+
import ruMessages from './messages/ru.json';
8+
import thMessages from './messages/th.json';
9+
import ukMessages from './messages/uk.json';
10+
211
// no need to import en messages-- they are in the defaultMessage field
312
import es419Messages from './messages/es_419.json';
413
import frMessages from './messages/fr.json';
@@ -8,6 +17,13 @@ import zhcnMessages from './messages/zh_CN.json';
817

918
const messages = {
1019
ar: arMessages,
20+
ca: caMessages,
21+
he: heMessages,
22+
id: idMessages,
23+
pl: plMessages,
24+
ru: ruMessages,
25+
th: thMessages,
26+
uk: ukMessages,
1127
'es-419': es419Messages,
1228
fr: frMessages,
1329
'zh-cn': zhcnMessages,

src/i18n/messages/ca.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{}

src/i18n/messages/he.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{}

src/i18n/messages/id.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{}

src/i18n/messages/pl.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{}

0 commit comments

Comments
 (0)