From d1f32dbf252d77647ff1f9375e2c8e74509b3544 Mon Sep 17 00:00:00 2001
From: "gpt-engineer-app[bot]"
<159125892+gpt-engineer-app[bot]@users.noreply.github.com>
Date: Mon, 29 Sep 2025 12:36:38 +0000
Subject: [PATCH] Refactor: Replace emojis with Lucide React icons
---
src/components/homepage/ContentTabs.tsx | 20 +++++-----
src/components/homepage/FeaturedParks.tsx | 15 +++++---
src/components/layout/Header.tsx | 14 ++++---
src/components/parks/ParkCard.tsx | 18 ++++-----
src/components/parks/ParkGrid.tsx | 4 +-
src/components/parks/ParkListView.tsx | 18 ++++-----
src/components/search/AutocompleteSearch.tsx | 12 +++---
src/components/search/SearchResults.tsx | 22 +++++------
src/pages/Manufacturers.tsx | 18 ++++-----
src/pages/ParkDetail.tsx | 40 +++++++++++---------
src/pages/Parks.tsx | 5 ++-
src/pages/RideDetail.tsx | 28 ++++++++------
src/pages/Rides.tsx | 24 ++++++------
src/pages/Search.tsx | 16 ++++----
14 files changed, 136 insertions(+), 118 deletions(-)
diff --git a/src/components/homepage/ContentTabs.tsx b/src/components/homepage/ContentTabs.tsx
index 3be4a9a7..f3be7137 100644
--- a/src/components/homepage/ContentTabs.tsx
+++ b/src/components/homepage/ContentTabs.tsx
@@ -4,7 +4,7 @@ import { ParkCard } from '@/components/parks/ParkCard';
import { Card, CardContent } from '@/components/ui/card';
import { Badge } from '@/components/ui/badge';
import { Button } from '@/components/ui/button';
-import { Star, TrendingUp, Plus, MapPin, Clock, Zap } from 'lucide-react';
+import { Star, TrendingUp, Plus, MapPin, Clock, Zap, FerrisWheel, Waves, Theater, Train } from 'lucide-react';
import { MeasurementDisplay } from '@/components/ui/measurement-display';
import { Park, Ride } from '@/types/database';
import { supabase } from '@/integrations/supabase/client';
@@ -81,13 +81,13 @@ export function ContentTabs() {
const getRideIcon = (category: string) => {
switch (category) {
- case 'roller_coaster': return '🎢';
- case 'water_ride': return '🌊';
- case 'dark_ride': return '🎭';
- case 'flat_ride': return '🎡';
- case 'kiddie_ride': return '🎠';
- case 'transportation': return '🚂';
- default: return '🎢';
+ case 'roller_coaster': return
Try adjusting your search terms or filters
diff --git a/src/components/parks/ParkListView.tsx b/src/components/parks/ParkListView.tsx
index 58539bd1..bcdd965a 100644
--- a/src/components/parks/ParkListView.tsx
+++ b/src/components/parks/ParkListView.tsx
@@ -1,4 +1,4 @@
-import { MapPin, Star, Users, Calendar, ExternalLink } from 'lucide-react';
+import { MapPin, Star, Users, Calendar, ExternalLink, Castle, FerrisWheel, Waves, Tent } from 'lucide-react';
import { Card, CardContent } from '@/components/ui/card';
import { Badge } from '@/components/ui/badge';
import { Button } from '@/components/ui/button';
@@ -21,11 +21,11 @@ export function ParkListView({ parks, onParkClick }: ParkListViewProps) {
const getParkTypeIcon = (type: string) => {
switch (type) {
- case 'theme_park': return '🏰';
- case 'amusement_park': return '🎢';
- case 'water_park': return '🏊';
- case 'family_entertainment': return '🎪';
- default: return '🎡';
+ case 'theme_park': return
@@ -172,7 +172,7 @@ export default function Manufacturers() {
Try adjusting your search criteria or filters
diff --git a/src/pages/ParkDetail.tsx b/src/pages/ParkDetail.tsx
index 1bcc6cba..fb2def6d 100644
--- a/src/pages/ParkDetail.tsx
+++ b/src/pages/ParkDetail.tsx
@@ -16,7 +16,13 @@ import {
ArrowLeft,
Users,
Zap,
- Camera
+ Camera,
+ Castle,
+ FerrisWheel,
+ Waves,
+ Tent,
+ Theater,
+ Train
} from 'lucide-react';
import { ReviewsSection } from '@/components/reviews/ReviewsSection';
import { MeasurementDisplay } from '@/components/ui/measurement-display';
@@ -80,11 +86,11 @@ export default function ParkDetail() {
const getParkTypeIcon = (type: string) => {
switch (type) {
- case 'theme_park': return '🏰';
- case 'amusement_park': return '🎢';
- case 'water_park': return '🏊';
- case 'family_entertainment': return '🎪';
- default: return '🎡';
+ case 'theme_park': return
@@ -388,7 +394,7 @@ export default function ParkDetail() {
>
diff --git a/src/pages/Parks.tsx b/src/pages/Parks.tsx
index 53163937..1a6cdb22 100644
--- a/src/pages/Parks.tsx
+++ b/src/pages/Parks.tsx
@@ -14,7 +14,8 @@ import {
Search,
ChevronDown,
Sliders,
- X
+ X,
+ FerrisWheel
} from 'lucide-react';
import { Park } from '@/types/database';
import { supabase } from '@/integrations/supabase/client';
@@ -364,7 +365,7 @@ export default function Parks() {
Try adjusting your search terms or filters
diff --git a/src/pages/RideDetail.tsx b/src/pages/RideDetail.tsx
index ce479877..290e59dd 100644
--- a/src/pages/RideDetail.tsx
+++ b/src/pages/RideDetail.tsx
@@ -19,7 +19,11 @@ import {
Camera,
Heart,
RotateCcw,
- AlertTriangle
+ AlertTriangle,
+ FerrisWheel,
+ Waves,
+ Theater,
+ Train
} from 'lucide-react';
import { ReviewsSection } from '@/components/reviews/ReviewsSection';
import { MeasurementDisplay } from '@/components/ui/measurement-display';
@@ -82,13 +86,13 @@ export default function RideDetail() {
const getRideIcon = (category: string) => {
switch (category) {
- case 'roller_coaster': return '🎢';
- case 'water_ride': return '🌊';
- case 'dark_ride': return '🎭';
- case 'flat_ride': return '🎡';
- case 'kiddie_ride': return '🎠';
- case 'transportation': return '🚂';
- default: return '🎢';
+ case 'roller_coaster': return
@@ -233,7 +233,7 @@ export default function Rides() {
className="w-full h-full object-cover group-hover:scale-110 transition-transform duration-500"
/>
) : (
-
Try adjusting your search criteria or filters
diff --git a/src/pages/Search.tsx b/src/pages/Search.tsx
index af9b1cb6..65e740cd 100644
--- a/src/pages/Search.tsx
+++ b/src/pages/Search.tsx
@@ -5,7 +5,7 @@ import { Card, CardContent } from '@/components/ui/card';
import { Badge } from '@/components/ui/badge';
import { Button } from '@/components/ui/button';
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
-import { Search, MapPin, Zap, Star } from 'lucide-react';
+import { Search, MapPin, Zap, Star, Castle, FerrisWheel, Factory } from 'lucide-react';
import { AutocompleteSearch } from '@/components/search/AutocompleteSearch';
import { useSearch, SearchResult } from '@/hooks/useSearch';
@@ -59,10 +59,10 @@ export default function SearchPage() {
const getTypeIcon = (type: string) => {
switch (type) {
- case 'park': return '🏰';
- case 'ride': return '🎢';
- case 'company': return '🏭';
- default: return '🔍';
+ case 'park': return
Try searching for something else or adjust your search terms
@@ -220,7 +220,7 @@ export default function SearchPage() {
{/* Initial State */}
{!query && (
Search for theme parks, rides, or companies to get started
{ride.name}
No parks found
Rides & Attractions
{ride.name}
- {getRideIcon(ride.category)}
+ {getRideIcon(ride.category)}
No rides found
@@ -198,7 +198,7 @@ export default function SearchPage() {
{/* No Results */}
{!loading && query && filteredResults.length === 0 && (
No results found
Start your search