summaryrefslogtreecommitdiff
path: root/components/layout/MobileMenu.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'components/layout/MobileMenu.tsx')
-rw-r--r--components/layout/MobileMenu.tsx30
1 files changed, 16 insertions, 14 deletions
diff --git a/components/layout/MobileMenu.tsx b/components/layout/MobileMenu.tsx
index dc02d2e3..6cced283 100644
--- a/components/layout/MobileMenu.tsx
+++ b/components/layout/MobileMenu.tsx
@@ -17,17 +17,19 @@ interface MobileMenuProps {
activeMenus?: Record<string, boolean>;
domainMain?: MenuSection[]; // 헤더에서 계산된 도메인별 메인 메뉴
domainAdditional?: MenuItem[]; // 헤더에서 계산된 도메인별 추가 메뉴
+ t: (key: string) => string; // 번역 함수 추가
}
export function MobileMenu({
- lng,
- onClose,
+ lng,
+ onClose,
activeMenus = {},
domainMain = [],
- domainAdditional = []
+ domainAdditional = [],
+ t
}: MobileMenuProps) {
const router = useRouter();
-
+
const handleLinkClick = (href: string) => {
router.push(href);
onClose();
@@ -37,7 +39,7 @@ export function MobileMenu({
const main = Object.keys(activeMenus).length > 0
? filterActiveMenus(domainMain, activeMenus)
: domainMain;
-
+
const additional = Object.keys(activeMenus).length > 0
? filterActiveAdditionalMenus(domainAdditional, activeMenus)
: domainAdditional;
@@ -55,25 +57,25 @@ export function MobileMenu({
{main.map((section: MenuSection) => (
// 섹션에 아이템이 있는 경우에만 표시
section.items.length > 0 && (
- <li key={section.title}>
- <h3 className="text-md font-medium">{section.title}</h3>
+ <li key={section.titleKey}>
+ <h3 className="text-md font-medium">{t(section.titleKey)}</h3>
<ul className="mt-2 space-y-2">
{section.items.map((item: MenuItem) => (
- <li key={item.title}>
+ <li key={item.titleKey}>
<Link
href={`/${lng}${item.href}`}
className="text-indigo-600"
onClick={() => handleLinkClick(item.href)}
>
- {item.title}
+ {t(item.titleKey)}
{item.label && (
<span className="ml-2 rounded-md bg-[#adfa1d] px-1.5 py-0.5 text-xs text-[#000000]">
{item.label}
</span>
)}
</Link>
- {item.description && (
- <p className="text-xs text-gray-500">{item.description}</p>
+ {item.descriptionKey && (
+ <p className="text-xs text-gray-500">{t(item.descriptionKey)}</p>
)}
</li>
))}
@@ -81,16 +83,16 @@ export function MobileMenu({
</li>
)
))}
-
+
{/* 추가 네비게이션 항목 - 도메인별 활성화된 메뉴만 표시 */}
{additional.map((item: MenuItem) => (
- <li key={item.title}>
+ <li key={item.titleKey}>
<Link
href={`/${lng}${item.href}`}
className="block text-sm text-indigo-600"
onClick={() => handleLinkClick(`/${lng}${item.href}`)}
>
- {item.title}
+ {t(item.titleKey)}
</Link>
</li>
))}