import { Link } from 'react-router-dom' import { format } from 'date-fns' import { es } from 'date-fns/locale' import { TruckIcon, MapPinIcon, ClockIcon, BoltIcon, ArrowTrendingUpIcon, UserIcon, } from '@heroicons/react/24/outline' import clsx from 'clsx' import { Vehiculo } from '@/types' import { StatusBadge } from '@/components/ui/Badge' interface VehiculoPopupProps { vehiculo: Vehiculo } export default function VehiculoPopup({ vehiculo }: VehiculoPopupProps) { const { ubicacion, conductor } = vehiculo // Format timestamp const lastUpdate = ubicacion?.timestamp ? format(new Date(ubicacion.timestamp), "d MMM, HH:mm", { locale: es }) : 'Sin datos' // Movement status const getMovimientoStatus = () => { switch (vehiculo.movimiento) { case 'movimiento': return { label: 'En movimiento', status: 'online' as const } case 'detenido': return { label: 'Detenido', status: 'warning' as const } case 'ralenti': return { label: 'Ralenti', status: 'warning' as const } case 'sin_senal': return { label: 'Sin senal', status: 'offline' as const } default: return { label: 'Desconocido', status: 'offline' as const } } } const movStatus = getMovimientoStatus() return (
{vehiculo.placa}
{ubicacion.lat.toFixed(6)}, {ubicacion.lng.toFixed(6)}