import { useEffect } from "react"; import { clsx } from "keycloakify/tools/clsx"; import { kcSanitize } from "keycloakify/lib/kcSanitize"; import { getKcClsx } from "keycloakify/account/lib/kcClsx"; import { useSetClassName } from "keycloakify/tools/useSetClassName"; import { useInitialize } from "keycloakify/account/Template.useInitialize"; import type { TemplateProps } from "keycloakify/account/TemplateProps"; import type { I18n } from "./i18n"; import type { KcContext } from "./KcContext"; export default function Template(props: TemplateProps) { const { kcContext, i18n, doUseDefaultCss, active, classes, children } = props; const { kcClsx } = getKcClsx({ doUseDefaultCss, classes }); const { msg, msgStr, currentLanguage, enabledLanguages } = i18n; const { url, features, realm, message, referrer } = kcContext; useEffect(() => { document.title = msgStr("accountManagementTitle"); }, []); useSetClassName({ qualifiedName: "html", className: kcClsx("kcHtmlClass") }); useSetClassName({ qualifiedName: "body", className: clsx("admin-console", "user", kcClsx("kcBodyClass")) }); const { isReadyToRender } = useInitialize({ kcContext, doUseDefaultCss }); if (!isReadyToRender) { return null; } return ( <>
{message !== undefined && (
{message.type === "success" && } {message.type === "error" && }
)} {children}
); }