/* eslint-disable */ // @ts-nocheck import type ComponentRepresentation from "@keycloak/keycloak-admin-client/lib/defs/componentRepresentation"; import { useAlerts, useFetch } from "../../shared/keycloak-ui-shared"; import { ActionGroup, AlertVariant, Button, Form, PageSection, } from "../../shared/@patternfly/react-core"; import { FormProvider, useForm } from "react-hook-form"; import { useTranslation } from "react-i18next"; import { useNavigate } from "react-router-dom"; import { useAdminClient } from "../admin-client"; import { useRealm } from "../context/realm-context/RealmContext"; import { useParams } from "../utils/useParams"; import { KerberosSettingsRequired } from "./kerberos/KerberosSettingsRequired"; import { toUserFederation } from "./routes/UserFederation"; import { Header } from "./shared/Header"; import { SettingsCache } from "./shared/SettingsCache"; export default function UserFederationKerberosSettings() { const { adminClient } = useAdminClient(); const { t } = useTranslation(); const form = useForm({ mode: "onChange" }); const navigate = useNavigate(); const { realm } = useRealm(); const { id } = useParams<{ id?: string }>(); const { addAlert, addError } = useAlerts(); useFetch( async () => { if (id) { return adminClient.components.findOne({ id }); } }, (fetchedComponent) => { if (fetchedComponent) { setupForm(fetchedComponent); } else if (id) { throw new Error(t("notFound")); } }, [], ); const setupForm = (component: ComponentRepresentation) => { form.reset({ ...component }); }; const save = async (component: ComponentRepresentation) => { try { if (!id) { await adminClient.components.create(component); navigate(`/${realm}/user-federation`); } else { await adminClient.components.update({ id }, component); } setupForm(component as ComponentRepresentation); addAlert( t(!id ? "createUserProviderSuccess" : "userProviderSaveSuccess"), AlertVariant.success, ); } catch (error) { addError( !id ? "createUserProviderError" : "userProviderSaveError", error, ); } }; return (
form.handleSubmit(save)()} />
); }