Merge pull request 'fix timezone schedule view' (#12) from fix-selected-timezone into main

Reviewed-on: #12
This commit was merged in pull request #12.
This commit is contained in:
2026-02-25 16:57:24 +00:00

View File

@@ -81,16 +81,20 @@ export const ScheduleModal = ({
return `${hour.toString().padStart(2, '0')}:00`; return `${hour.toString().padStart(2, '0')}:00`;
}; };
const formatTime = (hour: number, minutes: number) => { const formatInTZ = (date: Date) =>
const totalMinutes = hour * 60 + minutes; date.toLocaleTimeString('en-US', {
const h = Math.floor(totalMinutes / 60) % 24; timeZone: displayTimezone,
const m = totalMinutes % 60; hour: '2-digit',
return `${h.toString().padStart(2, '0')}:${m.toString().padStart(2, '0')}`; minute: '2-digit',
}; hour12: false,
});
const getStartTimeDisplay = () => formatInTZ(new Date(slot.start_time));
const getEndTime = () => { const getEndTime = () => {
if (!slot) return ''; if (!slot) return '';
return formatTime(slot.hour, duration); const start = new Date(slot.start_time);
return formatInTZ(new Date(start.getTime() + duration * 60 * 1000));
}; };
const formatDate = (dateStr: string) => { const formatDate = (dateStr: string) => {
@@ -174,7 +178,7 @@ export const ScheduleModal = ({
</div> </div>
<div className="flex items-center gap-3 text-sm"> <div className="flex items-center gap-3 text-sm">
<Clock className="w-4 h-4 text-primary" /> <Clock className="w-4 h-4 text-primary" />
<span><span className="text-primary font-medium">{formatHour(slot.hour)} {getEndTime()}</span> <span className="text-muted-foreground">({getTimezoneAbbrev(displayTimezone)})</span></span> <span><span className="text-primary font-medium">{getStartTimeDisplay()} {getEndTime()}</span> <span className="text-muted-foreground">({getTimezoneAbbrev(displayTimezone)})</span></span>
</div> </div>
<div className="flex items-center gap-3 text-sm"> <div className="flex items-center gap-3 text-sm">
<Users className="w-4 h-4 text-primary" /> <Users className="w-4 h-4 text-primary" />