import type { IMailLabel } from 'src/types/mail'; import Box from '@mui/material/Box'; import Stack from '@mui/material/Stack'; import Drawer from '@mui/material/Drawer'; import Button from '@mui/material/Button'; import { CONFIG } from 'src/global-config'; import { Iconify } from 'src/components/iconify'; import { Scrollbar } from 'src/components/scrollbar'; import { EmptyContent } from 'src/components/empty-content'; import { MailNavItem } from './mail-nav-item'; import { MailNavItemSkeleton } from './mail-skeleton'; // ---------------------------------------------------------------------- type Props = { isEmpty: boolean; openNav: boolean; loading: boolean; labels: IMailLabel[]; selectedLabelId: string; onCloseNav: () => void; onToggleCompose: () => void; onClickLabel: (labelId: string) => void; }; export function MailNav({ isEmpty, loading, labels, openNav, onCloseNav, onClickLabel, selectedLabelId, onToggleCompose, }: Props) { const renderLoading = () => ( ); const renderEmpty = () => ( ); const renderList = () => isEmpty ? ( renderEmpty() ) : ( ); const renderContent = () => ( <> ({ p: { xs: 2.5, md: theme.spacing(2, 1.5) } })}> {loading ? renderLoading() : renderList()} ); return ( <> {renderContent()} {renderContent()} ); }