2025-11-21 13:36:06 +08:00
|
|
|
import HeaderLinks from "@/components/header/HeaderLinks";
|
|
|
|
|
import MobileMenu from "@/components/header/MobileMenu";
|
|
|
|
|
import LocaleSwitcher from "@/components/LocaleSwitcher";
|
|
|
|
|
import { siteConfig } from "@/config/site";
|
|
|
|
|
import { Link as I18nLink } from "@/i18n/routing";
|
|
|
|
|
import { useTranslations } from "next-intl";
|
|
|
|
|
|
|
|
|
|
const Header = () => {
|
|
|
|
|
const t = useTranslations("Home");
|
|
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
<header className="py-2 px-6 backdrop-blur-md sticky top-0 z-50">
|
|
|
|
|
<nav className="flex justify-between items-center w-full mx-auto">
|
|
|
|
|
<div className="flex items-center space-x-6 md:space-x-12">
|
|
|
|
|
<I18nLink
|
|
|
|
|
href="/"
|
|
|
|
|
prefetch={false}
|
|
|
|
|
className="flex items-center space-x-1 font-bold"
|
|
|
|
|
>
|
2025-12-11 09:10:41 +08:00
|
|
|
<img
|
2025-11-21 13:36:06 +08:00
|
|
|
alt={siteConfig.name}
|
2025-11-27 13:10:26 +08:00
|
|
|
src="/logo.png"
|
2025-11-21 13:36:06 +08:00
|
|
|
className="w-6 h-6"
|
|
|
|
|
width={32}
|
|
|
|
|
height={32}
|
|
|
|
|
/>
|
|
|
|
|
<span className="text-gray-800 dark:text-gray-200">
|
|
|
|
|
{t("title")}
|
|
|
|
|
</span>
|
|
|
|
|
</I18nLink>
|
|
|
|
|
<HeaderLinks />
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div className="flex items-center gap-x-2 md:gap-x-4 lg:gap-x-6 flex-1 justify-end">
|
|
|
|
|
{/* PC */}
|
|
|
|
|
<div className="hidden md:flex items-center gap-x-4">
|
|
|
|
|
<LocaleSwitcher />
|
2025-11-21 16:18:05 +08:00
|
|
|
{/* <ThemeToggle /> */}
|
2025-11-21 13:36:06 +08:00
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
{/* Mobile */}
|
|
|
|
|
<MobileMenu />
|
|
|
|
|
</div>
|
|
|
|
|
</nav>
|
|
|
|
|
</header>
|
|
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export default Header;
|