import * as React from "react"; import Box from "@mui/material/Box"; import Toolbar from "@mui/material/Toolbar"; import IconButton from "@mui/material/IconButton"; import { Menu, ChevronLeftIcon, ChevronRightIcon, User } from "lucide-react"; import { useTheme } from "@mui/material/styles"; import { AppBar } from "./ui/AppBar"; import { Drawer } from "./ui/Drawer"; import { DrawerHeader } from "./ui/DrawerHeader"; import { NavigationList } from "@features"; import { authStore, menuStore, isMediaIdEmpty } from "@shared"; import { observer } from "mobx-react-lite"; import { useEffect } from "react"; import { Typography } from "@mui/material"; import { CitySelector } from "@widgets"; interface LayoutProps { children: React.ReactNode; } export const Layout: React.FC = observer(({ children }) => { const theme = useTheme(); const [open, setOpen] = React.useState(true); const { setIsMenuOpen } = menuStore; React.useEffect(() => { setIsMenuOpen(open); }, [open]); const { getMeAction, me } = authStore; useEffect(() => { getMeAction(); }, []); const handleDrawerOpen = () => { setOpen(true); }; const handleDrawerClose = () => { setOpen(false); }; return (
{(() => { const hasAvatar = me?.icon && !isMediaIdEmpty(me.icon); const token = localStorage.getItem("token"); return ( <>

{me?.name}

{me?.roles?.includes("admin") ? "Администратор" : "Режим пользователя"}
{hasAvatar ? ( Аватар ) : ( )}
); })()}
{ setOpen(!open); }} > logo Белые ночи {open && ( {theme.direction === "rtl" ? ( ) : ( )} )}
v.{__APP_VERSION__}
{children}
); });