Refactor: Replace emojis with Lucide React icons

This commit is contained in:
gpt-engineer-app[bot]
2025-09-29 12:36:38 +00:00
parent bb139bd70c
commit d1f32dbf25
14 changed files with 136 additions and 118 deletions

View File

@@ -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 <Castle className="w-20 h-20" />;
case 'amusement_park': return <FerrisWheel className="w-20 h-20" />;
case 'water_park': return <Waves className="w-20 h-20" />;
case 'family_entertainment': return <Tent className="w-20 h-20" />;
default: return <FerrisWheel className="w-20 h-20" />;
}
};
@@ -96,13 +102,13 @@ export default function ParkDetail() {
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 <FerrisWheel className="w-5 h-5" />;
case 'water_ride': return <Waves className="w-5 h-5" />;
case 'dark_ride': return <Theater className="w-5 h-5" />;
case 'flat_ride': return <FerrisWheel className="w-5 h-5" />;
case 'kiddie_ride': return <FerrisWheel className="w-5 h-5" />;
case 'transportation': return <Train className="w-5 h-5" />;
default: return <FerrisWheel className="w-5 h-5" />;
}
};
@@ -167,7 +173,7 @@ export default function ParkDetail() {
/>
) : (
<div className="flex items-center justify-center h-full">
<div className="text-8xl opacity-50">
<div className="opacity-50">
{getParkTypeIcon(park.park_type)}
</div>
</div>
@@ -235,7 +241,7 @@ export default function ParkDetail() {
</Card>
<Card>
<CardContent className="p-4 text-center">
<div className="text-2xl font-bold">{getParkTypeIcon(park.park_type)}</div>
<div className="flex items-center justify-center mb-2">{getParkTypeIcon(park.park_type)}</div>
<div className="text-sm text-muted-foreground">{formatParkType(park.park_type)}</div>
</CardContent>
</Card>
@@ -280,7 +286,7 @@ export default function ParkDetail() {
className="flex items-center gap-3 p-3 border rounded-lg hover:bg-muted/50 cursor-pointer transition-colors"
onClick={() => navigate(`/parks/${park.slug}/rides/${ride.slug}`)}
>
<div className="text-2xl">{getRideIcon(ride.category)}</div>
<div className="flex items-center">{getRideIcon(ride.category)}</div>
<div className="flex-1">
<h4 className="font-medium">{ride.name}</h4>
<p className="text-sm text-muted-foreground">
@@ -388,7 +394,7 @@ export default function ParkDetail() {
>
<CardContent className="p-4">
<div className="flex items-start gap-3 mb-3">
<div className="text-2xl">{getRideIcon(ride.category)}</div>
<div className="flex items-center">{getRideIcon(ride.category)}</div>
<div className="flex-1">
<h3 className="font-medium">{ride.name}</h3>
<p className="text-sm text-muted-foreground">