import type { Page } from './Header'; import type { AuthUser } from '../../hooks/useAuth'; import { DownloadIcon } from './icons/DownloadIcon'; import { BookmarkIcon } from './icons/BookmarkIcon'; import { CheckIcon } from './icons/CheckIcon'; import { ClipboardIcon } from './icons/ClipboardIcon'; import { CloseIcon } from './icons/CloseIcon'; import { SunIcon } from './icons/SunIcon'; import { MoonIcon } from './icons/MoonIcon'; import { SpinnerIcon } from './icons/SpinnerIcon'; interface MobileMenuProps { activePage: Page; onPageChange: (page: Page) => void; theme: 'light' | 'dark'; onToggleTheme: () => void; onExport: (() => void) | null; exporting: boolean; onSaveSearch: (() => void) | null; savingSearch: boolean; user: AuthUser | null; onLoginClick: () => void; onRegisterClick: () => void; onLogout: () => void; onClose: () => void; onShare: () => void; copied: boolean; } export default function MobileMenu({ activePage, onPageChange, theme, onToggleTheme, onExport, exporting, onSaveSearch, savingSearch, user, onLoginClick, onRegisterClick, onLogout, onClose, onShare, copied, }: MobileMenuProps) { const mobileNavItem = (page: Page, label: string) => ( ); return ( <> {/* Backdrop */}
{/* Menu panel */}
Menu
{/* Theme toggle + Auth section at bottom */}
{/* Theme toggle */} {/* Auth buttons */}
{user ? (
{user.email}
) : (
)}
); }