feat: Phase 1.5 - Flexible Goal System (DB-Registry) Part 2/2 - COMPLETE
Frontend dynamic goal types + Admin UI komplett implementiert.
Frontend GoalsPage:
- HARDCODED GOAL_TYPES entfernt
- Dynamic loading von goal_type_definitions via API
- goalTypes state + goalTypesMap für quick lookup
- Dropdown zeigt alle aktiven Types aus DB
- Vollständig flexibel - neue Types sofort verfügbar
Admin UI:
- AdminGoalTypesPage.jsx (400+ Zeilen)
→ Übersicht aller Goal Types (System + Custom)
→ Create/Edit/Delete Forms
→ CRUD via api.js (admin-only)
→ Validierung: System Types nur deaktivierbar, nicht löschbar
→ 8 Aggregationsmethoden im Dropdown
→ Category-Auswahl (body, mind, activity, nutrition, recovery, custom)
- Route registriert: /admin/goal-types
- Import in App.jsx
Phase 1.5 KOMPLETT:
✅ Migration 024 (goal_type_definitions)
✅ Universal Value Fetcher (goal_utils.py)
✅ CRUD API (goals.py)
✅ Frontend Dynamic Dropdown (GoalsPage.jsx)
✅ Admin UI (AdminGoalTypesPage.jsx)
System ist jetzt VOLLSTÄNDIG FLEXIBEL:
- Neue Goal Types via Admin UI ohne Code-Deploy
- Beispiele: Meditation, Trainingshäufigkeit, Planabweichung
- Phase 0b Platzhalter können alle Types nutzen
- Keine Doppelarbeit bei v2.0 Redesign
Nächster Schritt: Testing + Phase 0b (120+ Platzhalter)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>