import { useState } from "react"; import { Controller, useForm } from "react-hook-form"; import { Dialog } from "@calcom/features/components/controlled-dialog"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import { trpc } from "@calcom/trpc/react"; import { Button } from "@calcom/ui/components/button"; import { DialogContent, DialogFooter } from "@calcom/ui/components/dialog"; import { Form, TextField, SelectField } from "@calcom/ui/components/form"; import { showToast } from "@calcom/ui/components/toast"; import { directoryProviders } from "@calcom/features/ee/dsync/lib/directoryProviders"; const defaultValues = { name: "", provider: directoryProviders[0].value, }; const CreateDirectory = ({ orgId }: { orgId: number | null }) => { const { t } = useLocale(); const utils = trpc.useUtils(); const form = useForm({ defaultValues }); const [openModal, setOpenModal] = useState(false); const mutation = trpc.viewer.dsync.create.useMutation({ async onSuccess() { showToast(t("directory_sync_created"), "success"); await utils.viewer.dsync.invalidate(); setOpenModal(false); }, }); return ( <>

{t("directory_sync_title")}

{ mutation.mutate({ ...values, organizationId: orgId, }); }}>

{t("directory_sync_configure")}

{t("directory_sync_configure_description")}

( { form.setValue("name", e?.target.value); }} type="text" required /> )} /> ( { if (option) { form.setValue("provider", option.value); } }} /> )} />
); }; export default CreateDirectory;