import React from "react"; import { AlertVariant, Button, Form, FormGroup, Modal, ModalVariant, TextInput, ValidatedOptions, } from "@patternfly/react-core"; import { useTranslation } from "react-i18next"; import { useAdminClient } from "../context/auth/AdminClient"; 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; refresh: () => void; }; export const GroupsCreateModal = ({ handleModalToggle, isCreateModalOpen, setIsCreateModalOpen, createGroupName, setCreateGroupName, refresh, }: GroupsCreateModalProps) => { const { t } = useTranslation("groups"); const adminClient = useAdminClient(); const { addAlert } = useAlerts(); const form = useForm(); const { register, errors } = form; const valueChange = (createGroupName: string) => { setCreateGroupName(createGroupName); }; const submitForm = async () => { if (await form.trigger()) { try { await adminClient.groups.create({ name: createGroupName }); refresh(); setIsCreateModalOpen(false); setCreateGroupName(""); addAlert(t("groupCreated"), AlertVariant.success); } catch (error) { addAlert( `${t("couldNotCreateGroup")} ': '${error}'`, AlertVariant.danger ); } } }; return ( <> submitForm()}> {t("create")} , ]} >
); };