import { styled } from '@mui/material/styles' import MuiAppBar, { AppBarProps as MuiAppBarProps } from '@mui/material/AppBar' import Toolbar from '@mui/material/Toolbar' import Typography from '@mui/material/Typography' import StepIcon from '@mui/material/StepIcon' import Tooltip from '@mui/material/Tooltip' import IconButton from '@mui/material/IconButton' import MenuIcon from '@mui/icons-material/Menu' import LinkIcon from '@mui/icons-material/Link' import { drawerWidth } from './Drawer' interface AppBarProps extends MuiAppBarProps { open?: boolean } export 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, }), }), })) interface ShellAppBarProps { doShowPeers: boolean handleDrawerOpen: () => void handleLinkButtonClick: () => Promise isDrawerOpen: boolean numberOfPeers: number title: string } export const ShellAppBar = ({ doShowPeers, handleDrawerOpen, handleLinkButtonClick, isDrawerOpen, numberOfPeers, title, }: ShellAppBarProps) => { return ( {title} {doShowPeers ? ( ) : null} ) }