"use client"; import ChevronRightIcon from "@mui/icons-material/ChevronRight"; import MenuIcon from "@mui/icons-material/Menu"; import { Box, Drawer, IconButton, Stack, styled, Toolbar, Typography, useMediaQuery, useTheme } from "@mui/material"; import MuiAppBar from "@mui/material/AppBar"; import { useState, useEffect } from "react"; import HeaderMenu from "./HeaderMenu"; import moment from "jalali-moment"; import { headerMenu } from "@/core/utils/headerMenu"; import SidebarMenu from "./Sidebar/SidebarMenu"; const drawerWidth = 300; const headersHeight = 136; const Main = styled(Stack, { shouldForwardProp: (prop) => prop !== "open" })(({ theme, open }) => ({ flexGrow: 1, height: "100%", transition: theme.transitions.create("margin", { easing: theme.transitions.easing.sharp, duration: theme.transitions.duration.leavingScreen, }), marginLeft: `-${drawerWidth}px`, ...(open && { transition: theme.transitions.create("margin", { easing: theme.transitions.easing.easeOut, duration: theme.transitions.duration.enteringScreen, }), marginLeft: 0, }), })); const AppBar = styled(MuiAppBar, { shouldForwardProp: (prop) => prop !== "open", })(({ theme, open }) => ({ transition: theme.transitions.create(["margin", "width"], { easing: theme.transitions.easing.sharp, duration: theme.transitions.duration.leavingScreen, }), ...(open && { width: `calc(100% - ${drawerWidth}px)`, marginLeft: `${drawerWidth}px`, transition: theme.transitions.create(["margin", "width"], { easing: theme.transitions.easing.easeOut, duration: theme.transitions.duration.enteringScreen, }), }), })); const DrawerHeader = styled("div")(({ theme }) => ({ display: "flex", alignItems: "center", padding: theme.spacing(0, 1), ...theme.mixins.toolbar, minHeight: "40px !important", justifyContent: "flex-end", })); const HeaderWithSidebar = ({ children }) => { const theme = useTheme(); const isMobile = useMediaQuery(theme.breakpoints.down("md")); // Detect mobile/tablet screen const [open, setOpen] = useState(!isMobile); // Initial state based on screen size useEffect(() => { setOpen(!isMobile); // Toggle state when screen size changes }, [isMobile]); const now = moment().locale("fa").format("YYYY/MM/DD"); const handleDrawerOpen = () => { setOpen(true); }; const handleDrawerClose = () => { setOpen(false); }; return ( {headerMenu.map((menu) => ( ))} تاریخ امروز: {now} v{process.env.NEXT_PUBLIC_VERSION}
{children}
); }; export default HeaderWithSidebar;