diff --git a/src/index.tsx b/src/index.tsx index 3c9bad5dc..90ffe98aa 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -11,31 +11,35 @@ const AppEntrypoint = lazy(() => import('./index.app')) const container = document.getElementById('root') as HTMLElement const root = createRoot(container) -const appConfigInit = initAppConfig() - -if (!appConfigInit.ok) { +if (window.kcContext) { root.render( - + + + ) } else { - const appConfig = requireAppConfig() + const appConfigInit = initAppConfig() - ApiConfig.init( - `${appConfig.backendUrl}/api/v1`, - DataverseApiAuthMechanism.BEARER_TOKEN, - undefined, - `${appConfig.oidc.localStorageKeyPrefix}token` - ) + if (!appConfigInit.ok) { + root.render( + + ) + } else { + const appConfig = requireAppConfig() - root.render( - - {window.kcContext ? ( - - ) : ( + ApiConfig.init( + `${appConfig.backendUrl}/api/v1`, + DataverseApiAuthMechanism.BEARER_TOKEN, + undefined, + `${appConfig.oidc.localStorageKeyPrefix}token` + ) + + root.render( + - )} - - ) + + ) + } } diff --git a/src/keycloak-theme/login/i18n.ts b/src/keycloak-theme/login/i18n.ts index 263ad3762..3d28ab996 100644 --- a/src/keycloak-theme/login/i18n.ts +++ b/src/keycloak-theme/login/i18n.ts @@ -3,7 +3,16 @@ import { i18nBuilder } from 'keycloakify/login' import type { ThemeName } from '../kc.gen' /** @see: https://docs.keycloakify.dev/features/i18n */ -const { useI18n, ofTypeI18n } = i18nBuilder.withThemeName().build() +const { useI18n, ofTypeI18n } = i18nBuilder + .withThemeName() + .withCustomTranslations({ + en: { + signInNoticeTitle: 'Note', + signInNoticeBody: + 'Please use your Username/Email or Institutional Account to sign in. Other identity providers(ORCID, GitHub, Microsoft and Google) are not supported for Dataverse SPA.' + } + }) + .build() type I18n = typeof ofTypeI18n diff --git a/src/keycloak-theme/login/pages/Login.tsx b/src/keycloak-theme/login/pages/Login.tsx index 67de4822a..3e3cb67cf 100644 --- a/src/keycloak-theme/login/pages/Login.tsx +++ b/src/keycloak-theme/login/pages/Login.tsx @@ -5,7 +5,7 @@ import { useIsPasswordRevealed } from 'keycloakify/tools/useIsPasswordRevealed' import type { PageProps } from 'keycloakify/login/pages/PageProps' import type { KcContext } from '../KcContext' import type { I18n } from '../i18n' -import { Button, Col, Form } from '@iqss/dataverse-design-system' +import { Alert, Button, Col, Form } from '@iqss/dataverse-design-system' import { EyeFill, EyeSlashFill, @@ -92,6 +92,9 @@ export default function Login(props: PageProps }> + + {msg('signInNoticeBody')} +
{realm.password && (