import { connectAmo } from "@/api/integration"; import { setTryShowAmoTokenExpiredDialog } from "@/stores/uiTools/actions"; import { useUiTools } from "@/stores/uiTools/store"; import CustomCheckbox from "@/ui_kit/CustomCheckbox"; import { Box, Button, Dialog, Typography, useTheme } from "@mui/material"; import { useEffect, useState } from "react"; import { useLocation } from "react-router-dom"; const HIDE_DIALOG_EXPIRATION_PERIOD = 24 * 60 * 60 * 1000; interface Props { isAmoTokenExpired: boolean; } export default function AmoTokenExpiredDialog({ isAmoTokenExpired }: Props) { const theme = useTheme(); const tryShowAmoTokenExpiredDialog = useUiTools((state) => state.tryShowAmoTokenExpiredDialog); const [isHideDialogForADayChecked, setIsHideDialogForADayChecked] = useState(false); // const { hash, pathname, search } = useLocation(); const location = useLocation(); 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()); } setTryShowAmoTokenExpiredDialog(false); } useEffect(() => { setTryShowAmoTokenExpiredDialog(true); }, [location]); return ( Ваш amo-токен не работает Amo отозвал ваш токен. Зайдите заново в свой аккаунт, чтобы вам снова начали приходить сделки. setIsHideDialogForADayChecked(target.checked)} /> ); }