a60c168587
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
141 lines
6.1 KiB
Markdown
141 lines
6.1 KiB
Markdown
---
|
|
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.
|