import { connectAmo } from "@/api/integration"; import CustomCheckbox from "@/ui_kit/CustomCheckbox"; import { Box, Button, Dialog, Typography, useMediaQuery, useTheme } from "@mui/material"; import { useState } from "react"; const HIDE_DIALOG_EXPIRATION_PERIOD = 24 * 60 * 60 * 1000; interface Props { initialOpen: boolean; } export default function AmoTokenExpiredDialog({ initialOpen }: Props) { const theme = useTheme(); const [isDialogOpen, setIsDialogOpen] = useState(() => { const hideExpirationTime = Number(localStorage.getItem("hideAmoTokenExpiredDialogExpirationTime")); if (hideExpirationTime && hideExpirationTime > Date.now()) return false; return initialOpen; }); const [isHideDialogForADayChecked, setIsHideDialogForADayChecked] = useState(false); const onAmoClick = async () => { const [url, error] = await connectAmo(); if (url && !error) { window.open(url, "_blank"); } }; function handleDialogClose() { if (isHideDialogForADayChecked) { const expirationDate = Date.now() + HIDE_DIALOG_EXPIRATION_PERIOD; localStorage.setItem("hideAmoTokenExpiredDialogExpirationTime", expirationDate.toString()); } setIsDialogOpen(false); } return ( Ваш amo-токен не работает Amo отозвал ваш токен. Зайдите заново в свой аккаунт, чтобы вам снова начали приходить сделки. { setIsHideDialogForADayChecked(target.checked); }} /> ); }