blog.z0x.ca/src/components/Header.astro
2025-02-18 15:25:52 -08:00

42 lines
1.3 KiB
Text

---
import Container from '@/components/Container.astro'
import Link from '@/components/Link.astro'
import MobileMenu from '@/components/ui/mobile-menu'
import { ModeToggle } from '@/components/ui/mode-toggle'
import { NAV_LINKS, SITE } from '@/consts'
import { Image } from 'astro:assets'
import logo from '../../public/static/logo.svg'
---
<header
class="bg-background/50 sticky top-0 z-10 backdrop-blur-md"
transition:persist
>
<Container>
<div class="flex flex-wrap items-center justify-between gap-4 py-4">
<Link
href="/"
class="hover:text-primary flex shrink-0 items-center gap-2 text-xl font-semibold transition-colors duration-300"
>
<Image src={logo} alt="Logo" class="size-8" />
{SITE.TITLE}
</Link>
<div class="flex items-center gap-2 md:gap-4">
<nav class="hidden items-center gap-4 text-sm sm:gap-6 md:flex">
{
NAV_LINKS.map((item) => (
<Link
href={item.href}
class="text-foreground/60 hover:text-foreground/80 capitalize transition-colors"
>
{item.label}
</Link>
))
}
</nav>
<MobileMenu client:load transition:persist />
<ModeToggle client:load transition:persist />
</div>
</div>
</Container>
</header>