"use client"; import Link from "next/link"; import { usePathname } from "next/navigation"; import { useEffect, useMemo, useState } from "react"; import { useLanguage } from "@/app/context/LanguageContext"; import { useTranslation } from "@/app/hooks/useTranslation"; type NavItem = { label: string; href: string }; export default function HeaderClient({ brand, nav, }: { brand: { name: string }; nav: NavItem[]; }) { const pathname = usePathname(); const [mobileOpen, setMobileOpen] = useState(false); const { lang, setLang } = useLanguage(); const { site } = useTranslation(); const isHome = pathname === "/"; const navItems = useMemo(() => site.nav.filter((x) => x.href !== "/"), [site.nav]); const registerLabel = lang === "vi" ? "Đăng Ký" : "Register"; const registerNowLabel = lang === "vi" ? "Đăng Ký Ngay" : "Register Now"; const backLabel = lang === "vi" ? "Trang Chủ" : "Home"; useEffect(() => { if (!mobileOpen) return; document.body.style.overflow = "hidden"; return () => { document.body.style.overflow = ""; }; }, [mobileOpen]); return ( <>
{brand.name}
{/* Language Switcher — Desktop */}
|
{registerLabel}
{/* Mobile Menu Overlay */}
setMobileOpen(false)} /> {/* Mobile Menu Side Drawer */}
Menu
{/* Language Switcher — Mobile */}
setMobileOpen(false)} > {registerNowLabel}
); }