Added Chat Page

This commit is contained in:
2026-01-21 18:13:35 +01:00
parent 0ca8ce8b52
commit 3eed79ca93
37 changed files with 3966 additions and 64 deletions

View File

@@ -1,6 +1,7 @@
'use client';
import { useState, useEffect } from 'react';
import { useNotification } from './NotificationProvider';
interface Trajet {
id: string;
@@ -21,6 +22,7 @@ interface ValidationModalProps {
}
export default function ValidationModal({ trajet, onClose, onSuccess }: ValidationModalProps) {
const { showNotification } = useNotification();
const [loading, setLoading] = useState(false);
const [dureeTrajet, setDureeTrajet] = useState<number | null>(null);
@@ -103,8 +105,12 @@ export default function ValidationModal({ trajet, onClose, onSuccess }: Validati
}, []);
const handleValidate = async () => {
if (!trajet.chauffeur || !dureeTrajet) {
alert('Impossible de calculer la durée du trajet');
if (!trajet.chauffeur) {
showNotification('warning', 'Aucun chauffeur assigné à ce trajet');
return;
}
if (!dureeTrajet) {
showNotification('warning', 'Impossible de calculer la durée du trajet');
return;
}
@@ -121,15 +127,16 @@ export default function ValidationModal({ trajet, onClose, onSuccess }: Validati
});
if (response.ok) {
showNotification('success', `Trajet validé avec succès (${dureeTrajet}h déduites)`);
onSuccess();
onClose();
} else {
const error = await response.json();
alert(error.error || 'Erreur lors de la validation du trajet');
showNotification('error', error.error || 'Erreur lors de la validation du trajet');
}
} catch (error) {
console.error('Erreur lors de la validation:', error);
alert('Erreur lors de la validation du trajet');
showNotification('error', 'Erreur lors de la validation du trajet');
} finally {
setLoading(false);
}