import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; import { FormProvider, useForm } from "react-hook-form"; import { AlertVariant, Button, ButtonVariant, Form, Modal, ModalVariant, } from "@patternfly/react-core"; import type AuthenticationFlowRepresentation from "@keycloak/keycloak-admin-client/lib/defs/authenticationFlowRepresentation"; import { useAdminClient } from "../context/auth/AdminClient"; import { useAlerts } from "../components/alert/Alerts"; import { NameDescription } from "./form/NameDescription"; type EditFlowModalProps = { flow: AuthenticationFlowRepresentation; toggleDialog: () => void; }; type EditForm = { alias: string; description: string; }; export const EditFlowModal = ({ flow, toggleDialog }: EditFlowModalProps) => { const { t } = useTranslation("authentication"); const form = useForm({ shouldUnregister: false, }); const { reset, handleSubmit } = form; const { adminClient } = useAdminClient(); const { addAlert, addError } = useAlerts(); useEffect(() => { reset(flow); }, [flow, reset]); const save = async (values: EditForm) => { try { await adminClient.authenticationManagement.updateFlow( { flowId: flow.id! }, { ...flow, ...values } ); addAlert(t("updateFlowSuccess"), AlertVariant.success); } catch (error) { addError("authentication:updateFlowError", error); } toggleDialog(); }; return ( {t("edit")} , , ]} >
); };