import { useRouter } from "next/navigation"; import { useState } from "react"; import { useForm } from "react-hook-form"; import { Toaster } from "sonner"; import { APP_NAME } from "@calcom/lib/constants"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import { PasswordField } from "@calcom/ui/components/form"; import { TextField } from "@calcom/ui/components/form"; import { Alert } from "@calcom/ui/components/alert"; import { Button } from "@calcom/ui/components/button"; import { Form } from "@calcom/ui/components/form"; export default function AppleCalendarSetup() { const { t } = useLocale(); const router = useRouter(); const form = useForm({ defaultValues: { username: "", password: "", }, }); const [errorMessage, setErrorMessage] = useState(""); return (
{/* eslint-disable @next/next/no-img-element */} Apple Calendar

{t("connect_apple_server")}

{t("apple_server_generate_password", { appName: APP_NAME })}{" "} https://appleid.apple.com/account/manage . {t("credentials_stored_encrypted")}
{ try { setErrorMessage(""); const res = await fetch("/api/integrations/applecalendar/add", { method: "POST", body: JSON.stringify(values), headers: { "Content-Type": "application/json", }, }); const json = await res.json(); if (!res.ok) { setErrorMessage(t(json?.message) || t("something_went_wrong")); } else { router.push(json.url); } } catch (err) { setErrorMessage(t("unable_to_add_apple_calendar")); } }}>
{errorMessage && }
); }