"use client";
import type { ManipulateType as DayjsManipulateType } from "dayjs";
import { useSession } from "next-auth/react";
import { useEffect, useState } from "react";
import dayjs from "@calcom/dayjs";
import { Dialog } from "@calcom/features/components/controlled-dialog";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import { CURRENT_TIMEZONE } from "@calcom/lib/timezoneConstants";
import { trpc } from "@calcom/trpc/react";
import { DialogContent, DialogFooter, DialogHeader, DialogClose } from "@calcom/ui/components/dialog";
import { showToast } from "@calcom/ui/components/toast";
function hideDialogFor(hideFor: [number, DayjsManipulateType], toastContent: string) {
document.cookie = `calcom-timezone-dialog=1;max-age=${
dayjs().add(hideFor[0], hideFor[1]).unix() - dayjs().unix()
}`;
if (toastContent) showToast(toastContent, "success");
}
const TimezoneChangeDialogContent = () => {
const { t, isLocaleReady } = useLocale();
if (!isLocaleReady) return null;
const utils = trpc.useUtils();
const formattedCurrentTz = CURRENT_TIMEZONE.replace("_", " ");
const onMutationSuccess = async () => {
showToast(
t("updated_timezone_to", { formattedCurrentTz, interpolation: { escapeValue: false } }),
"success"
);
await utils.viewer.me.invalidate();
};
const onMutationError = () => {
showToast(t("couldnt_update_timezone"), "error");
};
// update timezone in db
const mutation = trpc.viewer.me.updateProfile.useMutation({
onSuccess: onMutationSuccess,
onError: onMutationError,
});
const updateTimezone = () => {
mutation.mutate({
timeZone: CURRENT_TIMEZONE,
});
};
return (
<>