From e661e15bbf6ffbab517f967141272eb190a4d5ca Mon Sep 17 00:00:00 2001 From: Patedam Date: Sat, 7 Mar 2026 22:18:36 -0500 Subject: [PATCH] feat: Implement core frontend application with task management, user selection, and a collapsible sidebar. --- Provider/frontend/src/App.svelte | 67 +++++----- Provider/frontend/src/lib/Sidebar.svelte | 2 +- Provider/frontend/src/lib/TaskManager.svelte | 121 ++++++++++++++++--- Provider/frontend/src/lib/UserManager.svelte | 9 +- Provider/frontend/version.json | 2 +- Provider/main/main.cpp | 25 ++-- Provider/tdd/todo_list.md | 33 ++++- 7 files changed, 189 insertions(+), 70 deletions(-) diff --git a/Provider/frontend/src/App.svelte b/Provider/frontend/src/App.svelte index c287fa9..366bf2f 100644 --- a/Provider/frontend/src/App.svelte +++ b/Provider/frontend/src/App.svelte @@ -144,7 +144,7 @@
-

Calendink Provider 🚀🚀👑

+

Calendink Provider 🚀👑🥸

ESP32-S3 System Dashboard v{__APP_VERSION__}

@@ -175,6 +175,39 @@ {#if currentView === 'dashboard'} + + + {#if upcomingData.users.length > 0} +
+
+

+ 📋 Upcoming Tasks +

+
+
+ {#each upcomingData.users as user} +
+

{user.name}

+ {#if user.tasks.length === 0} +

No pending tasks

+ {:else} +
+ {#each user.tasks as task} +
+ + {formatRelativeDate(task.due_date)} + + {task.title} +
+ {/each} +
+ {/if} +
+ {/each} +
+
+ {/if} +
@@ -285,38 +318,6 @@
- - {#if upcomingData.users.length > 0} -
-
-

- 📋 Upcoming Tasks -

-
-
- {#each upcomingData.users as user} -
-

{user.name}

- {#if user.tasks.length === 0} -

No pending tasks

- {:else} -
- {#each user.tasks as task} -
- - {formatRelativeDate(task.due_date)} - - {task.title} -
- {/each} -
- {/if} -
- {/each} -
-
- {/if} - {:else if currentView === 'tasks'}
diff --git a/Provider/frontend/src/lib/Sidebar.svelte b/Provider/frontend/src/lib/Sidebar.svelte index b2f402b..07e63ee 100644 --- a/Provider/frontend/src/lib/Sidebar.svelte +++ b/Provider/frontend/src/lib/Sidebar.svelte @@ -1,6 +1,6 @@