From bd9bd556f4021bdf374e9888e8b8594328024ac2 Mon Sep 17 00:00:00 2001 From: Till-JS <101404291+Till-JS@users.noreply.github.com> Date: Mon, 2 Feb 2026 18:54:05 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=B8=20feat(calendar):=20hide=20tasks?= =?UTF-8?q?=20by=20default=20and=20scroll=20to=20midday=20on=20load?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add showTasksInCalendar setting (default: false) to hide task blocks - Auto-scroll time-grid views to 12:00 on initial load for better UX - Tasks can be re-enabled via settings toggle --- .../lib/components/calendar/DayView.svelte | 38 ++++++------ .../components/calendar/MultiDayView.svelte | 62 ++++++++++--------- .../components/calendar/ViewCarousel.svelte | 38 +++++++++++- .../lib/components/calendar/WeekView.svelte | 62 ++++++++++--------- .../web/src/lib/stores/settings.svelte.ts | 11 ++++ 5 files changed, 132 insertions(+), 79 deletions(-) diff --git a/apps/calendar/apps/web/src/lib/components/calendar/DayView.svelte b/apps/calendar/apps/web/src/lib/components/calendar/DayView.svelte index 34f4a64b0..f21b2776c 100644 --- a/apps/calendar/apps/web/src/lib/components/calendar/DayView.svelte +++ b/apps/calendar/apps/web/src/lib/components/calendar/DayView.svelte @@ -813,24 +813,26 @@ /> {/each} - - {#each getScheduledTasks() as task (task.id)} - {@const isTaskBeingDragged = isTaskDragging && draggedTask?.id === task.id} - {@const isTaskBeingResized = isTaskResizing && resizeTask?.id === task.id} - - {/each} + + {#if settingsStore.showTasksInCalendar} + {#each getScheduledTasks() as task (task.id)} + {@const isTaskBeingDragged = isTaskDragging && draggedTask?.id === task.id} + {@const isTaskBeingResized = isTaskResizing && resizeTask?.id === task.id} + + {/each} + {/if} {#if overflowEvents.before.length > 0} diff --git a/apps/calendar/apps/web/src/lib/components/calendar/MultiDayView.svelte b/apps/calendar/apps/web/src/lib/components/calendar/MultiDayView.svelte index abfb51478..038b02d2b 100644 --- a/apps/calendar/apps/web/src/lib/components/calendar/MultiDayView.svelte +++ b/apps/calendar/apps/web/src/lib/components/calendar/MultiDayView.svelte @@ -976,37 +976,39 @@ {/each} - - {#each getScheduledTasksForDay(day) as task (task.id)} - {@const isTaskBeingDragged = isTaskDragging && draggedTask?.id === task.id} - {@const isTaskBeingResized = isTaskResizing && resizeTask?.id === task.id} - {@const isTaskCrossDayDrag = - isTaskBeingDragged && - taskDragTargetDay !== null && - !isSameDay(day, taskDragTargetDay)} - - {/each} + + {#if settingsStore.showTasksInCalendar} + {#each getScheduledTasksForDay(day) as task (task.id)} + {@const isTaskBeingDragged = isTaskDragging && draggedTask?.id === task.id} + {@const isTaskBeingResized = isTaskResizing && resizeTask?.id === task.id} + {@const isTaskCrossDayDrag = + isTaskBeingDragged && + taskDragTargetDay !== null && + !isSameDay(day, taskDragTargetDay)} + + {/each} - - {#if isTaskDragging && draggedTask && taskDragTargetDay && isSameDay(day, taskDragTargetDay) && !getScheduledTasksForDay(day).some((t) => t.id === draggedTask!.id)} - + + {#if isTaskDragging && draggedTask && taskDragTargetDay && isSameDay(day, taskDragTargetDay) && !getScheduledTasksForDay(day).some((t) => t.id === draggedTask!.id)} + + {/if} {/if} diff --git a/apps/calendar/apps/web/src/lib/components/calendar/ViewCarousel.svelte b/apps/calendar/apps/web/src/lib/components/calendar/ViewCarousel.svelte index 8ea78cb75..4658e609f 100644 --- a/apps/calendar/apps/web/src/lib/components/calendar/ViewCarousel.svelte +++ b/apps/calendar/apps/web/src/lib/components/calendar/ViewCarousel.svelte @@ -1,8 +1,10 @@ @@ -331,7 +367,7 @@ -