79 lines
3.1 KiB
Markdown
79 lines
3.1 KiB
Markdown
# Phase 4D — Companies (admin)
|
||
|
||
> Viertes Päckchen aus Phase 4. Folgt auf 4A/4B/4C
|
||
> (Press-Releases-Strecke komplett).
|
||
|
||
**Status**: ✅ abgeschlossen · **Aufwand**: ~½ Tag · **Risiko**: niedrig–mittel
|
||
|
||
---
|
||
|
||
## Scope
|
||
|
||
- `resources/views/livewire/admin/companies/index.blade.php` (573 Z.)
|
||
- `resources/views/livewire/admin/companies/show.blade.php` (400 Z.)
|
||
- `resources/views/livewire/admin/companies/edit.blade.php` (412 Z.)
|
||
- `resources/views/livewire/admin/companies/create.blade.php` (281 Z.)
|
||
|
||
NICHT in diesem Päckchen:
|
||
- `admin/contacts/*` — eigener Bereich, Päckchen 4F.
|
||
- `me/press-kits/*` — Customer-Sicht auf Firmen, eigener Päckchen-Anteil.
|
||
- Settings / Profile (Päckchen 4E).
|
||
|
||
## Ziel
|
||
|
||
Alle vier Companies-Pages im Hub-Vokabular — gleiches Muster wie
|
||
die Press-Releases-Strecke:
|
||
|
||
- **Page-Header** mit Hub-Badge „Admin Backend" + Eyebrow + H1 +
|
||
Subtitle. Bei Show/Edit zusätzlich Portal-Pille (Presseecho /
|
||
Businessportal24 / Both) und ID/Slug-Hinweis.
|
||
- **KPI-Reihe** auf Index als `<x-portal.stat-card>` falls Stats
|
||
vorhanden (Gesamt, je Portal, ggf. mit/ohne PMs).
|
||
- **Filter-Bar** als `.panel` mit `.panel-head` „Filter & Suche".
|
||
- **Tabelle/Listen** in `.panel` mit Hub-Badges
|
||
(`.badge.hub|ok|warn`).
|
||
- **Form-Sektionen** (Edit, Create) als `.panel` mit `.panel-head`
|
||
und `section-eyebrow`.
|
||
- **Tabs** (Show: „contacts", andere?) bleiben als FluxUI-Tabs —
|
||
optisch über das Token-Bridging genug Hub-Look.
|
||
- **Confirm-Modals** unverändert lassen (z.B. delete-confirm).
|
||
|
||
## Was explizit NICHT angefasst wird
|
||
|
||
- **Volt-Logik** in allen 4 Files — Layout-only.
|
||
- **`deleteCompany`**-Methode + Confirm-Modal — Test
|
||
`UserManagementTest` assertiert Redirect-Verhalten.
|
||
- **Wortlaute, die Tests prüfen**:
|
||
- `Firmen` (Sidebar-Link), `Portal`, `Alle Portale`,
|
||
`Firmen PM Zaehler GmbH` (Faktur-Name).
|
||
- Portal-Labels `Presseecho`, `Businessportal24`.
|
||
- URL-Pfade `/admin/companies/{id}`.
|
||
- **FluxUI Form-Felder, Combobox, Tab-Groups** bleiben.
|
||
|
||
## Akzeptanzkriterien
|
||
|
||
- [x] Plan
|
||
- [x] Index: Page-Header + Stats + Filter-Panel + Tabellen-Panel +
|
||
Hub-Badges.
|
||
- [x] Show: Page-Header (mit Portal-Pille) + Logo-/Meta-Block +
|
||
Tabs + Hub-Badges.
|
||
- [x] Edit: Page-Header (mit Portal-Pille) + Form-Panels +
|
||
Aktions-Panel. Delete-Modal unverändert.
|
||
- [x] Create: Page-Header + Form-Panels + Aktions-Panel.
|
||
- [x] `UserManagementTest`, `PortalAssetManifestTest` grün
|
||
(25 Tests, 227 Assertions). Volle Suite: 230 grün
|
||
(Vorhandener `ApiDocumentationTest`-Fail nicht von uns).
|
||
- [x] Build + Pint + PROGRESS.
|
||
|
||
## Notes
|
||
|
||
- Tabs als schlankes Bottom-Border-Pattern statt FluxUI-Tabs:
|
||
spart Layout-Komplexität und ist optisch näher am Hub.
|
||
- Portal-Badges bewusst alle als `badge hub` vereinheitlicht —
|
||
Portal-spezifische Farben (purple/blue) brachen aus dem
|
||
Tokensystem aus. Portal-Label bleibt sichtbar im Text.
|
||
- Logo-Boxen folgen jetzt dem gleichen Token-Pattern wie auf den
|
||
Press-Release-Detail-Seiten (`var(--color-bg-elev)` +
|
||
`var(--color-bg-rule)` border).
|
||
- Delete-Confirm-Modal komplett unverändert (Test prüft Redirect
|
||
nach `deleteCompany`, nicht UI).
|