From 37039048f43ab7e82a440d3914c1ec5da5237153 Mon Sep 17 00:00:00 2001 From: Till-JS <101404291+Till-JS@users.noreply.github.com> Date: Tue, 9 Dec 2025 13:00:29 +0100 Subject: [PATCH] feat(todo): redesign task input and items with glass-pill style MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - QuickAddTask: Add glass-morphism pill design with date, priority, and project pickers. Auto-focus on mount, fixed position on mobile above navigation bar with dropdowns opening upward - TaskItem: Redesign with pill-shaped glass-morphism style, matching the navigation components. Includes hover effects, priority dot, and inline meta information - TaskList: Remove redundant spacing since TaskItem has its own margin - New tasks now default to today's date 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .../src/lib/components/QuickAddTask.svelte | 565 +++++++++++++++++- .../web/src/lib/components/TaskItem.svelte | 370 ++++++++---- .../web/src/lib/components/TaskList.svelte | 2 +- 3 files changed, 810 insertions(+), 127 deletions(-) diff --git a/apps/todo/apps/web/src/lib/components/QuickAddTask.svelte b/apps/todo/apps/web/src/lib/components/QuickAddTask.svelte index 6534420fd..548c61e0d 100644 --- a/apps/todo/apps/web/src/lib/components/QuickAddTask.svelte +++ b/apps/todo/apps/web/src/lib/components/QuickAddTask.svelte @@ -1,11 +1,63 @@ -
-
-
- + + +
+
+ +
+
+ + - {#if isLoading} -
-
+ + +
+ +
+ + + {#if showDatePicker} + + {/if}
- {/if} + + +
+ + + {#if showPriorityPicker} + + {/if} +
+ + +
+ + + {#if showProjectPicker} + + {/if} +
+ + +
+ + + +
+ + diff --git a/apps/todo/apps/web/src/lib/components/TaskItem.svelte b/apps/todo/apps/web/src/lib/components/TaskItem.svelte index 07e684eae..a1520f4fd 100644 --- a/apps/todo/apps/web/src/lib/components/TaskItem.svelte +++ b/apps/todo/apps/web/src/lib/components/TaskItem.svelte @@ -15,10 +15,10 @@ // Priority colors const priorityColors: Record = { - low: 'bg-green-500', - medium: 'bg-yellow-500', - high: 'bg-orange-500', - urgent: 'bg-red-500', + low: '#22c55e', + medium: '#eab308', + high: '#f97316', + urgent: '#ef4444', }; // Format due date @@ -51,131 +51,281 @@ }); -
+
-
+
- -
-
-

- {task.title} -

+
+ + {task.title} + - - -
+ + {#if dueDateText() || subtaskProgress() || (task.labels && task.labels.length > 0)} +
+ {#if dueDateText()} + + + + + {dueDateText()} + + {/if} - {#if task.description} -

- {task.description} -

- {/if} + {#if subtaskProgress()} + + + + + {subtaskProgress()} + + {/if} - -
- {#if dueDateText()} - - - - - {dueDateText()} - - {/if} - - {#if subtaskProgress()} - - - - - {subtaskProgress()} - - {/if} - - {#if task.labels && task.labels.length > 0} -
- {#each task.labels.slice(0, 3) as label} - + {#if task.labels && task.labels.length > 0} + {#each task.labels.slice(0, 2) as label} + {label.name} {/each} - {#if task.labels.length > 3} - +{task.labels.length - 3} + {#if task.labels.length > 2} + +{task.labels.length - 2} {/if} -
- {/if} - - {#if task.recurrenceRule} - - - - - Wiederkehrend - - {/if} -
+ {/if} +
+ {/if}
- + {#if projectColor()} -
+
{/if} + + +
+ + diff --git a/apps/todo/apps/web/src/lib/components/TaskList.svelte b/apps/todo/apps/web/src/lib/components/TaskList.svelte index f48891814..51a8b7a94 100644 --- a/apps/todo/apps/web/src/lib/components/TaskList.svelte +++ b/apps/todo/apps/web/src/lib/components/TaskList.svelte @@ -23,7 +23,7 @@ } -
+
{#each tasks as task (task.id)}