import React, { useState } from 'react'; import { EventData, EventStatus } from '../types'; import { Calendar, MapPin, ArrowRight, UserCheck } from 'lucide-react'; import { STATUS_COLORS } from '../constants'; interface EventCardProps { event: EventData; onClick: () => void; } export const EventCard: React.FC = ({ event, onClick }) => { const [imageLoaded, setImageLoaded] = useState(false); const fullAddress = `${event.address.street}, ${event.address.number} - ${event.address.city}/${event.address.state}`; return (
{/* Skeleton / Loading State */} {!imageLoaded && (
)} {event.name} setImageLoaded(true)} />
{event.status}

{event.type}

{event.name}

{new Date(event.date).toLocaleDateString()} às {event.time}
{/* Location with Tooltip */}
{event.address.city}, {event.address.state}
{/* Custom Tooltip */}
{event.address.street}, {event.address.number}
{event.address.city} - {event.address.state} {/* Arrow */}
{event.contacts.length > 0 && (
{event.contacts.length} {event.contacts.length === 1 ? 'Fornecedor/Contato' : 'Fornecedores/Contatos'}
)}
{[1,2,3].map(i => (
))}
+4
); };