docs(quick-260916-hiv): Kalenderquellen-Formular — URL-Platzhalter je Typ + EWS-Hinweis; Zusammenfassung, Aktenstand
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
+140
@@ -0,0 +1,140 @@
|
||||
---
|
||||
phase: quick-260916-hiv
|
||||
plan: 01
|
||||
subsystem: ui
|
||||
tags: [next-intl, i18n, react, calendar, form]
|
||||
|
||||
requires: []
|
||||
provides:
|
||||
- "Typabhaengiger URL-Platzhalter im Kalenderquellen-Formular (CalDAV/ICS/Exchange-Graph/Exchange-EWS)"
|
||||
- "Grauer EWS-Hinweis unter dem Adressfeld, nur bei Exchange + EWS, unterhalb eines eventuellen Fehlers"
|
||||
- "Fuenf neue i18n-Schluessel unter widgets.calendar (de/en, identische Platzhalter, uebersetzter Hinweis)"
|
||||
affects: [dashboard-calendar-widget, calendar-source-form]
|
||||
|
||||
actuals:
|
||||
tokens: 2402
|
||||
tasks: 3
|
||||
commits: 3
|
||||
plan_head_before: a5f30d4
|
||||
|
||||
tech-stack:
|
||||
added: []
|
||||
patterns: []
|
||||
|
||||
key-files:
|
||||
created:
|
||||
- apps/web/src/components/settings/calendar-source-form.test.tsx
|
||||
modified:
|
||||
- apps/web/src/components/settings/calendar-source-form.tsx
|
||||
- apps/web/src/messages/de.json
|
||||
- apps/web/src/messages/en.json
|
||||
- CHANGELOG.md
|
||||
|
||||
key-decisions:
|
||||
- "Der EWS-Hinweis steht IMMER unter dem Feld bei Exchange+EWS (nicht nur wenn fehlerfrei) und bei einem Fehler UNTER dem Fehlertext, wie in der Planvorgabe festgelegt."
|
||||
- "Die vier Beispiel-URLs sind in de.json und en.json bewusst identisch (Beispiel-Adressen, kein zu uebersetzender Fliesstext); nur der Hinweistext ist uebersetzt."
|
||||
|
||||
patterns-established: []
|
||||
|
||||
requirements-completed: [QUICK-260916-HIV]
|
||||
|
||||
coverage:
|
||||
- id: D1
|
||||
description: "URL-Feld zeigt je Typ das vorgegebene Platzhalter-Beispiel (EWS/Graph/CalDAV/ICS), ohne Typ weiterhin https://"
|
||||
requirement: "QUICK-260916-HIV"
|
||||
verification:
|
||||
- kind: unit
|
||||
ref: "apps/web/src/components/settings/calendar-source-form.test.tsx#Test 1-5"
|
||||
status: pass
|
||||
human_judgment: false
|
||||
- id: D2
|
||||
description: "Grauer EWS-Hinweis erscheint nur bei Exchange+EWS, unterhalb eines eventuellen Fehlers"
|
||||
requirement: "QUICK-260916-HIV"
|
||||
verification:
|
||||
- kind: unit
|
||||
ref: "apps/web/src/components/settings/calendar-source-form.test.tsx#Test 5-6"
|
||||
status: pass
|
||||
human_judgment: false
|
||||
- id: D3
|
||||
description: "de.json und en.json tragen dieselben fuenf neuen Schluessel, Umlaut-Waechter bleibt gruen, keine kundenspezifische Domain"
|
||||
requirement: "QUICK-260916-HIV"
|
||||
verification:
|
||||
- kind: unit
|
||||
ref: "apps/web/src/messages/umlaut-guard.spec.ts"
|
||||
status: pass
|
||||
human_judgment: false
|
||||
- id: D4
|
||||
description: "CHANGELOG.md: Eintrag unter Unveroeffentlicht / Geaendert"
|
||||
requirement: "QUICK-260916-HIV"
|
||||
verification:
|
||||
- kind: unit
|
||||
ref: "apps/web/src/lib/changelog.test.ts"
|
||||
status: pass
|
||||
human_judgment: false
|
||||
|
||||
duration: 3min
|
||||
completed: 2026-09-16
|
||||
status: complete
|
||||
---
|
||||
|
||||
# Quick 260916-hiv: Kalenderquellen-Formular — URL-Platzhalter je Typ Summary
|
||||
|
||||
**Adressfeld im Kalenderquellen-Formular zeigt jetzt je nach Typ ein passendes Beispiel (EWS/Graph/CalDAV/ICS) und bei Exchange-EWS einen grauen Hinweis, dass die vollstaendige Adresse inkl. `/EWS/Exchange.asmx` noetig ist.**
|
||||
|
||||
## Performance
|
||||
|
||||
- **Duration:** ~3 min
|
||||
- **Started:** 2026-09-16T12:44:00+02:00 (approx.)
|
||||
- **Completed:** 2026-09-16T12:47:25+02:00
|
||||
- **Tasks:** 3
|
||||
- **Files modified:** 5 (2 neu, davon 1 Testdatei; 3 geaendert)
|
||||
|
||||
## Accomplishments
|
||||
- URL-Feld im Kalenderquellen-Formular zeigt einen typabhaengigen Beispiel-Platzhalter statt des festen `https://` (CalDAV, ICS, Exchange-Graph, Exchange-EWS), solange kein Typ gewaehlt ist bleibt es bei `https://`.
|
||||
- Bei Exchange + EWS erscheint ein grauer Hinweis (`text-xs text-muted-foreground`) unter dem Feld, der auf die noetige vollstaendige EWS-Adresse hinweist; bei einem gleichzeitigen Validierungsfehler steht der Hinweis unterhalb des Fehlertextes.
|
||||
- Fuenf neue Uebersetzungsschluessel (`widgets.calendar.formFieldUrlPlaceholderEws|Graph|Caldav|Ics`, `formFieldUrlHintEws`) in de.json und en.json, Platzhalter identisch in beiden Sprachen, Hinweistext uebersetzt, keine kundenspezifische Domain.
|
||||
- Neuer Komponententest `calendar-source-form.test.tsx` mit 6 Faellen (TDD: erst rot, dann gruen durch die Implementierung).
|
||||
- CHANGELOG.md-Eintrag unter „Unveroeffentlicht“ → „Geaendert“.
|
||||
|
||||
## Task Commits
|
||||
|
||||
Each task was committed atomically:
|
||||
|
||||
1. **Task 1: Fuenf Uebersetzungsschluessel in de.json und en.json** - `618fbd6` (feat)
|
||||
2. **Task 2: Typabhaengiger Platzhalter + EWS-Hinweis in der Komponente, mit Komponententest** - `2306a6d` (feat, TDD: Test + Implementierung in einem Commit nach rot→gruen)
|
||||
3. **Task 3: Changelog-Eintrag unter Unveroeffentlicht / Geaendert** - `9439c33` (docs)
|
||||
|
||||
**Plan metadata:** wird vom Orchestrator nach diesem SUMMARY committet (siehe Constraints — SUMMARY/STATE nicht selbst committen)
|
||||
|
||||
## Files Created/Modified
|
||||
- `apps/web/src/messages/de.json` - fuenf neue Schluessel unter `widgets.calendar`
|
||||
- `apps/web/src/messages/en.json` - dieselben fuenf Schluessel
|
||||
- `apps/web/src/components/settings/calendar-source-form.tsx` - `urlPlaceholder`-Ableitung, `placeholder={urlPlaceholder}`, EWS-Hinweisabsatz, Doku-Kommentar ergaenzt
|
||||
- `apps/web/src/components/settings/calendar-source-form.test.tsx` - neu, 6 Testfaelle
|
||||
- `CHANGELOG.md` - Eintrag unter Unveroeffentlicht / Geaendert
|
||||
|
||||
## Decisions Made
|
||||
- Der EWS-Hinweis ist bei Exchange+EWS immer sichtbar und steht bei einem Fehler unter dem Fehlertext (Plan-Vorgabe, eine von zwei erlaubten Varianten).
|
||||
- Platzhalter-Werte sind in de.json und en.json identisch (Beispiel-Adressen, kein Fliesstext), nur der Hinweistext ist uebersetzt.
|
||||
|
||||
## Deviations from Plan
|
||||
|
||||
None - plan executed exactly as written. Alle Datei- und Zeilen-Annahmen aus dem Plankontext (Zeilennummern, Schluesselreihenfolge) haben exakt gepasst; keine Rule-1/2/3/4-Faelle aufgetreten.
|
||||
|
||||
## Issues Encountered
|
||||
None.
|
||||
|
||||
## User Setup Required
|
||||
None - keine externe Konfiguration noetig.
|
||||
|
||||
## Next Phase Readiness
|
||||
- Kein Docker-Bau, kein Deploy in diesem Auftrag — der User zieht den naechsten Pull selbst und prueft im Browser auf der Beta.
|
||||
- Keine offenen Punkte fuer diesen Auftrag.
|
||||
|
||||
---
|
||||
*Phase: quick-260916-hiv*
|
||||
*Completed: 2026-09-16*
|
||||
|
||||
## Self-Check: PASSED
|
||||
|
||||
Alle fuenf Dateien vorhanden (calendar-source-form.test.tsx, calendar-source-form.tsx, de.json, en.json, CHANGELOG.md); alle drei Task-Commits (618fbd6, 2306a6d, 9439c33) in der Historie gefunden.
|
||||
Reference in New Issue
Block a user