diff --git a/src/components/MovieCalendar.tsx b/src/components/MovieCalendar.tsx index 12cbdc7..c3910a6 100644 --- a/src/components/MovieCalendar.tsx +++ b/src/components/MovieCalendar.tsx @@ -43,13 +43,13 @@ export default function MovieCalendar({ isAdmin = false }: CalendarProps) { } }; - const getScheduleForDate = (date: Date) => { + const getSchedulesForDate = (date: Date) => { // Format date as YYYY-MM-DD in local timezone const dateString = date.getFullYear() + '-' + String(date.getMonth() + 1).padStart(2, '0') + '-' + String(date.getDate()).padStart(2, '0'); - return schedules.find(schedule => { + return schedules.filter(schedule => { // Format schedule date as YYYY-MM-DD in local timezone const scheduleDate = new Date(schedule.date); const scheduleDateString = scheduleDate.getFullYear() + '-' + @@ -62,15 +62,17 @@ export default function MovieCalendar({ isAdmin = false }: CalendarProps) { const tileContent = ({ date, view }: { date: Date; view: string }) => { if (view === 'month') { - const schedule = getScheduleForDate(date); - if (schedule) { + const schedulesForDate = getSchedulesForDate(date); + if (schedulesForDate.length > 0) { return ( -
- - {schedule.movie.title.length > 10 - ? schedule.movie.title.substring(0, 10) + '...' - : schedule.movie.title} - +
+ {schedulesForDate.map((schedule) => ( + + {schedule.movie.title.length > 10 + ? schedule.movie.title.substring(0, 10) + '...' + : schedule.movie.title} + + ))}
); } @@ -80,15 +82,15 @@ export default function MovieCalendar({ isAdmin = false }: CalendarProps) { const tileClassName = ({ date, view }: { date: Date; view: string }) => { if (view === 'month') { - const schedule = getScheduleForDate(date); - if (schedule) { + const schedulesForDate = getSchedulesForDate(date); + if (schedulesForDate.length > 0) { return 'movie-scheduled'; } } return ''; }; - const selectedSchedule = selectedDate ? getScheduleForDate(selectedDate) : null; + const selectedSchedules = selectedDate ? getSchedulesForDate(selectedDate) : []; return (
@@ -196,19 +198,23 @@ export default function MovieCalendar({ isAdmin = false }: CalendarProps) { - {selectedSchedule ? ( + {selectedSchedules.length > 0 ? (
- {selectedSchedule.movie.title} -
-

{selectedSchedule.movie.title}

-

- {selectedSchedule.movie.description} -

-
+ {selectedSchedules.map((schedule) => ( +
+ {schedule.movie.title} +
+

{schedule.movie.title}

+

+ {schedule.movie.description} +

+
+
+ ))}
) : (

No movie scheduled for this date.