"use client"; import Image from "next/image"; import Link from "next/link"; import * as React from "react"; import { pathFor } from "@/src/domain/routes"; import IconWhite from "../assets/logo/Icon-White-Transparent.svg"; import { DecodeText } from "./bits/DecodeText"; import { ScrollBits } from "./bits/ScrollBits"; import { useContent, useLocale } from "./ContentProvider"; import { LanguageSwitch } from "./LanguageSwitch"; /** Header: the logo, the link to the freelance page, the language switch and one action. */ export const Header: React.FC = () => { const { nav } = useContent(); const locale = useLocale(); const home = pathFor("home", locale); const freelance = pathFor("freelance", locale); const [isScrolled, setIsScrolled] = React.useState(false); React.useEffect(() => { const handleScroll = () => { setIsScrolled(window.scrollY > 20); }; window.addEventListener("scroll", handleScroll); return () => window.removeEventListener("scroll", handleScroll); }, []); return (
{/* Decoupled Background Layer - Prevents backdrop-filter parent context bugs */}
{ // Already on the homepage: scroll up instead of reloading the route. if (window.location.pathname === home) { event.preventDefault(); window.scrollTo({ top: 0, behavior: "smooth" }); } }} className="flex items-center gap-4 group" >
{nav.freelance}
); };