"use client"; import { useState, useEffect } from "react"; import { motion, AnimatePresence } from "framer-motion"; import { Menu, X } from "lucide-react"; import Link from "next/link"; import { useLocale, useTranslations } from "next-intl"; import { usePathname } from "next/navigation"; import { ThemeToggle } from "./ThemeToggle"; const Header = () => { const [isOpen, setIsOpen] = useState(false); const locale = useLocale(); const pathname = usePathname(); const t = useTranslations("nav"); const isHome = pathname === `/${locale}` || pathname === `/${locale}/`; const navItems = [ { name: t("home"), href: `/${locale}` }, { name: t("about"), href: isHome ? "#about" : `/${locale}#about` }, { name: t("projects"), href: isHome ? "#projects" : `/${locale}/projects` }, { name: t("contact"), href: isHome ? "#contact" : `/${locale}#contact` }, ]; return ( <>
{/* Logo / Home Button */} dk {/* Desktop Nav Items */}
{navItems.map((item) => ( {item.name} ))}
{/* Actions */}
{locale === "en" ? "DE" : "EN"} {/* Mobile Menu Button */}
{/* Mobile Menu Overlay */} {isOpen && (
{navItems.map((item) => ( setIsOpen(false)} className="px-4 py-3 text-lg font-medium text-stone-900 dark:text-stone-100 bg-stone-50 dark:bg-stone-800/50 rounded-xl" > {item.name} ))}
)}
); }; export default Header;