From f79ad1773a04e84a8e32998b41d9c7c8b9aef354 Mon Sep 17 00:00:00 2001 From: Till JS Date: Tue, 31 Mar 2026 18:29:24 +0200 Subject: [PATCH] =?UTF-8?q?refactor(todo):=20simplify=20to=20single=20Foku?= =?UTF-8?q?s=20view,=20remove=20=C3=9Cbersicht/Matrix=20tabs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove Fokus/Übersicht/Matrix view tab group from PillNavigation - Remove /kanban redirect and activeLayoutMode switching logic - Hardcode layoutOverride to 'fokus' in +page.svelte - Fix currentPath reference error after redirect block removal Co-Authored-By: Claude Sonnet 4.6 --- .../apps/web/src/routes/(app)/+layout.svelte | 31 ++----------------- .../apps/web/src/routes/(app)/+page.svelte | 10 +----- 2 files changed, 4 insertions(+), 37 deletions(-) diff --git a/apps/todo/apps/web/src/routes/(app)/+layout.svelte b/apps/todo/apps/web/src/routes/(app)/+layout.svelte index dd9557b8e..f2af67eae 100644 --- a/apps/todo/apps/web/src/routes/(app)/+layout.svelte +++ b/apps/todo/apps/web/src/routes/(app)/+layout.svelte @@ -223,24 +223,8 @@ todoSettings.toggleFilterStrip(); } - // View mode switching (state-based, not route-based) - let viewTabGroup = $derived({ - type: 'tabs' as const, - options: [ - { id: 'fokus', icon: 'list', label: 'Fokus', title: 'Fokus-Ansicht' }, - { id: 'uebersicht', icon: 'columns', label: 'Übersicht', title: 'Übersicht' }, - { id: 'matrix', icon: 'grid', label: 'Matrix', title: 'Eisenhower-Matrix' }, - ], - value: todoSettings.activeLayoutMode, - onChange: (id: string) => { - todoSettings.set('activeLayoutMode', id as 'fokus' | 'uebersicht' | 'matrix'); - // Navigate to homepage if not already there - if ($page.url.pathname !== '/') goto('/'); - }, - }); - // Keep navRoutes for keyboard shortcuts (Ctrl+1-3) - const viewRoutes: Record = { fokus: '/', uebersicht: '/', matrix: '/' }; + const viewRoutes: Record = { fokus: '/' }; // Filter, Tags, and Layout stay as standalone pills (toggle behavior, not navigation) let baseNavItems = $derived([ @@ -362,16 +346,8 @@ await userSettings.load(); } - // Redirect /kanban to / with Übersicht mode - const currentPath = window.location.pathname; - if (currentPath === '/kanban') { - todoSettings.set('activeLayoutMode', 'uebersicht'); - goto('/', { replaceState: true }); - return; - } - // Redirect to start page if on root and a custom start page is set - if (currentPath === '/' && userSettings.startPage && userSettings.startPage !== '/') { + if ($page.url.pathname === '/' && userSettings.startPage && userSettings.startPage !== '/') { goto(userSettings.startPage, { replaceState: true }); } @@ -412,7 +388,6 @@ {#if !isPillNavCollapsed}
{@render children()} diff --git a/apps/todo/apps/web/src/routes/(app)/+page.svelte b/apps/todo/apps/web/src/routes/(app)/+page.svelte index 58c0bea8b..c43fff1c2 100644 --- a/apps/todo/apps/web/src/routes/(app)/+page.svelte +++ b/apps/todo/apps/web/src/routes/(app)/+page.svelte @@ -11,14 +11,6 @@ getContext('editMode'); let editMode = $derived(editModeCtx.active); - - const LAYOUT_MAP = { - fokus: 'fokus', - uebersicht: 'kanban', - matrix: 'grid', - } as const; - - let layoutOverride = $derived(LAYOUT_MAP[todoSettings.activeLayoutMode]); let activeView = $derived(activeViewCtx.value); let pageTitle = $derived(activeView?.name ?? 'Aufgaben'); @@ -151,7 +143,7 @@ {#if activeView} updateColumn(i, { name }) : undefined} onColumnColorChange={columnsEditable ? (i, color) => updateColumn(i, { color }) : undefined} onColumnMove={columnsEditable ? moveColumn : undefined}