| quick-260916-k2z |
01 |
ui |
| react |
| next.js |
| vitest |
| calendar-widget |
| dashboard |
|
| phase |
provides |
| quick-260916-jvj |
Plakette in Kalenderfarbe (badgeColor = day.events[0]?.color), Tooltip mit Farbpunkt je Zeile, sortierte Tagesgruppen in groupEventsByDate |
|
|
| groupDayBySource(events) — gruppiert Tagestermine nach sourceId (nicht Farbe), Reihenfolge = erstes Auftreten |
| buildDayBadges(events, max) — baut bis zu drei Plaketten-Kreise, ab dem vierten Kalender einen grauen Restkreis mit Summe |
| Kalender-Widget rendert je Kalender am selben Tag einen kleinen farbigen Kreis statt einer einzigen Gesamt-Plakette |
|
| dashboard-calendar-widget |
| calendar-month-helpers |
|
| tokens |
tasks |
commits |
| 4700 |
2 |
2 |
|
| added |
patterns |
|
|
| Reine Hilfsfunktionen ohne React/DOM in calendar-month.ts, vom Widget importiert (Muster aus resolveCalendarConfig/groupEventsByDate fortgeschrieben) |
| Ein DOM-Element traegt genau ein data-testid; mehrere gleichartige Elemente unterscheiden sich per rest-Flag im data-testid (calendar-day-count vs. calendar-day-count-rest), Positionierung wandert auf einen gemeinsamen Wrapper |
|
|
| created |
modified |
|
|
| apps/web/src/components/dashboard/widgets/calendar-month.ts |
| apps/web/src/components/dashboard/widgets/calendar-month.test.ts |
| apps/web/src/components/dashboard/widgets/calendar-widget.tsx |
| apps/web/src/components/dashboard/widgets/calendar-widget.test.tsx |
| CHANGELOG.md |
|
|
| Grau-Wahl fuer den Restkreis: text-background statt text-white, weil --muted-foreground im Dunkelmodus hell ist (oklch 0.65) und weisse Schrift dort schwach waere; text-background ist auf beiden Themes lesbar (aus PLAN uebernommen, keine eigene Abweichung) |
| Gruppierung nach sourceId, nicht nach Farbe — zwei Kalender mit identischer Farbe bleiben zwei Kreise (aus PLAN uebernommen) |
|
| buildDayBadges(events, max = CALENDAR_DAY_BADGE_MAX) als generische Kappungslogik: erste max-1 Gruppen sichtbar, Rest zu einem Summen-Eintrag gebuendelt — wiederverwendbar fuer aehnliche Kappungsfaelle |
|
|
| id |
description |
requirement |
verification |
human_judgment |
| D1 |
groupDayBySource gruppiert Tagestermine nach sourceId (nicht Farbe) in Reihenfolge des ersten Auftretens, Farbe = Farbe des ersten Termins der Gruppe |
QUICK-260916-K2Z |
| kind |
ref |
status |
| unit |
apps/web/src/components/dashboard/widgets/calendar-month.test.ts#Test 8: groupDayBySource gruppiert nach sourceId in Reihenfolge des ersten Auftretens |
pass |
|
|
false |
|
| id |
description |
requirement |
verification |
human_judgment |
| D2 |
buildDayBadges liefert 1-3 Eintraege ohne Rest, ab dem vierten Kalender max-1 Eintraege plus einen rest:true-Eintrag mit summierter Anzahl |
QUICK-260916-K2Z |
| kind |
ref |
status |
| unit |
apps/web/src/components/dashboard/widgets/calendar-month.test.ts#Test 9: buildDayBadges liefert je Kalender einen Eintrag, ab dem vierten einen grauen Restkreis |
pass |
|
|
false |
|
| id |
description |
requirement |
verification |
human_judgment |
| D3 |
Einzelplakette (ein Kalender am Tag) sieht unveraendert aus wie vor diesem Auftrag (Kalenderfarbe bzw. Akzentfarbe) |
QUICK-260916-K2Z |
| kind |
ref |
status |
| unit |
apps/web/src/components/dashboard/widgets/calendar-widget.test.tsx#Test 3: Zaehl-Plakette zeigt die korrekte Terminanzahl je Tag |
pass |
|
| kind |
ref |
status |
| unit |
apps/web/src/components/dashboard/widgets/calendar-widget.test.tsx#Test 3b: Plakette traegt die Kalenderfarbe des fruehesten Termins, Tooltip-Zeilen mit Farbpunkt |
pass |
|
| kind |
ref |
status |
| unit |
apps/web/src/components/dashboard/widgets/calendar-widget.test.tsx#Test 3c: Plakette ohne Kalenderfarbe behaelt bg-primary |
pass |
|
|
false |
|
| id |
description |
requirement |
verification |
human_judgment |
| D4 |
Zwei Kalender am selben Tag zeigen zwei kleine Kreise, je eigene Farbe und Anzahl, in Startreihenfolge |
QUICK-260916-K2Z |
| kind |
ref |
status |
| unit |
apps/web/src/components/dashboard/widgets/calendar-widget.test.tsx#Test 3d: zwei Kalender am selben Tag zeigen zwei kleine Kreise in Startreihenfolge |
pass |
|
|
false |
|
| id |
description |
requirement |
verification |
human_judgment |
| D5 |
Vier oder mehr Kalender am selben Tag zeigen zwei farbige Kreise plus einen grauen Restkreis mit der Summe der uebrigen |
QUICK-260916-K2Z |
| kind |
ref |
status |
| unit |
apps/web/src/components/dashboard/widgets/calendar-widget.test.tsx#Test 3e: vier Kalender am selben Tag zeigen zwei Kreise plus grauen Restkreis mit Summe |
pass |
|
|
false |
|
| id |
description |
verification |
human_judgment |
| D6 |
CHANGELOG.md-Stichpunkt erweitert; type-check und komplette Vitest-Suite gruen (52 Dateien / 354 Tests) |
| kind |
ref |
status |
| other |
pnpm --filter @tessera/web type-check && pnpm --filter @tessera/web exec vitest run |
pass |
|
|
false |
|
|
10min |
2026-09-16 |
complete |