import { useState } from "react"; import { useForm } from "react-hook-form"; import { Alert } from "@calcom/ui/Alert"; import Button from "@calcom/ui/Button"; import { Dialog, DialogClose, DialogContent, DialogFooter, DialogHeader, DialogProps, } from "@calcom/ui/Dialog"; import { Form, TextField } from "@calcom/ui/form/fields"; export const ADD_INTEGRATION_FORM_TITLE = "addCalDav"; export type AddIntegrationRequest = { url: string; username: string; password: string; }; export function AddIntegrationModal(props: DialogProps) { const form = useForm({ defaultValues: { url: "", username: "", password: "", }, }); const [errorMessage, setErrorMessage] = useState(""); return (
{ setErrorMessage(""); const res = await fetch("/api/integrations/caldavcalendar/add", { method: "POST", body: JSON.stringify(values), headers: { "Content-Type": "application/json", }, }); const json = await res.json(); if (!res.ok) { setErrorMessage(json?.message || "Something went wrong"); } else { props.onOpenChange?.(false); } }}>
{errorMessage && } { props.onOpenChange?.(false); }} asChild>
); } export default AddIntegrationModal;