diff --git a/apps/spa/src/components/Footer.tsx b/apps/spa/src/components/Footer.tsx index 663dfc8..9c266e1 100644 --- a/apps/spa/src/components/Footer.tsx +++ b/apps/spa/src/components/Footer.tsx @@ -12,6 +12,22 @@ export default function Footer({ categories = [] }: FooterProps) { const [supportMenu, setSupportMenu] = useState([]) const [settings, setSettings] = useState(null) + const translateMenuLabel = (label: string) => { + const map: Record = { + 'Home': 'nav.home', + 'Shop': 'nav.shop', + 'Scent Guide': 'nav.scentGuide', + 'About Us': 'nav.about', + 'About': 'nav.about', + 'FAQ': 'nav.faq', + 'Contact': 'nav.contact', + 'Contact Us': 'nav.contact', + 'Track Order': 'nav.trackOrder', + 'Delivery & Returns': 'nav.delivery' + } + return map[label] ? t(map[label]) : label + } + useEffect(() => { fetch(`${API_BASE}/menus/footer-explore`) .then(r => r.ok ? r.json() : null) @@ -73,7 +89,7 @@ export default function Footer({ categories = [] }: FooterProps) {
{exploreMenu.length > 0 ? ( exploreMenu.map(item => ( - {item.label} + {translateMenuLabel(item.label)} )) ) : ( <> @@ -103,7 +119,7 @@ export default function Footer({ categories = [] }: FooterProps) {

{t('footer.support', 'Support & Legal')}

{supportMenu.map(item => ( - {item.label} + {translateMenuLabel(item.label)} ))}
diff --git a/apps/spa/src/components/Navbar.tsx b/apps/spa/src/components/Navbar.tsx index a2bedac..e712b2a 100644 --- a/apps/spa/src/components/Navbar.tsx +++ b/apps/spa/src/components/Navbar.tsx @@ -44,6 +44,21 @@ export default function Navbar({ categories = [], topOffsetClassName = 'top-0' } localStorage.setItem('homaroma_lang', code) setLangSheetOpen(false) } + + const translateMenuLabel = (label: string) => { + const map: Record = { + 'Home': 'nav.home', + 'Shop': 'nav.shop', + 'Scent Guide': 'nav.scentGuide', + 'About Us': 'nav.about', + 'FAQ': 'nav.faq', + 'Contact': 'nav.contact', + 'Contact Us': 'nav.contact', + 'Track Order': 'nav.trackOrder', + 'Delivery & Returns': 'nav.delivery' + } + return map[label] ? t(map[label]) : label + } // Detect scroll and announcement bar presence useEffect(() => { const checkAnnouncement = () => { @@ -130,7 +145,7 @@ export default function Navbar({ categories = [], topOffsetClassName = 'top-0' } {menuItems.length > 0 ? ( menuItems.map(item => ( - {item.label} + {translateMenuLabel(item.label)} )) ) : ( @@ -418,7 +433,7 @@ export default function Navbar({ categories = [], topOffsetClassName = 'top-0' } {/* Drawer Nav Links */}
{(menuItems.length > 0 ? [ - ...menuItems.map(item => ({ to: item.url, label: item.label, end: item.url === '/' })), + ...menuItems.map(item => ({ to: item.url, label: translateMenuLabel(item.label), end: item.url === '/' })), ...(customer ? [{ to: '/profile', label: `👤 ${t('nav.profile') || 'My Profile'}` }] : []), ] : [ { to: '/', label: t('nav.home'), end: true },