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

@@ -1,5 +1,5 @@
import { useRef, useEffect, useState } from 'react';
import { Search, X, Clock, Zap } from 'lucide-react';
import { Search, X, Clock, Zap, Castle, FerrisWheel, Factory } from 'lucide-react';
import { Input } from '@/components/ui/input';
import { Button } from '@/components/ui/button';
import { Badge } from '@/components/ui/badge';
@@ -161,13 +161,13 @@ export function AutocompleteSearch({
const getResultIcon = (result: SearchResult) => {
switch (result.type) {
case 'park':
return '🏰';
return <Castle className="w-5 h-5" />;
case 'ride':
return '🎢';
return <FerrisWheel className="w-5 h-5" />;
case 'company':
return '🏭';
return <Factory className="w-5 h-5" />;
default:
return '🔍';
return <Search className="w-5 h-5" />;
}
};
@@ -260,7 +260,7 @@ export function AutocompleteSearch({
</>
) : (
<>
<div className="text-2xl">{getResultIcon(item as SearchResult)}</div>
<div className="flex items-center justify-center">{getResultIcon(item as SearchResult)}</div>
<div className="flex-1 min-w-0">
<div className="flex items-center gap-2">
<span className="font-medium truncate">{item.title}</span>

View File

@@ -2,7 +2,7 @@ import { useState, useEffect } from 'react';
import { Card, CardContent } from '@/components/ui/card';
import { Badge } from '@/components/ui/badge';
import { Button } from '@/components/ui/button';
import { MapPin, Star, Search as SearchIcon } from 'lucide-react';
import { MapPin, Star, Search as SearchIcon, Castle, FerrisWheel, Waves, Theater, Factory } from 'lucide-react';
import { Park, Ride, Company } from '@/types/database';
import { supabase } from '@/integrations/supabase/client';
import { useNavigate } from 'react-router-dom';
@@ -95,21 +95,21 @@ export function SearchResults({ query, onClose }: SearchResultsProps) {
case 'park':
const park = result.data as Park;
switch (park.park_type) {
case 'theme_park': return '🏰';
case 'amusement_park': return '🎢';
case 'water_park': return '🏊';
default: return '🎡';
case 'theme_park': return <Castle className="w-5 h-5" />;
case 'amusement_park': return <FerrisWheel className="w-5 h-5" />;
case 'water_park': return <Waves className="w-5 h-5" />;
default: return <FerrisWheel className="w-5 h-5" />;
}
case 'ride':
const ride = result.data as Ride;
switch (ride.category) {
case 'roller_coaster': return '🎢';
case 'water_ride': return '🌊';
case 'dark_ride': 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" />;
default: return <FerrisWheel className="w-5 h-5" />;
}
case 'company':
return '🏭';
return <Factory className="w-5 h-5" />;
}
};
@@ -189,7 +189,7 @@ export function SearchResults({ query, onClose }: SearchResultsProps) {
>
<CardContent className="p-3">
<div className="flex items-center gap-3">
<div className="text-2xl">{getResultIcon(result)}</div>
<div className="flex items-center justify-center">{getResultIcon(result)}</div>
<div className="flex-1 min-w-0">
<div className="flex items-center gap-2 mb-1">
<h4 className="font-medium text-sm truncate">