import { PropsWithChildren, useContext } from 'react' import { Link } from 'react-router-dom' import { Theme } from '@mui/material/styles' import MuiDrawer from '@mui/material/Drawer' import List from '@mui/material/List' import Typography from '@mui/material/Typography' import Divider from '@mui/material/Divider' import IconButton from '@mui/material/IconButton' import ChevronLeftIcon from '@mui/icons-material/ChevronLeft' import ChevronRightIcon from '@mui/icons-material/ChevronRight' import ListItem from '@mui/material/ListItem' import ListItemButton from '@mui/material/ListItemButton' import ListItemIcon from '@mui/material/ListItemIcon' import ListItemText from '@mui/material/ListItemText' import Home from '@mui/icons-material/Home' import QuestionMark from '@mui/icons-material/QuestionMark' import Brightness4Icon from '@mui/icons-material/Brightness4' import Brightness7Icon from '@mui/icons-material/Brightness7' import { routes } from 'config/routes' import { SettingsContext } from 'contexts/SettingsContext' import { PeerNameDisplay } from 'components/PeerNameDisplay' import { DrawerHeader } from './DrawerHeader' export const drawerWidth = 240 export interface DrawerProps extends PropsWithChildren { isDrawerOpen: boolean onDrawerClose: () => void onHomeLinkClick: () => void onAboutLinkClick: () => void theme: Theme userPeerId: string } export const Drawer = ({ isDrawerOpen, onDrawerClose, onHomeLinkClick, onAboutLinkClick, theme, userPeerId, }: DrawerProps) => { const settingsContext = useContext(SettingsContext) const colorMode = settingsContext.getUserSettings().colorMode const handleColorModeToggleClick = () => { const newMode = colorMode === 'light' ? 'dark' : 'light' settingsContext.updateUserSettings({ colorMode: newMode }) } return ( {theme.direction === 'ltr' ? ( ) : ( )} Your user name:{' '} {userPeerId} } /> {theme.palette.mode === 'dark' ? ( ) : ( )} ) }