import { useState } from 'react'; import { Search, Menu, Sparkles, MapPin, Star, ChevronDown, Building, Users, Crown, Palette, Shield, FerrisWheel, Factory } from 'lucide-react'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { Sheet, SheetContent, SheetTrigger } from '@/components/ui/sheet'; import { Badge } from '@/components/ui/badge'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '@/components/ui/dropdown-menu'; import { Link, useNavigate } from 'react-router-dom'; import { SearchDropdown } from '@/components/search/SearchDropdown'; import { MobileSearch } from '@/components/search/MobileSearch'; import { AuthButtons } from '@/components/auth/AuthButtons'; import { ThemeToggle } from '@/components/theme/ThemeToggle'; import { NotificationCenter } from '@/components/notifications/NotificationCenter'; import { useAuth } from '@/hooks/useAuth'; import { useUserRole } from '@/hooks/useUserRole'; import { useIsMobile } from '@/hooks/use-mobile'; import { NavigationMenu, NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, } from "@/components/ui/navigation-menu"; export function Header() { const navigate = useNavigate(); const [open, setOpen] = useState(false); const [mobileSearchOpen, setMobileSearchOpen] = useState(false); const { user } = useAuth(); const { isModerator } = useUserRole(); const isMobile = useIsMobile(); return ( <> {/* Mobile: Menu + Logo */} {/* Mobile Menu */} Toggle menu Explore setOpen(false)} > Parks setOpen(false)} > Rides setOpen(false)} > Manufacturers setOpen(false)} > Designers setOpen(false)} > Operators setOpen(false)} > Property Owners {isModerator() && ( <> setOpen(false)} > Admin > )} Theme {/* Logo */} ThrillWiki {/* Desktop Navigation */} Explore Parks Browse theme parks around the world Rides Discover exciting rides and attractions Manufacturers Explore ride manufacturers Designers View ride designers Operators Find park operators Property Owners View property owners {isModerator() && ( Admin )} {/* Right side: Search, Theme, Auth */} {/* Desktop Search */} {/* Mobile Search Button */} setMobileSearchOpen(true)} > Search {user && } {/* Mobile Search Modal */} > ); }
Browse theme parks around the world
Discover exciting rides and attractions
Explore ride manufacturers
View ride designers
Find park operators
View property owners