import { useState } from 'react' import { faClock, faLocationDot, faPowerOff, faRoute, faStar } from '@fortawesome/free-solid-svg-icons' import { SimpleGrid } from '@chakra-ui/react' import { COLORS, MockButton, MockCard, MockDot, MockRow, MockText, MockupDevice, StatTile } from '../AdminMockup' const DRIVERS = [ { name: 'karim_d', status: 'busy' as const, queue: 1, today: 14, total: 512, distance: '1,8 km', eta: '6 min' }, { name: 'sofia_l', status: 'available' as const, queue: 0, today: 9, total: 340, distance: '0,6 km', eta: '2 min' }, { name: 'yanis_b', status: 'offline' as const, queue: 0, today: 5, total: 128, distance: '—', eta: '—' }, ] const STATUS_TONE = { available: COLORS.success, busy: COLORS.warning, offline: COLORS.text3 } const STATUS_LABEL = { available: 'Disponible', busy: 'Occupé', offline: 'Hors ligne' } // Sélection d'un livreur = vraie mise à jour d'état (carte + fiche + bouton // "suivre l'itinéraire"), pas une simple image de liste. export function LivraisonSection() { const [selected, setSelected] = useState('karim_d') const driver = DRIVERS.find((d) => d.name === selected)! return (
{driver.name} — {driver.distance} · {driver.eta}
Cliquez un livreur ci-dessous pour suivre son trajet en direct
{DRIVERS.map((d) => { const isSelected = d.name === selected return ( setSelected(d.name)}> {d.name} {STATUS_LABEL[d.status]} {d.queue} en attente · {d.today} aujourd'hui · {d.total} total {isSelected && (
Avis {d.status !== 'offline' ? "Suivre l'itinéraire" : 'Indisponible'}
)}
) })}
) }