From f00776587299e03103581d9193442b07a55867aa Mon Sep 17 00:00:00 2001 From: Thomas Reitz Date: Fri, 13 Mar 2026 10:55:02 +0100 Subject: [PATCH] docs: Summarize.md mit Dashboard Kalender-Tab Aenderungen aktualisieren --- Summarize.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Summarize.md b/Summarize.md index 8b60084..1886309 100644 --- a/Summarize.md +++ b/Summarize.md @@ -6,6 +6,25 @@ --- +### Aenderungen 2026-03-13 (3): Dashboard Kalender-Tab — Monats-/Wochenansicht + Tages-Agenda + +#### Backend: CRM-Service +- `graph/graph.service.ts` — Neue Methode `getCalendarEventsForRange(userJwt, userId, startDate, endDate)`: laedt Kalender-Termine fuer beliebigen Zeitraum via `/me/calendarView`, Redis-Cache 5 Min; `wellKnownName` aus `getMailFolders()` $select entfernt (400-Fehler auf Exchange-Tenants die das OData-Property nicht unterstuetzen) +- `graph/office365.controller.ts` — Neuer Endpoint `GET /crm/office365/calendar/range?startDate=&endDate=` (vor `@Get('calendar')` definiert, um Routing-Konflikt zu vermeiden) + +#### Frontend +- `crm/types.ts` — `M365MailFolder.wellKnownName` als `optional` markiert (nicht alle Exchange-Tenants liefern das Feld) +- `crm/api.ts` — `office365Api.getCalendarRange(startDate, endDate)` +- `crm/hooks.ts` — Neuer Hook `useOffice365CalendarRange(startDate, endDate)` +- `shell/DashboardCalendarTab.tsx` — Neue Hauptkomponente mit: Toolbar (Vor/Zurueck/Heute + Monat/Woche Toggle), MonthView (6×7 CSS-Grid, Heute-Kreis, Event-Chips max. 2 + "+N"), WeekView (7-Spalten-Grid, Events mit farbigem linken Rand, Klick oeffnet Outlook), DayAgenda (rechts 1/3 — Uhrzeit/Betreff/Ort/Teilnehmer, Online-Badge, Outlook-Link); deterministisches Event-Coloring per ID-Hash +- `shell/DashboardCalendarTab.module.css` — Vollstaendiges Styling +- `shell/DashboardPage.tsx` — Kalender-Tab ersetzt ComingSoonTab durch DashboardCalendarTab + +#### Fix: Ordner-Sidebar 400-Fehler +- `DashboardEmailTab.tsx` — Ordner-Sortierung auf Display-Name-Basis umgestellt (Posteingang/Inbox, Gesendete Elemente/Sent Items, etc.) da `wellKnownName` nicht verfuegbar; `isInboxFolder()` erkennt Posteingang per Anzeigename + +--- + ### Aenderungen 2026-03-13 (2): Dashboard E-Mail Tab — Outlook-Postfach mit Ordner-Navigation + Aktivitaeten-Speicherung #### Backend: CRM-Service