"use client"; import { FC, PropsWithChildren, useEffect, useState } from "react"; import { SetupModeWarning } from "./SetupModeWarning"; import { AppBar as MuiAppBar, ToolbarProps, Box, Grid, IconButton, styled, Toolbar, Typography, Menu, useTheme, useMediaQuery, } from "@mui/material"; import { Sidebar } from "./Sidebar"; import { ExpandCircleDown, MenuBookTwoTone, MenuSharp, } from "@mui/icons-material"; import { fonts } from "@link-stack/ui"; import Image from "next/image"; import LinkLogo from "public/link-logo-small.png"; import { usePathname } from 'next/navigation'; interface InternalLayoutProps extends PropsWithChildren { setupModeActive: boolean; leafcutterEnabled: boolean; } export const InternalLayout: FC = ({ children, setupModeActive, leafcutterEnabled, }) => { const { poppins } = fonts; const theme = useTheme(); const mobile = useMediaQuery(theme.breakpoints.down("sm")); const [open, setOpen] = useState(false); const [openWidth, setOpenWidth] = useState(0); const [closedWidth, setClosedWidth] = useState(0); const pathname = usePathname(); useEffect(() => { // On mobile, close menu when stuff is selected if (mobile) { setOpen(false); } }, [pathname]); useEffect(() => { setClosedWidth(mobile ? 0 : 70); setOpenWidth(270); setOpen(!mobile); }, [mobile]); interface HeaderBarProps extends ToolbarProps { open?: boolean; } const HeaderBar = styled(Toolbar, { shouldForwardProp: (prop) => prop !== "open", })(({ theme, open }) => ({ backgroundColor: "#25272A", width: "100%", height: "56px", })); return ( {mobile ? ( setOpen(true)} > CDR Link Link logo ) : (null)} {children as any} ); };