import { Link, useLocation, useNavigate } from "react-router-dom"; import { useEffect } from "react"; import { Box, Button, Container, IconButton, Typography, useTheme } from "@mui/material"; import SectionWrapper from "../SectionWrapper"; import { basketStore } from "@stores/BasketStore"; import { authStore } from "@stores/makeRequest"; import LogoutIcon from "../icons/LogoutIcon"; import WalletIcon from "../icons/WalletIcon"; import CustomAvatar from "./Avatar"; import Drawers from "../Drawers"; import PenaLogo from "../PenaLogo"; import Menu from "../Menu"; import { logout } from "@root/api/auth"; import { enqueueSnackbar } from "notistack"; import { clearUser, useUserStore } from "@root/stores/user"; import { getMessageFromFetchError } from "@root/utils/backendMessageHandler"; interface Props { isLoggedIn: boolean; } export default function NavbarFull({ isLoggedIn }: Props) { const theme = useTheme(); const { clearToken } = authStore(); const location = useLocation(); const navigate = useNavigate(); const user = useUserStore((state) => state.user); const { open } = basketStore(); useEffect(() => { if (location.pathname === "/basket") { open(false); } }, [location.pathname, open]); async function handleLogoutClick() { try { await logout(); clearToken(); clearUser(); navigate("/"); } catch (error: any) { const message = getMessageFromFetchError(error, "Не удалось выйти"); if (message) enqueueSnackbar(message); } } return isLoggedIn ? ( Мой баланс 00.00 руб. ) : ( <> ); }