Implement remaining homepage features

This commit is contained in:
gpt-engineer-app[bot]
2025-09-20 00:47:51 +00:00
parent 06bcd4241e
commit 27a5202458
5 changed files with 1019 additions and 6 deletions

View File

@@ -4,16 +4,18 @@ 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 { Link, useNavigate } from 'react-router-dom';
export function Header() {
const [isSearchFocused, setIsSearchFocused] = useState(false);
const navigate = useNavigate();
return (
<header className="sticky top-0 z-50 w-full border-b border-border bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60">
<div className="container flex h-16 items-center justify-between px-4">
{/* Logo and Brand */}
<div className="flex items-center gap-4">
<div className="flex items-center gap-2">
<Link to="/" className="flex items-center gap-2">
<div className="relative">
<Zap className="h-8 w-8 text-primary" />
<div className="absolute inset-0 blur-sm bg-primary/20 rounded-full"></div>
@@ -24,15 +26,23 @@ export function Header() {
</h1>
<span className="text-xs text-muted-foreground -mt-1">Theme Park Database</span>
</div>
</div>
</Link>
{/* Desktop Navigation */}
<nav className="hidden md:flex items-center gap-6 ml-8">
<Button variant="ghost" className="text-sm font-medium hover:text-primary">
<Button
variant="ghost"
className="text-sm font-medium hover:text-primary"
onClick={() => navigate('/parks')}
>
<MapPin className="w-4 h-4 mr-2" />
Parks
</Button>
<Button variant="ghost" className="text-sm font-medium hover:text-primary">
<Button
variant="ghost"
className="text-sm font-medium hover:text-primary"
onClick={() => navigate('/rides')}
>
🎢 Rides
</Button>
<Button variant="ghost" className="text-sm font-medium hover:text-primary">
@@ -94,11 +104,19 @@ export function Header() {
</SheetTrigger>
<SheetContent side="right" className="w-[300px] sm:w-[400px]">
<div className="flex flex-col gap-4 mt-8">
<Button variant="ghost" className="justify-start">
<Button
variant="ghost"
className="justify-start"
onClick={() => navigate('/parks')}
>
<MapPin className="w-4 h-4 mr-2" />
Parks
</Button>
<Button variant="ghost" className="justify-start">
<Button
variant="ghost"
className="justify-start"
onClick={() => navigate('/rides')}
>
🎢 Rides
</Button>
<Button variant="ghost" className="justify-start">