import { useState } from 'react'; import { ChevronLeft, ChevronRight, Clock, Users, Star, Zap, CheckCircle, MapPin, Volume2, Camera } from 'lucide-react'; import { ImageWithFallback } from './figma/ImageWithFallback'; import { motion } from 'motion/react'; import { Button } from './ui/button'; const attractions = [ { id: 1, name: "Sydney Opera House", city: "Sydney", country: "Australia", image: "https://images.unsplash.com/photo-1657622884558-cc7525f93638?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w3Nzg4Nzd8MHwxfHNlYXJjaHwxfHxzeWRuZXklMjBvcGVyYSUyMGhvdXNlJTIwaGFyYm9yJTIwYnJpZGdlfGVufDF8fHx8MTc1NjExNDMwMHww&ixlib=rb-4.1.0&q=80&w=1080", rating: 4.8, reviews: "12,500+", category: "Landmarks", originalPrice: "$89", includedValue: "$89", perks: [ { icon: Zap, label: "Skip-the-line", color: "text-green-600" }, { icon: Volume2, label: "Audio guide", color: "text-blue-600" }, { icon: Camera, label: "Photo spots", color: "text-purple-600" } ] }, { id: 2, name: "Great Ocean Road", city: "Melbourne", country: "Australia", image: "https://images.unsplash.com/photo-1557544780-585e99807b15?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w3Nzg4Nzd8MHwxfHNlYXJjaHwxfHxncmVhdCUyMG9jZWFuJTIwcm9hZCUyMHR3ZWx2ZSUyMGFwb3N0bGVzfGVufDF8fHx8MTc1NjExNDMwNHww&ixlib=rb-4.1.0&q=80&w=1080", rating: 4.9, reviews: "8,200+", category: "Nature", originalPrice: "$125", includedValue: "$125", perks: [ { icon: Users, label: "Guided tour", color: "text-blue-600" }, { icon: MapPin, label: "Transport", color: "text-green-600" }, { icon: Camera, label: "Photo stops", color: "text-purple-600" } ] }, { id: 3, name: "Lone Pine Koala Sanctuary", city: "Brisbane", country: "Australia", image: "https://images.unsplash.com/photo-1625476038303-0d3022077d39?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w3Nzg4Nzd8MHwxfHNlYXJjaHwxfHxsb25lJTIwcGluZSUyMGtvYWxhJTIwc2FuY3R1YXJ5JTIwYnJpc2JhbmV8ZW58MXx8fHwxNzU2MTE0MzA3fDA&ixlib=rb-4.1.0&q=80&w=1080", rating: 4.7, reviews: "15,800+", category: "Wildlife", originalPrice: "$65", includedValue: "$65", perks: [ { icon: Zap, label: "Skip-the-line", color: "text-green-600" }, { icon: Users, label: "Animal encounters", color: "text-orange-600" }, { icon: Camera, label: "Photo opportunities", color: "text-purple-600" } ] }, { id: 4, name: "Kings Park", city: "Perth", country: "Australia", image: "https://images.unsplash.com/photo-1667315682754-852d9e855207?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w3Nzg4Nzd8MHwxfHNlYXJjaHwxfHxraW5ncyUyMHBhcmslMjBwZXJ0aCUyMGJvdGFuaWNhbCUyMGdhcmRlbnxlbnwxfHx8fDE3NTYxMTQzMTJ8MA&ixlib=rb-4.1.0&q=80&w=1080", rating: 4.6, reviews: "9,400+", category: "Parks", originalPrice: "Free", includedValue: "$35", perks: [ { icon: Users, label: "Walking tours", color: "text-blue-600" }, { icon: Volume2, label: "Audio guide", color: "text-blue-600" }, { icon: MapPin, label: "Trail maps", color: "text-green-600" } ] }, { id: 5, name: "Barossa Valley", city: "Adelaide", country: "Australia", image: "https://images.unsplash.com/photo-1578274821879-08e7f9050d83?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w3Nzg4Nzd8MHwxfHNlYXJjaHwxfHxiYXJvc3NhJTIwdmFsbGV5JTIwdmluZXlhcmQlMjB3aW5lcnl8ZW58MXx8fHwxNzU2MTE0MzE3fDA&ixlib=rb-4.1.0&q=80&w=1080", rating: 4.8, reviews: "6,700+", category: "Wine Tours", originalPrice: "$98", includedValue: "$98", perks: [ { icon: Users, label: "Wine tastings", color: "text-purple-600" }, { icon: MapPin, label: "Transport", color: "text-green-600" }, { icon: Volume2, label: "Expert guide", color: "text-blue-600" } ] } ]; const categories = ["All", "Landmarks", "Nature", "Wildlife", "Parks", "Wine Tours"]; export function LandingBookAttractionSection() { const [activeCategory, setActiveCategory] = useState("All"); const filteredAttractions = activeCategory === "All" ? attractions : attractions.filter(attraction => attraction.category === activeCategory); const AttractionCard = ({ attraction, index }: { attraction: typeof attractions[0], index: number }) => ( {/* 3D Flip Container */}
{/* FRONT FACE */}
{/* Background Image */} {/* Rating Badge */} {/*
{attraction.rating}
*/} {/* Front Content - Clean Title & Location */}

{attraction.name}

{attraction.city}, {attraction.country}

{/* BACK FACE */}
{/* Back Content Container */}
{/* Included Value Section */}
Included Value
{attraction.includedValue}

{attraction.originalPrice === "Free" ? "Premium access included" : "Save money with CityCard"}

{/* What's Included List */}

What's Included:

{attraction.perks.slice(0, 3).map((perk, perkIndex) => (
{perk.label}
))}
{/* Duration & Meta Info */}
2-3 hours
All ages
{/* Footer Features */}
Mobile ticket
Instant confirmation
{/* Decorative Elements */}
); return (
{/* Header */}
Must-See Destinations

Top {' '} Attractions

Discover Australia's most iconic attractions and hidden gems across Sydney, Melbourne, Brisbane, Perth, and Adelaide - all included with your CityCard

{/* Category Tabs */} {categories.map((category, index) => ( setActiveCategory(category)} whileHover={{ scale: 1.05 }} whileTap={{ scale: 0.95 }} className={`px-6 py-4 h-14 rounded-full font-medium transition-all duration-300 ${activeCategory === category ? 'bg-red-400 text-white shadow-xl shadow-warm-coral/25 ring-2 ring-warm-coral/20' : 'bg-white/80 backdrop-blur-sm text-gray-700 hover:text-gray-900 hover:shadow-lg border border-gray-200/50 hover:border-warm-coral/20 hover:bg-white' }`} > {category} ))} {/* Mobile Horizontal Carousel */}
{/* Scroll Container */}
{filteredAttractions.map((attraction, index) => ( ))}
{/* Scroll Indicators */}
{Array.from({ length: Math.ceil(filteredAttractions.length / 2) }).map((_, index) => (
))}
{/* Mobile Hint Text */}

Swipe to explore more attractions

{/* Desktop Bento Grid */}
{/* Top Row - 3 equal cards */}
{filteredAttractions.slice(0, 3).map((attraction, index) => ( ))}
{/* Consistent Vertical Spacing */}
{/* Bottom Row - 2 larger cards */}
{filteredAttractions.slice(3, 5).map((attraction, index) => ( ))}
{/* Call to Action */}
); }