{#if view === 'month'}
{#each DAY_NAMES as day}
{$i18n.t(day)}
{/each}
{#each monthDays as day, i} {@const dayKey = new Date(day.getFullYear(), day.getMonth(), day.getDate()) .getTime() .toString()} {@const dayEvents = eventsByDay[dayKey] || []} {@const col = i % 7} {@const row = Math.floor(i / 7)}
handleDayClick(day)} >
{day.getDate()}
{#each dayEvents.slice(0, 3) as evt (evt.instance_id || evt.id)}
handleEventClick(evt)} /> {/each} {#if dayEvents.length > 3}
goToDayView(day)} > +{dayEvents.length - 3} more
{/if}
{/each}
{:else if view === 'week'}
{#each weekDays as day}
{DAY_NAMES[day.getDay()]}
{day.getDate()}
{/each}
{#each hours as hour}
{hour > 0 ? formatHour(hour) : ''}
{#each weekDays as day} {@const hourEvents = getEventsForHour(day, hour, filteredEvents)}
handleHourClick(day, hour)} >
{#each hourEvents.slice(0, 3) as evt (evt.instance_id || evt.id)}
handleEventClick(evt)} /> {/each} {#if hourEvents.length > 3}
goToDayView(day)} > +{hourEvents.length - 3} more
{/if}
{/each}
{/each}
{:else}
{#each hours as hour} {@const hourEvents = getEventsForHour(currentDate, hour, filteredEvents)}
{formatHour(hour)}
handleHourClick(currentDate, hour)} >
{#each hourEvents as evt (evt.instance_id || evt.id)}
handleEventClick(evt)} /> {/each}
{/each}
{/if}