/* eslint-disable */ // @ts-nocheck import type AuthenticationFlowRepresentation from "@keycloak/keycloak-admin-client/lib/defs/authenticationFlowRepresentation"; import { ActionGroup, AlertVariant, Button, PageSection, } from "../../../shared/@patternfly/react-core"; import { FormProvider, useForm } from "react-hook-form"; import { useTranslation } from "react-i18next"; import { Link, useNavigate } from "react-router-dom"; import { FormSubmitButton, SelectControl, useAlerts, } from "../../../shared/keycloak-ui-shared"; import { useAdminClient } from "../../admin-client"; import { FormAccess } from "../../components/form/FormAccess"; import { ViewHeader } from "../../components/view-header/ViewHeader"; import { useRealm } from "../../context/realm-context/RealmContext"; import { toAuthentication } from "../routes/Authentication"; import { toFlow } from "../routes/Flow"; import { NameDescription } from "./NameDescription"; const TYPES = ["basic-flow", "client-flow"] as const; export default function CreateFlow() { const { adminClient } = useAdminClient(); const { t } = useTranslation(); const navigate = useNavigate(); const { realm } = useRealm(); const { addAlert, addError } = useAlerts(); const form = useForm(); const { handleSubmit, formState } = form; const onSubmit = async (formValues: AuthenticationFlowRepresentation) => { const flow = { ...formValues, builtIn: false, topLevel: true }; try { const { id } = await adminClient.authenticationManagement.createFlow(flow); addAlert(t("flowCreatedSuccess"), AlertVariant.success); navigate( toFlow({ realm, id: id!, usedBy: "notInUse", }), ); } catch (error) { addError("flowCreateError", error); } }; return ( <> ({ key: type, value: t(`top-level-flow-type.${type}`), }))} /> {t("create")} ); }