import { useMutation } from "@tanstack/react-query"; import type { Dispatch, SetStateAction } from "react"; import { useState } from "react"; import dayjs from "@calcom/dayjs"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import logger from "@calcom/lib/logger"; import { trpc } from "@calcom/trpc/react"; import { Button, Dialog, DialogContent, DialogFooter, DialogHeader, showToast } from "@calcom/ui"; import { Clock } from "@calcom/ui/components/icon"; interface IConfirmDialogWipe { isOpenDialog: boolean; setIsOpenDialog: Dispatch>; } interface IWipeMyCalAction { initialDate: string; endDate: string; } const wipeMyCalAction = async (props: IWipeMyCalAction) => { const { initialDate, endDate } = props; const body = { initialDate, endDate, }; try { const endpoint = "/api/integrations/wipemycalother/wipe"; return fetch(`${process.env.NEXT_PUBLIC_WEBAPP_URL}` + endpoint, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify(body), }); } catch (error: unknown) { if (error instanceof Error) { showToast("Error ocurred while trying to cancel bookings", "error"); } } }; export const ConfirmDialog = (props: IConfirmDialogWipe) => { const { t } = useLocale(); const { isOpenDialog, setIsOpenDialog } = props; const [isLoading, setIsLoading] = useState(false); const today = dayjs(); const initialDate = today.startOf("day"); const endDate = today.endOf("day"); const dateFormat = "ddd, MMM D, YYYY h:mm A"; const utils = trpc.useContext(); const rescheduleApi = useMutation( async () => { setIsLoading(true); try { const result = await wipeMyCalAction({ initialDate: initialDate.toISOString(), endDate: endDate.toISOString(), }); if (result) { showToast(t("reschedule_request_sent"), "success"); setIsOpenDialog(false); } } catch (error) { showToast(t("unexpected_error_try_again"), "error"); // @TODO: notify } setIsLoading(false); }, { async onSettled() { await utils.viewer.bookings.invalidate(); }, } ); return ( e.preventDefault()}>

This will cancel all upcoming meetings from:
{" "} {initialDate.format(dateFormat)} - {endDate.format(dateFormat)}

Are you sure? This can't be undone

); };