From b4eeb18676e1e8c31213b8efc039c234bb67ba38 Mon Sep 17 00:00:00 2001 From: Julien Rousseau Date: Sat, 1 Feb 2025 14:26:47 -0500 Subject: [PATCH] attempt, not working --- packages/web/src/components/Calendar.astro | 43 ++++++++++------------ 1 file changed, 19 insertions(+), 24 deletions(-) diff --git a/packages/web/src/components/Calendar.astro b/packages/web/src/components/Calendar.astro index 2133436..17ba501 100644 --- a/packages/web/src/components/Calendar.astro +++ b/packages/web/src/components/Calendar.astro @@ -12,11 +12,19 @@ const timeMin = 8; const timeMax = 22; const timeStep = 1; -function cells(callback: (time: number) => JSX.Element) { +function cells( + label: (time: number) => JSX.Element, + cell: (weekday: number, time: number) => JSX.Element, +) { return Array.from({ length: (timeMax - timeMin + 1) / timeStep }).map( (_, i) => { const time = timeMin + i * timeStep; - return callback(time); + return ( +
+ {label(time)} + {Array.from({ length: 7 }).map((_, weekday) => cell(weekday, time))} +
+ ); }, ); } @@ -28,30 +36,17 @@ function formatTime(time: number): string { } --- -
-
-
- { - cells((time) => ( -
- {formatTime(time)} -
-
- )) - } -
- +
{ - Array.from({ length: 7 }).map((_, weekday) => ( -
- {cells((time) => ( -
- {weekday} - {formatTime(time)} -
- ))} -
- )) + cells( + (time) =>
{formatTime(time)}
, + (weekday, time) => ( +
+ {weekday} - {formatTime(time)} +
+ ), + ) }