import { useState } from "react"; import { useKeycloakThemeTranslation } from "./i18n/useKeycloakTranslation"; import { keycloakPagesContext } from "./keycloakFtlValues"; import { assert } from "evt/tools/typeSafety/assert"; import { cx } from "tss-react"; import { useKeycloakLanguage, AvailableLanguages } from "./i18n/useKeycloakLanguage"; import { getLanguageLabel } from "./i18n/getLanguageLabel"; import { useCallbackFactory } from "powerhooks"; export type Props = { displayInfo?: boolean; displayMessage: boolean; displayRequiredFields: boolean; displayWide: boolean; showAnotherWayIfPresent: boolean; }; export function Template(props: Props) { const { displayInfo = false, displayMessage = true, displayRequiredFields = false, displayWide = false, showAnotherWayIfPresent = true } = props; const { t } = useKeycloakThemeTranslation(); const { keycloakLanguage, setKeycloakLanguage } = useKeycloakLanguage(); const onChangeLanguageClickFactory = useCallbackFactory( ([languageTag]: [AvailableLanguages]) => setKeycloakLanguage(languageTag) ); const [{ realm, locale, auth }] = useState(() => { assert(keycloakPagesContext !== undefined); return keycloakPagesContext; }); //
return (
{t("loginTitleHtml", realm.displayNameHtml)}
{ ( realm.internationalizationEnabled && (assert(locale !== undefined), true) && locale.supported.length > 1 ) && (
{getLanguageLabel(keycloakLanguage)}
) } { ( auth !== undefined && auth.showUsername && !auth.showResetCredentials ) ? ( displayRequiredFields ? (
* {t("requiredFields")}

<#nested "header">

) : (

<#nested "header">

) ) : ( displayRequiredFields ? (
* ${msg("requiredFields")}
<#nested "show-username">
) : ( <#nested "show-username">
) ) }
<#-- App-initiated actions should not see warning messages about the need to complete the action --> <#-- during login. --> <#if displayMessage && message?has_content && (message.type != 'warning' || !isAppInitiatedAction??)>
<#if message. <#if message. <#if message. <#if message.
<#nested "form" > <#if auth?has_content && auth.showTryAnotherWayLink() && showAnotherWayIfPresent >
class="${properties.kcContentWrapperClass!}" >
class="${properties.kcFormSocialAccountContentClass!} ${properties.kcFormSocialAccountClass!}" >
<#if displayInfo>
<#nested "info">
); }