import type { Content } from '#api/content/$' import { Cross2Icon, HamburgerMenuIcon } from '@radix-ui/react-icons' import { Box, Flex, IconButton, Text } from '@radix-ui/themes' import { useEffect } from 'react' import { Sidebar } from '../components/sidebar/Sidebar.js' export interface HamburgerMenuProps { isOpen: boolean onToggle: () => void onClose: () => void sidebarData: Content.Item[] } export const HamburgerMenu: React.FC = ({ isOpen, onToggle, onClose, sidebarData, }) => { // Prevent body scroll when mobile menu is open useEffect(() => { if (isOpen) { document.body.style.overflow = `hidden` } else { document.body.style.overflow = `` } // Cleanup return () => { document.body.style.overflow = `` } }, [isOpen]) return ( <> {/* Mobile menu button - show on mobile/tablet, hide on desktop */} {isOpen ? : } {/* Mobile Sidebar Drawer */} {isOpen && ( <> {/* Backdrop */} {/* Drawer */} Navigation )} ) }