Activity and nutrition legacy CSV imports enforce tier limits with UsageBadge UI; Universal CSV gets mapping validation on copy/import, format-check parity, and structured error_details. version: 0.9u module: activity 1.2.1, nutrition 1.0.3, csv_import 0.4.0 Co-authored-by: Cursor <cursoragent@cursor.com>
23 lines
853 B
Markdown
23 lines
853 B
Markdown
**Umsetzung 2026-07-23 (UI-Teil; Backend war bereits erledigt)**
|
|
|
|
## Ist-Zustand vorher
|
|
|
|
- Backend: `POST /api/nutrition/import-csv` mit `check_feature_access('nutrition_entries')` und HTTP 403 — **bereits implementiert**
|
|
- Frontend: FDDB-Import ohne Usage-Anzeige, Drop-Zone blieb bei Limit klickbar
|
|
|
|
## Änderungen
|
|
|
|
**Frontend** (`NutritionPage.jsx`, ImportPanel):
|
|
- `getFeatureUsage()` → `nutrition_entries`
|
|
- `UsageBadge` am Import-Titel
|
|
- Drop-Zone und Paste-Import deaktiviert bei Limit
|
|
- Usage-Reload nach erfolgreichem Import
|
|
|
|
Analog zu Activity #37 (geschlossen 2026-07-23).
|
|
|
|
**Playwright:** `tests/issue-audit.spec.js` — Badge am FDDB-Panel
|
|
|
|
## Hinweis
|
|
|
|
Universal-CSV (`/api/csv-import/import`) prüft zusätzlich `data_import` — Legacy FDDB-Pfad folgt dem Nutrition-Muster (nur `nutrition_entries`), konsistent mit Architektur §8.2.
|