"use client"; import Link from 'next/link'; import { useState, useEffect } from 'react'; import { useTheme } from "next-themes"; import { useLocale } from '@/contexts/LocaleContext'; import { localeFlags, localeNames, type Locale } from '@/lib/i18n'; export default function Header() { const [isSearchOpen, setIsSearchOpen] = useState(false); const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); const { theme, setTheme } = useTheme(); const { locale, setLocale, t } = useLocale(); const [mounted, setMounted] = useState(false); // Prefixo para links baseado no locale const prefix = locale === 'pt' ? '' : `/${locale}`; useEffect(() => { setMounted(true); }, []); // Prevent scrolling when mobile menu is open useEffect(() => { if (isMobileMenuOpen) { document.body.style.overflow = 'hidden'; } else { document.body.style.overflow = 'unset'; } return () => { document.body.style.overflow = 'unset'; }; }, [isMobileMenuOpen]); const toggleTheme = () => { setTheme(theme === 'dark' ? 'light' : 'dark'); }; return (
OCCTO ENG.
{/* Search Bar */}
!isSearchOpen && setIsSearchOpen(true)}> {isSearchOpen && ( setIsSearchOpen(false)} className="bg-transparent border-none outline-none text-sm w-full text-gray-600 dark:text-gray-200 placeholder-gray-400" /> )}
{t('nav.contactUs')}
{/* Theme Toggle */} {/* Language Dropdown */}
{/* Mobile Menu Button */} {/* Mobile Menu Overlay */}
{/* Mobile Search */}
setIsMobileMenuOpen(false)} className="w-full py-4 bg-primary text-white rounded-xl font-bold text-center flex items-center justify-center gap-2 shadow-lg shadow-primary/20" > {t('nav.contactUs')}
{t('nav.theme')}
{t('nav.language')}
); }