mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-22 16:31:13 -05:00
Visual edit in Lovable
This commit is contained in:
@@ -2,20 +2,16 @@ import { useState } from 'react';
|
|||||||
import { Search } from 'lucide-react';
|
import { Search } from 'lucide-react';
|
||||||
import { Input } from '@/components/ui/input';
|
import { Input } from '@/components/ui/input';
|
||||||
import { Button } from '@/components/ui/button';
|
import { Button } from '@/components/ui/button';
|
||||||
|
|
||||||
export function SimpleHeroSearch() {
|
export function SimpleHeroSearch() {
|
||||||
const [searchTerm, setSearchTerm] = useState('');
|
const [searchTerm, setSearchTerm] = useState('');
|
||||||
|
|
||||||
const handleSearch = () => {
|
const handleSearch = () => {
|
||||||
console.log('Searching for:', searchTerm);
|
console.log('Searching for:', searchTerm);
|
||||||
};
|
};
|
||||||
|
return <section className="relative py-24 bg-gradient-to-br from-primary/10 via-secondary/5 to-accent/10">
|
||||||
return (
|
|
||||||
<section className="relative py-24 bg-gradient-to-br from-primary/10 via-secondary/5 to-accent/10">
|
|
||||||
<div className="container mx-auto px-4 text-center">
|
<div className="container mx-auto px-4 text-center">
|
||||||
<div className="max-w-4xl mx-auto space-y-8">
|
<div className="max-w-4xl mx-auto space-y-8">
|
||||||
<h1 className="text-5xl md:text-6xl font-bold leading-tight">
|
<h1 className="text-5xl md:text-6xl font-bold leading-tight">
|
||||||
<span className="bg-gradient-to-r from-primary via-secondary to-accent bg-clip-text text-transparent">
|
<span className="bg-gradient-to-r from-primary via-secondary to-accent bg-clip-text text-transparent text-7xl">
|
||||||
ThrillWiki
|
ThrillWiki
|
||||||
</span>
|
</span>
|
||||||
</h1>
|
</h1>
|
||||||
@@ -28,23 +24,13 @@ export function SimpleHeroSearch() {
|
|||||||
<div className="max-w-2xl mx-auto">
|
<div className="max-w-2xl mx-auto">
|
||||||
<div className="relative">
|
<div className="relative">
|
||||||
<Search className="absolute left-4 top-1/2 transform -translate-y-1/2 text-muted-foreground w-5 h-5" />
|
<Search className="absolute left-4 top-1/2 transform -translate-y-1/2 text-muted-foreground w-5 h-5" />
|
||||||
<Input
|
<Input placeholder="Search parks, rides, or locations..." value={searchTerm} onChange={e => setSearchTerm(e.target.value)} className="pl-12 pr-24 h-14 text-lg bg-background border-border rounded-full shadow-lg" onKeyDown={e => e.key === 'Enter' && handleSearch()} />
|
||||||
placeholder="Search parks, rides, or locations..."
|
<Button onClick={handleSearch} className="absolute right-2 top-2 h-10 px-6 bg-gradient-to-r from-primary to-secondary hover:from-primary/90 hover:to-secondary/90 rounded-full">
|
||||||
value={searchTerm}
|
|
||||||
onChange={(e) => setSearchTerm(e.target.value)}
|
|
||||||
className="pl-12 pr-24 h-14 text-lg bg-background border-border rounded-full shadow-lg"
|
|
||||||
onKeyDown={(e) => e.key === 'Enter' && handleSearch()}
|
|
||||||
/>
|
|
||||||
<Button
|
|
||||||
onClick={handleSearch}
|
|
||||||
className="absolute right-2 top-2 h-10 px-6 bg-gradient-to-r from-primary to-secondary hover:from-primary/90 hover:to-secondary/90 rounded-full"
|
|
||||||
>
|
|
||||||
Search
|
Search
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>;
|
||||||
);
|
|
||||||
}
|
}
|
||||||
@@ -8,54 +8,36 @@ import { Link, useNavigate } from 'react-router-dom';
|
|||||||
import { SearchDropdown } from '@/components/search/SearchDropdown';
|
import { SearchDropdown } from '@/components/search/SearchDropdown';
|
||||||
import { AuthButtons } from '@/components/auth/AuthButtons';
|
import { AuthButtons } from '@/components/auth/AuthButtons';
|
||||||
import { ThemeToggle } from '@/components/theme/ThemeToggle';
|
import { ThemeToggle } from '@/components/theme/ThemeToggle';
|
||||||
|
|
||||||
export function Header() {
|
export function Header() {
|
||||||
const navigate = useNavigate();
|
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">
|
||||||
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">
|
<div className="container flex h-16 items-center justify-between px-4">
|
||||||
{/* Logo and Brand */}
|
{/* Logo and Brand */}
|
||||||
<div className="flex items-center gap-4">
|
<div className="flex items-center gap-4">
|
||||||
<Link to="/" 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>
|
|
||||||
</div>
|
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<h1 className="text-xl font-bold bg-gradient-to-r from-primary to-accent bg-clip-text text-transparent">
|
<h1 className="text-xl font-bold bg-gradient-to-r from-primary to-accent bg-clip-text text-transparent">
|
||||||
ThrillWiki
|
ThrillWiki
|
||||||
</h1>
|
</h1>
|
||||||
<span className="text-xs text-muted-foreground -mt-1">Theme Park Database</span>
|
|
||||||
</div>
|
</div>
|
||||||
</Link>
|
</Link>
|
||||||
|
|
||||||
{/* Desktop Navigation */}
|
{/* Desktop Navigation */}
|
||||||
<nav className="hidden md:flex items-center gap-6 ml-8">
|
<nav className="hidden md:flex items-center gap-6 ml-8">
|
||||||
<Button
|
<Button variant="ghost" className="text-sm font-medium hover:text-primary" onClick={() => navigate('/parks')}>
|
||||||
variant="ghost"
|
|
||||||
className="text-sm font-medium hover:text-primary"
|
|
||||||
onClick={() => navigate('/parks')}
|
|
||||||
>
|
|
||||||
<MapPin className="w-4 h-4 mr-2" />
|
<MapPin className="w-4 h-4 mr-2" />
|
||||||
Parks
|
Parks
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button variant="ghost" className="text-sm font-medium hover:text-primary" onClick={() => navigate('/rides')}>
|
||||||
variant="ghost"
|
|
||||||
className="text-sm font-medium hover:text-primary"
|
|
||||||
onClick={() => navigate('/rides')}
|
|
||||||
>
|
|
||||||
🎢 Rides
|
🎢 Rides
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="ghost" className="text-sm font-medium hover:text-primary">
|
<Button variant="ghost" className="text-sm font-medium hover:text-primary">
|
||||||
<Star className="w-4 h-4 mr-2" />
|
<Star className="w-4 h-4 mr-2" />
|
||||||
Reviews
|
Reviews
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button variant="ghost" className="text-sm font-medium hover:text-primary" onClick={() => navigate('/manufacturers')}>
|
||||||
variant="ghost"
|
|
||||||
className="text-sm font-medium hover:text-primary"
|
|
||||||
onClick={() => navigate('/manufacturers')}
|
|
||||||
>
|
|
||||||
🏭 Manufacturers
|
🏭 Manufacturers
|
||||||
</Button>
|
</Button>
|
||||||
</nav>
|
</nav>
|
||||||
@@ -80,30 +62,18 @@ export function Header() {
|
|||||||
</SheetTrigger>
|
</SheetTrigger>
|
||||||
<SheetContent side="right" className="w-[300px] sm:w-[400px]">
|
<SheetContent side="right" className="w-[300px] sm:w-[400px]">
|
||||||
<div className="flex flex-col gap-4 mt-8">
|
<div className="flex flex-col gap-4 mt-8">
|
||||||
<Button
|
<Button variant="ghost" className="justify-start" onClick={() => navigate('/parks')}>
|
||||||
variant="ghost"
|
|
||||||
className="justify-start"
|
|
||||||
onClick={() => navigate('/parks')}
|
|
||||||
>
|
|
||||||
<MapPin className="w-4 h-4 mr-2" />
|
<MapPin className="w-4 h-4 mr-2" />
|
||||||
Parks
|
Parks
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button variant="ghost" className="justify-start" onClick={() => navigate('/rides')}>
|
||||||
variant="ghost"
|
|
||||||
className="justify-start"
|
|
||||||
onClick={() => navigate('/rides')}
|
|
||||||
>
|
|
||||||
🎢 Rides
|
🎢 Rides
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="ghost" className="justify-start">
|
<Button variant="ghost" className="justify-start">
|
||||||
<Star className="w-4 h-4 mr-2" />
|
<Star className="w-4 h-4 mr-2" />
|
||||||
Reviews
|
Reviews
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button variant="ghost" className="justify-start" onClick={() => navigate('/manufacturers')}>
|
||||||
variant="ghost"
|
|
||||||
className="justify-start"
|
|
||||||
onClick={() => navigate('/manufacturers')}
|
|
||||||
>
|
|
||||||
🏭 Manufacturers
|
🏭 Manufacturers
|
||||||
</Button>
|
</Button>
|
||||||
<div className="border-t pt-4 mt-4">
|
<div className="border-t pt-4 mt-4">
|
||||||
@@ -122,6 +92,5 @@ export function Header() {
|
|||||||
</Sheet>
|
</Sheet>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>;
|
||||||
);
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user