import { MouseEvent, useRef, useState } from "react"; import { getKcClsx } from "keycloakify/login/lib/kcClsx"; import type { PageProps } from "keycloakify/login/pages/PageProps"; import type { KcContext } from "../KcContext"; import type { I18n } from "../i18n"; export default function SelectOrganization(props: PageProps, I18n>) { const { kcContext, i18n, doUseDefaultCss, Template, classes } = props; const { kcClsx } = getKcClsx({ doUseDefaultCss, classes }); const { url, user } = kcContext; const { msg } = i18n; const [isSubmitting, setIsSubmitting] = useState(false); const formRef = useRef(null); const organizationInputRef = useRef(null); const onOrganizationClick = (organizationAlias: string) => (event: MouseEvent) => { event.preventDefault(); if (!organizationInputRef.current || !formRef.current) { return; } organizationInputRef.current.value = organizationAlias; setIsSubmitting(true); if (typeof formRef.current.requestSubmit === "function") { formRef.current.requestSubmit(); return; } formRef.current.submit(); }; const organizations = user.organizations ?? []; const shouldDisplayGrid = organizations.length > 3; return ( ); }