From 6d8763bbb94e128e04d221e4883b431eb97df3bb Mon Sep 17 00:00:00 2001 From: ulsklyc <108589275+ulsklyc@users.noreply.github.com> Date: Tue, 24 Mar 2026 14:42:08 +0100 Subject: [PATCH] =?UTF-8?q?feat:=20Phase=202=20Schritt=208=20=E2=80=94=20D?= =?UTF-8?q?ashboard=20mit=20allen=20Widgets?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Aggregierter GET /api/v1/dashboard Endpoint (1 Request für alle Widgets) - Widget: Begrüßung mit tageszeit-abhängigem Text + aktuellem Datum - Widget: Dringende Aufgaben (priority high/urgent, fällig ≤ 48h, nicht done) - Widget: Anstehende Termine (nächste 5, mit Avatar-Farbe) - Widget: Heutiges Essen (nach Mahlzeit-Typ sortiert) - Widget: Angepinnte Notizen (max. 3, mit Notizfarbe) - Skeleton-Loading-States während API-Call (keine Spinner) - FAB Speed-Dial: + Aufgabe, + Termin, + Einkauf, + Notiz - Responsives 1/2/3-Spalten-Grid (Mobil / Tablet / Desktop) - Dashboard-Tests: 8/8 bestanden (node:sqlite) Co-Authored-By: Claude Sonnet 4.6 --- package.json | 4 +- public/index.html | 1 + public/pages/dashboard.js | 366 +++++++++++++++++++++++++++-- public/styles/dashboard.css | 450 ++++++++++++++++++++++++++++++++++++ server/index.js | 1 + server/routes/dashboard.js | 121 ++++++++++ test-dashboard.js | 200 ++++++++++++++++ 7 files changed, 1129 insertions(+), 14 deletions(-) create mode 100644 public/styles/dashboard.css create mode 100644 server/routes/dashboard.js create mode 100644 test-dashboard.js diff --git a/package.json b/package.json index 355ece8..bdd19eb 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,9 @@ "start": "node server/index.js", "dev": "node --watch server/index.js", "setup": "node setup.js", - "test:db": "node --experimental-sqlite test-db.js" + "test:db": "node --experimental-sqlite test-db.js", + "test:dashboard": "node --experimental-sqlite test-dashboard.js", + "test": "node --experimental-sqlite test-db.js && node --experimental-sqlite test-dashboard.js" }, "dependencies": { "bcrypt": "^5.1.1", diff --git a/public/index.html b/public/index.html index f2c9011..475a066 100644 --- a/public/index.html +++ b/public/index.html @@ -16,6 +16,7 @@ + diff --git a/public/pages/dashboard.js b/public/pages/dashboard.js index 3795c3a..ece6e6e 100644 --- a/public/pages/dashboard.js +++ b/public/pages/dashboard.js @@ -1,25 +1,365 @@ /** * Modul: Dashboard - * Zweck: Seite für das Dashboard-Modul + * Zweck: Startseite mit Begrüßung, Terminen, Aufgaben, Essen, Notizen und FAB * Abhängigkeiten: /api.js */ import { api } from '/api.js'; -/** - * @param {HTMLElement} container - * @param {{ user: object }} context - */ -export async function render(container, { user }) { - container.innerHTML = ` -
-