Skip to content

Commit 6b80e4a

Browse files
authored
config: display full name in user menu (#3736)
* config: display full name in user menu * docs: update readme * fix: issue * fix: Remove unused React import from common-mfe-config
1 parent 6f05473 commit 6b80e4a

File tree

4 files changed

+37
-0
lines changed

4 files changed

+37
-0
lines changed

src/bridge/settings/openedx/mfe/slot_config/Readme.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ This documentation captures:
3333
| [`org.openedx.frontend.layout.header_learning_course_info.v1`](https://github.com/openedx/frontend-component-header/tree/master/src/plugin-slots/CourseInfoSlot) | MITx Online / MIT Learn MFEs | Hides course organization and number from UAI courses in the Learning Header. | Before: ![](./images/course_num_org_hide_before.png) After: ![](./images/course_num_org_hide_after.png) |
3434
| [`externalLinkUrlOverrides`](https://github.com/openedx/frontend-platform/tree/master?tab=readme-ov-file#overriding-default-external-links) | MITx Online / MIT Learn Proctoring Info Panel | Overrides “Review instructions and system requirements” link → MITx Online / MIT Learn Zendesk Helpdesk. | Search `externalLinkUrlOverrides` in [`mitxonline/common-mfe-config.env.jsx`](./mitxonline/common-mfe-config.env.jsx) |
3535
| `mitx-styles.scss` | MITx Residential Learner Dashboard | Hides information banner in dashboard cards via CSS overrides. | Before: ![](./images/card_banner_before.png) After: ![](./images/card_banner_after.png) [`./mitx-styles.scss`](./mitx-styles.scss) |
36+
| [`org.openedx.frontend.layout.header_learning_user_menu_toggle.v1`](https://github.com/openedx/frontend-component-header/tree/master/src/plugin-slots/LearningUserMenuToggleSlot) <br> [`org.openedx.frontend.layout.header_desktop_user_menu_toggle.v1`](https://github.com/openedx/frontend-component-header/tree/master/src/plugin-slots/DesktopUserMenuToggleSlot) | MITx Online / MIT Learn Header | Display the fullname instead of username in the user menu trigger | Learning Header ![](./images/learning_usermenu_trigger.png) <br> Desktop Header ![](./images/desktop_usermenu_trigger.png) |
3637

3738

3839

33.9 KB
Loading
39.8 KB
Loading

src/bridge/settings/openedx/mfe/slot_config/mitxonline/common-mfe-config.env.jsx

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import { useContext } from "react";
2+
import { AppContext } from '@edx/frontend-platform/react';
13
import { PLUGIN_OPERATIONS, DIRECT_PLUGIN } from '@openedx/frontend-plugin-framework';
24
import { getConfig } from '@edx/frontend-platform';
35
import Footer, { Logo, MenuLinks, CopyrightNotice } from './Footer.jsx';
@@ -11,6 +13,8 @@ const SLOT_IDS = {
1113
learning_user_menu: 'org.openedx.frontend.layout.header_learning_user_menu.v1',
1214
desktop_user_menu: 'org.openedx.frontend.layout.header_desktop_user_menu.v1',
1315
learning_course_info: 'org.openedx.frontend.layout.header_learning_course_info.v1',
16+
learning_user_menu_toggle: 'org.openedx.frontend.layout.header_learning_user_menu_toggle.v1',
17+
desktop_user_menu_toggle: 'org.openedx.frontend.layout.header_desktop_user_menu_toggle.v1',
1418
},
1519
footer: {
1620
slot: 'footer_slot',
@@ -214,10 +218,42 @@ const LearningHeaderUserMenu = (widget) => {
214218
return widget;
215219
};
216220

221+
const displayFullNameInMenu = (widget) => {
222+
const { authenticatedUser } = useContext(AppContext);
223+
if (authenticatedUser) {
224+
widget.content.label = authenticatedUser.name || authenticatedUser.username;
225+
}
226+
return widget;
227+
};
228+
217229
const addUserMenuSlotOverride = (config) => {
218230
const learningApps = ['learning', 'discussions', 'ora-grading', 'communications'];
219231
const dashboardApps = ['gradebook', 'learner-dashboard'];
220232

233+
config.pluginSlots = {
234+
...config.pluginSlots,
235+
[SLOT_IDS.header.learning_user_menu_toggle]: {
236+
keepDefault: true,
237+
plugins: [
238+
{
239+
op: PLUGIN_OPERATIONS.Modify,
240+
widgetId: 'default_contents',
241+
fn: displayFullNameInMenu,
242+
},
243+
]
244+
},
245+
[SLOT_IDS.header.desktop_user_menu_toggle]: {
246+
keepDefault: true,
247+
plugins: [
248+
{
249+
op: PLUGIN_OPERATIONS.Modify,
250+
widgetId: 'default_contents',
251+
fn: displayFullNameInMenu,
252+
},
253+
]
254+
}
255+
};
256+
221257
if (learningApps.includes(CURRENT_MFE_APP_ID)) {
222258

223259
return {

0 commit comments

Comments
 (0)