import { useState } from 'react'; import { Button } from './ui/button'; import { Input } from './ui/input'; import { Sheet, SheetContent, SheetTrigger } from './ui/sheet'; import { Search, Menu, MapPin } from 'lucide-react'; interface HeaderProps { activeCity?: string; onCityChange?: (city: string) => void; } export function Header({ activeCity, onCityChange }: HeaderProps) { const [isSearchOpen, setIsSearchOpen] = useState(false); const [searchQuery, setSearchQuery] = useState(''); const cities = [ 'Paris', 'London', 'New York', 'Tokyo', 'Barcelona', 'Rome' ]; const filteredCities = cities.filter(city => city.toLowerCase().includes(searchQuery.toLowerCase()) ); const handleCitySelect = (city: string) => { onCityChange?.(city); setSearchQuery(''); setIsSearchOpen(false); }; return (
{/* Logo */}
CityCards
{/* Desktop Navigation */} {/* Search and Actions */}
{/* City Search */}
{ setSearchQuery(e.target.value); setIsSearchOpen(e.target.value.length > 0); }} onFocus={() => setIsSearchOpen(true)} className="pl-10 w-64" />
{isSearchOpen && (
{filteredCities.length > 0 ? ( filteredCities.map((city) => ( )) ) : (
No cities found
)}
)}
{/* Mobile Menu */}
{/* Mobile Search */}
{/* Mobile Navigation */}
); }