'use client'; import Link from 'next/link'; import { useRouter } from 'next/navigation'; import { useState, useRef, useEffect } from 'react'; import { IoSearchOutline, IoMoonOutline, IoSunnyOutline, IoArrowBack } from 'react-icons/io5'; import RegionSelector from './RegionSelector'; import { useTheme } from '../context/ThemeContext'; export default function Header() { const [searchQuery, setSearchQuery] = useState(''); const [isMobileSearchActive, setIsMobileSearchActive] = useState(false); const [isFocused, setIsFocused] = useState(false); const inputRef = useRef(null); const mobileInputRef = useRef(null); const router = useRouter(); const { theme, toggleTheme } = useTheme(); const handleSearch = (e: React.FormEvent) => { e.preventDefault(); if (searchQuery.trim()) { router.push(`/search?q=${encodeURIComponent(searchQuery)}`); setIsMobileSearchActive(false); setIsFocused(false); } }; useEffect(() => { if (isMobileSearchActive && mobileInputRef.current) { mobileInputRef.current.focus(); } }, [isMobileSearchActive]); return (
{!isMobileSearchActive ? ( <> {/* Left */}
KV-Tube
{/* Center Search Pill - Desktop */}
setSearchQuery(e.target.value)} onFocus={() => setIsFocused(true)} onBlur={() => setIsFocused(false)} /> {searchQuery && ( )}
{/* Right - Region and Theme */}
) : ( /* Mobile Search Overlay */
setSearchQuery(e.target.value)} /> {searchQuery && ( )}
)}
); }