import type { PageProps } from "keycloakify/login/pages/PageProps"; import { useGetClassName } from "keycloakify/login/lib/useGetClassName"; import type { KcContext } from "keycloakify/login/kcContext"; import type { I18n } from "keycloakify/login/i18n"; import { MouseEvent, useRef } from "react"; import { useConstCallback } from "keycloakify/tools/useConstCallback"; export default function SelectAuthenticator(props: PageProps, I18n>) { const { kcContext, i18n, doUseDefaultCss, Template, classes } = props; const { url, auth } = kcContext; const { getClassName } = useGetClassName({ doUseDefaultCss, classes }); const { msg } = i18n; const selectCredentialsForm = useRef(null); const authExecIdInput = useRef(null); const submitForm = useConstCallback(() => { selectCredentialsForm.current?.submit(); }); const onSelectedAuthenticator = useConstCallback((event: MouseEvent) => { const divElement = event.currentTarget; const authExecId = divElement.dataset.authExecId; if (!authExecIdInput.current || !authExecId) { return; } authExecIdInput.current.value = authExecId; submitForm(); }); return ( ); }