@@ -27,16 +27,21 @@ ensureConfig([
2727subscribe ( APP_CONFIG_INITIALIZED , ( ) => {
2828 mergeConfig ( {
2929 AUTHN_MINIMAL_HEADER : ! ! process . env . AUTHN_MINIMAL_HEADER ,
30+ DASHBOARD_URL : process . env . DASHBOARD_URL ,
31+ EXTERNAL_ACCOUNT_PROFILE_URL : process . env . EXTERNAL_ACCOUNT_PROFILE_URL ,
32+ SHOW_FULLNAME : process . env . SHOW_FULLNAME ,
33+ SHOW_SETTINGS_LABEL : process . env . SHOW_SETTINGS_LABEL ,
3034 } , 'Header additional config' ) ;
3135} ) ;
3236
3337const Header = ( { intl } ) => {
3438 const { authenticatedUser, config } = useContext ( AppContext ) ;
3539
40+ const dashboardURL = config . DASHBOARD_URL ? config . DASHBOARD_URL : `${ config . LMS_BASE_URL } /dashboard` ;
3641 const mainMenu = [
3742 {
3843 type : 'item' ,
39- href : ` ${ config . LMS_BASE_URL } /dashboard` ,
44+ href : dashboardURL ,
4045 content : intl . formatMessage ( messages [ 'header.links.courses' ] ) ,
4146 } ,
4247 ] ;
@@ -50,18 +55,18 @@ const Header = ({ intl }) => {
5055 const userMenu = authenticatedUser === null ? [ ] : [
5156 {
5257 type : 'item' ,
53- href : ` ${ config . LMS_BASE_URL } /dashboard` ,
58+ href : dashboardURL ,
5459 content : intl . formatMessage ( messages [ 'header.user.menu.dashboard' ] ) ,
5560 } ,
5661 {
5762 type : 'item' ,
58- href : `${ config . ACCOUNT_PROFILE_URL } /u/${ authenticatedUser . username } ` ,
63+ href : config . EXTERNAL_ACCOUNT_PROFILE_URL ? config . EXTERNAL_ACCOUNT_PROFILE_URL : `${ config . ACCOUNT_PROFILE_URL } /u/${ authenticatedUser . username } ` ,
5964 content : intl . formatMessage ( messages [ 'header.user.menu.profile' ] ) ,
6065 } ,
6166 {
6267 type : 'item' ,
6368 href : config . ACCOUNT_SETTINGS_URL ,
64- content : intl . formatMessage ( messages [ 'header.user.menu.account. settings' ] ) ,
69+ content : config . SHOW_SETTINGS_LABEL === 'true' ? intl . formatMessage ( messages [ 'header.user.menu.settings' ] ) : intl . formatMessage ( messages [ 'header.user.menu.account '] ) ,
6570 } ,
6671 {
6772 type : 'item' ,
@@ -88,12 +93,19 @@ const Header = ({ intl }) => {
8893 } ,
8994 ] ;
9095
96+ let name = null ;
97+ if ( authenticatedUser !== null && config . SHOW_FULLNAME === 'true' ) {
98+ name = authenticatedUser . name ;
99+ } else if ( authenticatedUser !== null ) {
100+ name = authenticatedUser . username ;
101+ }
102+
91103 const props = {
92104 logo : config . LOGO_URL ,
93105 logoAltText : config . SITE_NAME ,
94- logoDestination : `${ config . LMS_BASE_URL } /dashboard` ,
106+ logoDestination : config . DASHBOARD_URL ? config . DASHBOARD_URL : `${ config . LMS_BASE_URL } /dashboard` ,
95107 loggedIn : authenticatedUser !== null ,
96- username : authenticatedUser !== null ? authenticatedUser . username : null ,
108+ username : name ,
97109 avatar : authenticatedUser !== null ? authenticatedUser . avatar : null ,
98110 mainMenu : getConfig ( ) . AUTHN_MINIMAL_HEADER ? [ ] : mainMenu ,
99111 userMenu : getConfig ( ) . AUTHN_MINIMAL_HEADER ? [ ] : userMenu ,
0 commit comments