/* eslint-disable */ // @ts-nocheck import type { AuthenticationProviderRepresentation } from "@keycloak/keycloak-admin-client/lib/defs/authenticatorConfigRepresentation"; import { SelectControl, TextControl, useFetch, } from "../../../../shared/keycloak-ui-shared"; import { Button, ButtonVariant, Form, Modal, ModalVariant, } from "../../../../shared/@patternfly/react-core"; import { useEffect, useState } from "react"; import { FormProvider, useForm } from "react-hook-form"; import { useTranslation } from "react-i18next"; import { useAdminClient } from "../../../admin-client"; type AddSubFlowProps = { name: string; onConfirm: (flow: Flow) => void; onCancel: () => void; }; const types = ["basic-flow", "form-flow"] as const; export type Flow = { name: string; description: string; type: (typeof types)[number]; provider: string; }; export const AddSubFlowModal = ({ name, onConfirm, onCancel, }: AddSubFlowProps) => { const { adminClient } = useAdminClient(); const { t } = useTranslation(); const form = useForm(); const [formProviders, setFormProviders] = useState(); useFetch( () => adminClient.authenticationManagement.getFormProviders(), setFormProviders, [], ); useEffect(() => { if (formProviders?.length === 1) { form.setValue("provider", formProviders[0].id!); } }, [formProviders]); return ( {t("add")} , , ]} isOpen >
({ key: type, value: t(`flow-type.${type}`), }))} controller={{ defaultValue: types[0] }} /> {formProviders && formProviders.length > 1 && ( ({ key: provider.id!, value: provider.displayName!, }))} controller={{ defaultValue: "" }} /> )}
); };