Date de l'événement au format ISO (YYYY-MM-DD)
Heure de début au format HH:MM
Le statut calculé de l'événement
// Événement futur
const status1 = getEventStatus('2024-08-01', '20:30');
console.log(status1); // 'à venir'
// Événement en cours (si on est le 2024-08-01 à 21:00)
const status2 = getEventStatus('2024-08-01', '20:30');
console.log(status2); // 'en cours'
// Événement terminé
const status3 = getEventStatus('2024-07-26', '09:00');
console.log(status3); // 'terminé'
// Utilisation dans un composant React
function EventCard({ event }: { event: Evenement }) {
const status = getEventStatus(event.date, event.horraire);
const colorClass = getStatusColor(status);
return (
<div className="event-card">
<h3>{event.description}</h3>
<span className={`badge ${colorClass}`}>
{status}
</span>
</div>
);
}
Calcule le statut d'un événement basé sur sa date et son horaire
Cette fonction détermine automatiquement le statut d'un événement sportif en comparant la date/heure actuelle avec la période de l'événement. Elle utilise une durée standard de 2 heures pour calculer la fin de l'événement.
Logique de calcul
Gestion des fuseaux horaires
La fonction utilise l'heure locale du navigateur pour les comparaisons. Pour une application internationale, il serait recommandé d'utiliser des timestamps UTC avec conversion appropriée.
Performance
Cette fonction est optimisée pour être appelée fréquemment :