diff --git a/app/vision/page.tsx b/app/vision/page.tsx index 3515d53..976008c 100644 --- a/app/vision/page.tsx +++ b/app/vision/page.tsx @@ -499,6 +499,16 @@ export default function VisionPage() { } }; + // Format date-time to local format (YYYY-MM-DDTHH:mm) preserving local time + const formatLocalDateTime = (date: Date): string => { + const year = date.getFullYear(); + const month = String(date.getMonth() + 1).padStart(2, '0'); + const day = String(date.getDate()).padStart(2, '0'); + const hours = String(date.getHours()).padStart(2, '0'); + const minutes = String(date.getMinutes()).padStart(2, '0'); + return `${year}-${month}-${day}T${hours}:${minutes}`; + }; + // Handle open meeting dialog const handleOpenMeetingDialog = (type: "group" | "mission", id: string, name: string) => { const defaultDate = selectedDate || new Date(); @@ -512,8 +522,8 @@ export default function VisionPage() { entityId: id, entityName: name, title: "", - start: startDate.toISOString().slice(0, 16), - end: endDate.toISOString().slice(0, 16), + start: formatLocalDateTime(startDate), + end: formatLocalDateTime(endDate), allDay: false, description: "", recurrence: "none", @@ -706,6 +716,21 @@ export default function VisionPage() { return date.toLocaleDateString('fr-FR', { weekday: 'long', day: 'numeric', month: 'long' }); }; + // Format time range for display (start - end) + const formatTimeRange = (meeting: ScheduledMeeting): string => { + if (meeting.isAllDay) { + return "Toute la journée"; + } + if (!meeting.start || !meeting.end) { + return meeting.time || ""; + } + const start = new Date(meeting.start); + const end = new Date(meeting.end); + const startTime = start.toTimeString().slice(0, 5); + const endTime = end.toTimeString().slice(0, 5); + return `${startTime} - ${endTime}`; + }; + // Show loading state if (status === "loading" || loading) { return ( @@ -794,7 +819,10 @@ export default function VisionPage() { {meeting.title || `${meeting.type === "group" ? "Groupe" : "Mission"}: ${meeting.entityName}`}
- {meeting.time} - {formatDate(meeting.date)} + {meeting.type === "group" ? "Groupe" : "Mission"}: {meeting.entityName} +
++ {formatTimeRange(meeting)}
@@ -976,12 +1004,17 @@ export default function VisionPage() {{meeting.time}
++ {meeting.type === "group" ? "Groupe" : "Mission"}: {meeting.entityName} +
++ {formatTimeRange(meeting)} +
- {canJoinMeeting(meeting) && ( + {canJoinMeeting(meeting) && meeting.location && (