84 lines
2.8 KiB
Markdown
84 lines
2.8 KiB
Markdown
# Phase 4F — Restliche Admin-Bereiche
|
||
|
||
> Siebtes Päckchen aus Phase 4. Folgt auf 4G
|
||
> (Customer Portal).
|
||
|
||
**Status**: ✅ abgeschlossen · **Aufwand**: ~1,5–2 Tage · **Risiko**: niedrig
|
||
|
||
---
|
||
|
||
## Scope
|
||
|
||
Insgesamt ~7.500 Z. Blade. Aufgeteilt in 4 Sub-Päckchen:
|
||
|
||
### 4F-1 — Stammdaten & Switcher (~1.250 Z.)
|
||
|
||
- `admin/presets/{index,create,edit}.blade.php` (361 Z.)
|
||
- `admin/presets/partials/form-fields.blade.php`
|
||
- `admin/categories/{index,create,edit}.blade.php` (813 Z.)
|
||
- `admin/portal-switcher.blade.php` (68 Z., Sidebar-Komponente)
|
||
|
||
### 4F-2 — Pressekontakte (~1.360 Z.)
|
||
|
||
- `admin/contacts/index.blade.php` (729 Z.)
|
||
- `admin/contacts/create.blade.php` (275 Z.)
|
||
- `admin/contacts/edit.blade.php` (352 Z.)
|
||
|
||
### 4F-3 — Operations & Finance (~1.870 Z.)
|
||
|
||
- `admin/footer-codes/{index,create,edit}.blade.php` (673 Z.)
|
||
- `admin/reports/slow-requests.blade.php` + table (288 Z.)
|
||
- `admin/invoices/index.blade.php` (314 Z.)
|
||
- `admin/coupons/index.blade.php` (43 Z., Stub)
|
||
- `admin/payments/index.blade.php` (53 Z., Stub)
|
||
|
||
### 4F-4 — User-Verwaltung (~3.020 Z.)
|
||
|
||
- `admin/users.blade.php` (939 Z.) +
|
||
`admin/users/{create,edit,show,table}.blade.php`
|
||
- `admin/roles/{index,create,edit}.blade.php` (393 Z.)
|
||
- `admin/newsletter/sync.blade.php` (171 Z.)
|
||
|
||
## Ziel
|
||
|
||
Alle Admin-Pages im Hub-Vokabular:
|
||
|
||
- **Page-Header** „Admin Backend"-Pille + Eyebrow
|
||
„Administration · …" + H1 + Subtitle.
|
||
- **KPI/Summary-Reihe** wo Stats existieren
|
||
(`<x-portal.stat-card>`).
|
||
- **Tabellen, Listen, Forms** in `.panel` mit `.panel-head`.
|
||
- **Flash-Boxen** (success/info/warn/error) auf Hub-Token.
|
||
- **Hub-Badges** statt `flux:badge` (außer in begründeten
|
||
Fällen).
|
||
- **Empty-States** als Hub-Icon-Box.
|
||
- **Danger-Zones** mit linkem roten Strip.
|
||
|
||
## Was explizit NICHT angefasst wird
|
||
|
||
- Volt-Logik in allen Dateien.
|
||
- `<flux:input>`, `<flux:select>`, `<flux:checkbox>`,
|
||
`<flux:textarea>`, `<flux:field>`, `<flux:error>`,
|
||
`<flux:table.*>`, `<flux:button>`, `<flux:modal>` etc.
|
||
- Modals und ihre Bestätigungs-Flows.
|
||
- Test-relevante Strings — vor jedem Sub-Päckchen werden die
|
||
betreffenden Test-Assertions geprüft.
|
||
|
||
## Tests pro Sub-Päckchen
|
||
|
||
| Sub | Tests |
|
||
|---|---|
|
||
| 4F-1 | `CategoryIndexPerformanceTest`, `AdminCategoryManagementTest`, `AdminPresetManagementTest` |
|
||
| 4F-2 | (keine spezifischen Contact-Tests gefunden, evtl. via `AdminAssetManifestTest` indirekt) |
|
||
| 4F-3 | `AdminFooterCodeManagementTest`, `AdminSlowRequestReportTest`, `AdminSlowRequestLoggingTest`, `AdminLegacyInvoiceArchiveTest` |
|
||
| 4F-4 | `UserManagementTest`, `UserImpersonationTest`, `RoleManagementTest` |
|
||
|
||
## Akzeptanzkriterien
|
||
|
||
- [x] Plan
|
||
- [x] 4F-1 Stammdaten & Switcher
|
||
- [x] 4F-2 Pressekontakte
|
||
- [x] 4F-3 Operations & Finance
|
||
- [x] 4F-4 User-Verwaltung
|
||
- [x] Tests pro Sub-Päckchen grün
|
||
- [x] Build + Pint + PROGRESS.
|