// components/MobileMenu.tsx "use client"; import * as React from "react"; import Link from "next/link"; import { useRouter, usePathname } from "next/navigation"; import { MenuSection, MenuItem } from "@/config/menuConfig"; import { cn } from "@/lib/utils"; import { Drawer, DrawerContent, DrawerTitle, DrawerTrigger } from "@/components/ui/drawer"; import { Button } from "@/components/ui/button"; import { filterActiveMenus, filterActiveAdditionalMenus } from "@/hooks/use-active-menus"; interface MobileMenuProps { lng: string; onClose: () => void; activeMenus?: Record; domainMain?: MenuSection[]; // 헤더에서 계산된 도메인별 메인 메뉴 domainAdditional?: MenuItem[]; // 헤더에서 계산된 도메인별 추가 메뉴 } export function MobileMenu({ lng, onClose, activeMenus = {}, domainMain = [], domainAdditional = [] }: MobileMenuProps) { const router = useRouter(); const handleLinkClick = (href: string) => { router.push(href); onClose(); }; // 활성 메뉴만 필터링 (activeMenus가 빈 객체면 모든 메뉴 표시) const main = Object.keys(activeMenus).length > 0 ? filterActiveMenus(domainMain, activeMenus) : domainMain; const additional = Object.keys(activeMenus).length > 0 ? filterActiveAdditionalMenus(domainAdditional, activeMenus) : domainAdditional; return (
); }