import { useRouter } from "next/router"; import { useState } from "react"; import { useForm } from "react-hook-form"; import { Toaster } from "react-hot-toast"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import { Alert } from "@calcom/ui/Alert"; import Button from "@calcom/ui/Button"; import { Form, TextField } from "@calcom/ui/form/fields"; export default function CalDavCalendarSetup() { const { t } = useLocale(); const router = useRouter(); const form = useForm({ defaultValues: { url: "", username: "", password: "", }, }); const [errorMessage, setErrorMessage] = useState(""); return (
{/* eslint-disable @next/next/no-img-element */} CalDav Calendar

{t("connect_caldav_server")}

{t("credentials_stored_encrypted")}
{ 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 || t("something_went_wrong")); } else { router.push(json.url); } }}>
{errorMessage && }
); }