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, Button, Form, TextField } from "@calcom/ui"; export default function CalDavCalendarSetup() { const { t } = useLocale(); const router = useRouter(); const form = useForm({ defaultValues: { url: "", username: "", password: "", }, }); const [errorMessage, setErrorMessage] = useState(""); const [errorActionUrl, setErrorActionUrl] = 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")); if (json.actionUrl) { setErrorActionUrl(json.actionUrl); } } else { router.push(json.url); } }}>
{errorMessage && ( Go to Admin ) : undefined } className="my-4" /> )}
); }