diff options
| author | joonhoekim <26rote@gmail.com> | 2025-11-28 14:14:11 +0900 |
|---|---|---|
| committer | joonhoekim <26rote@gmail.com> | 2025-11-28 14:14:11 +0900 |
| commit | 167489a96d5d42d56368f0969c81dbc7bf5967bd (patch) | |
| tree | 62406ec9698b7454debdbc78d9fe406785823b43 /components/layout/GroupedMenuRender.tsx | |
| parent | 24e0b8c83f7d68156e5a63ba85a541c04036f00b (diff) | |
(김준회) 메뉴 네비게이션: 요구사항 반영(박진석 프로)
Diffstat (limited to 'components/layout/GroupedMenuRender.tsx')
| -rw-r--r-- | components/layout/GroupedMenuRender.tsx | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/components/layout/GroupedMenuRender.tsx b/components/layout/GroupedMenuRender.tsx index b56135eb..4cc0ab88 100644 --- a/components/layout/GroupedMenuRender.tsx +++ b/components/layout/GroupedMenuRender.tsx @@ -15,9 +15,10 @@ interface GroupedMenuRendererProps { lng: string; activeMenus?: Record<string, boolean>; t: (key: string) => string; // 번역 함수 추가 + onItemClick?: () => void; } -const GroupedMenuRenderer = ({ items, lng, activeMenus = {}, t }: GroupedMenuRendererProps) => { +const GroupedMenuRenderer = ({ items, lng, activeMenus = {}, t, onItemClick }: GroupedMenuRendererProps) => { // 활성 메뉴만 필터링 (activeMenus가 빈 객체면 모든 메뉴 표시) const filteredItems = Object.keys(activeMenus).length > 0 ? filterActiveAdditionalMenus(items, activeMenus) @@ -65,7 +66,7 @@ const GroupedMenuRenderer = ({ items, lng, activeMenus = {}, t }: GroupedMenuRen )} <div className="grid grid-cols-2 gap-3"> {groupedItems[groupName].map((item) => ( - <MenuListItem key={item.titleKey} item={item} lng={lng} t={t} /> + <MenuListItem key={item.titleKey} item={item} lng={lng} t={t} onClick={onItemClick} /> ))} </div> </div> @@ -75,11 +76,12 @@ const GroupedMenuRenderer = ({ items, lng, activeMenus = {}, t }: GroupedMenuRen ); }; -const MenuListItem = ({ item, lng, t }: { item: MenuItem; lng: string; t: (key: string) => string }) => { +const MenuListItem = ({ item, lng, t, onClick }: { item: MenuItem; lng: string; t: (key: string) => string; onClick?: () => void }) => { return ( <NavigationMenuLink asChild> <Link href={`/${lng}${item.href}`} + onClick={onClick} className={cn( "flex items-start space-x-2 rounded-md p-3 leading-none no-underline outline-none transition-colors", "hover:bg-accent hover:text-accent-foreground", |
