{headerTitle()}
(currentView = "day")} > Day
(currentView = "week")} > Week
(currentView = "month")} > Month
Today
{#if currentView === "month"}
{#each weekDays as day}
{day}
{/each} {#each days as day} {@const dayEvents = getEventsForDay(day)} {@const isToday = isSameDay(day, today)} {@const inMonth = isCurrentMonth(day)}
onDateClick?.(day)} >
{day.getDate()}
{#each dayEvents.slice(0, 3) as event}
{ e.stopPropagation(); onEventClick?.(event); }} > {event.title}
{/each} {#if dayEvents.length > 3}
+{dayEvents.length - 3} more
{/if}
{/each}
{/if} {#if currentView === "week"}
{#each weekDates as day} {@const dayEvents = getEventsForDay(day)} {@const isToday = isSameDay(day, today)}
{weekDays[day.getDay()]}
{day.getDate()}
{#each dayEvents as event}
onEventClick?.(event)} >
{event.title}
{new Date( event.start_time, ).toLocaleTimeString("en-US", { hour: "numeric", minute: "2-digit", })}
{/each}
{/each}
{/if} {#if currentView === "day"} {@const dayEvents = getEventsForDay(currentDate)}
{#if dayEvents.length === 0}
No events for this day
{:else}
{#each dayEvents as event}
onEventClick?.(event)} >
{event.title}
{new Date(event.start_time).toLocaleTimeString( "en-US", { hour: "numeric", minute: "2-digit" }, )} - {new Date(event.end_time).toLocaleTimeString( "en-US", { hour: "numeric", minute: "2-digit" }, )}
{#if event.description}
{event.description}
{/if}
{/each}
{/if}
{/if}