import { useEffect, memo } from "react"; import { Template } from "./Template"; import type { KcProps } from "./KcProps"; import type { KcContextBase } from "../getKcContext/KcContextBase"; import { useKcMessage } from "../i18n/useKcMessage"; import { appendHead } from "../tools/appendHead"; import { join as pathJoin } from "path"; import { useCssAndCx } from "tss-react"; export const LoginOtp = memo( ({ kcContext, ...props }: { kcContext: KcContextBase.LoginOtp } & KcProps) => { const { otpLogin, url } = kcContext; const { cx } = useCssAndCx(); const { msg, msgStr } = useKcMessage(); useEffect(() => { let isCleanedUp = false; appendHead({ "type": "javascript", "src": pathJoin( kcContext.url.resourcesCommonPath, "node_modules/jquery/dist/jquery.min.js", ), }).then(() => { if (isCleanedUp) return; evaluateInlineScript(); }); return () => { isCleanedUp = true; }; }, []); return (