import React, {useContext} from "react"; import { AlertVariant, Button, Form, FormGroup, Modal, ModalVariant, TextInput } from "@patternfly/react-core"; import { useTranslation } from "react-i18next"; import { HttpClientContext } from "../http-service/HttpClientContext"; import { RealmContext } from "../components/realm-context/RealmContext"; import { useAlerts } from "../components/alert/Alerts"; import { useForm } from "react-hook-form"; type GroupsCreateModalProps = { handleModalToggle: () => void; isCreateModalOpen: boolean; setIsCreateModalOpen: (isCreateModalOpen: boolean) => void; createGroupName: string; setCreateGroupName: (createGroupName: string) => void; }; export const GroupsCreateModal = ({handleModalToggle, isCreateModalOpen, setIsCreateModalOpen, createGroupName, setCreateGroupName}: GroupsCreateModalProps) => { const { t } = useTranslation("groups"); const httpClient = useContext(HttpClientContext)!; const { realm } = useContext(RealmContext); const [add, Alerts] = useAlerts(); const form = useForm(); const { register, errors } = form; const valueChange = (createGroupName: string) => { setCreateGroupName(createGroupName) } const submitForm = async () => { try { await httpClient.doPost(`/admin/realms/${realm}/groups`, {name: createGroupName}); setIsCreateModalOpen(false); setCreateGroupName(""); add(t("groupCreated"), AlertVariant.success); } catch (error) { add(`${t("couldNotCreateGroup")} ': '${error}'`, AlertVariant.danger); } } return ( submitForm()}> {t("create")} ]} >
); };