Umbenennung presseportale → pressekonto in Domains, Themes und Dokumentation. Design-Tokens, Portal-Shell, Customer-Dashboard, Auth- und Admin-PM-Views. Artisan-Befehl migrate:legacy-media mit Tests und Hub-Flux-Entwicklungsdocs. Co-authored-by: Cursor <cursoragent@cursor.com>
69 lines
2.8 KiB
Markdown
69 lines
2.8 KiB
Markdown
# Phase 4C — Press-Releases Forms (create / edit)
|
|
|
|
> Drittes Päckchen aus Phase 4. Folgt auf 4A (Listen) und 4B (Show).
|
|
|
|
**Status**: ✅ abgeschlossen · **Aufwand**: ~⅓–½ Tag · **Risiko**: niedrig
|
|
|
|
---
|
|
|
|
## Scope
|
|
|
|
- `resources/views/livewire/admin/press-releases/create.blade.php`
|
|
- `resources/views/livewire/admin/press-releases/edit.blade.php`
|
|
- `resources/views/livewire/customer/press-releases/create.blade.php`
|
|
- `resources/views/livewire/customer/press-releases/edit.blade.php`
|
|
|
|
NICHT in diesem Päckchen:
|
|
- Companies (Päckchen 4D)
|
|
- Settings / Profile (Päckchen 4E)
|
|
- Restliche Admin-Bereiche (Päckchen 4F)
|
|
|
|
## Ziel
|
|
|
|
Alle vier Forms im Hub-Vokabular:
|
|
|
|
- **Page-Header** wie auf Listen und Detail-Pages: Hub-Badge +
|
|
Eyebrow + H1 + Subtitle. Bei Edit zusätzlich Status-Pille im
|
|
Header-Meta. Aktions-Buttons rechts.
|
|
- **Form-Sektionen** als `.panel` mit `.panel-head` und
|
|
`section-eyebrow` ("Inhalt", "SEO & Links", "Metadaten",
|
|
"Status-Aktionen", "Aktionen").
|
|
- **Form-Felder** bleiben FluxUI (`<flux:field>`, `<flux:label>`,
|
|
`<flux:input>`, `<flux:textarea>`, `<flux:select>` inkl.
|
|
Combobox-Variant, `<flux:checkbox>`, `<flux:error>`) — das
|
|
Token-Bridging aus Phase 1 zieht. Required-Marker werden auf
|
|
Hub-Error-Token umgestellt.
|
|
- **Action-Buttons** ("Speichern", "Zur Prüfung einreichen",
|
|
"Als Entwurf speichern", "Status wechseln") in einem `.panel`
|
|
mit `.panel-head` "Aktionen".
|
|
- **Flash-Boxen** auf Hub-Token-Pillen.
|
|
|
|
## Was explizit NICHT angefasst wird
|
|
|
|
- **Volt-Logik** (`save`, `submitForReview`, `publish`, `reject`,
|
|
`backToDraft`, `archive`, `changeStatus`, `deletePressRelease`,
|
|
`mount`, `with`, `selectedCompany`) — Layout-only.
|
|
- **Confirm-Modals** der Admin-Edit-Page (`confirm-status-change`,
|
|
`confirm-delete-press-release`) — Tests assertieren Wortlaute.
|
|
- **Wortlaute** aus `AdminPressReleaseActionsTest`:
|
|
`Neuer Status`, `Status wechseln`, `Status wirklich wechseln?`,
|
|
`Pressemitteilung löschen?`, `Status wurde auf`.
|
|
- **Image-Manager-Komponente** (`<livewire:components.press-release-images-manager>`).
|
|
- **Wortlaute** für Customer-Create-Page: `Beta GmbH` (Firma
|
|
aus Faktur via `companyId`) — Combobox/Select bleibt funktional.
|
|
|
|
## Akzeptanzkriterien
|
|
|
|
- [x] Plan
|
|
- [x] Admin-Edit: Page-Header + 5 Panels + Hub-Status-Badge,
|
|
beide Modals unverändert, alle Wortlaut-Assertions grün.
|
|
- [x] Admin-Create: Page-Header + 3 Panels (Inhalt, SEO, Metadaten)
|
|
+ Aktions-Panel.
|
|
- [x] Customer-Create: Page-Header + 2 Panels (Inhalt, Metadaten)
|
|
+ Aktions-Panel.
|
|
- [x] Customer-Edit: Page-Header + 2 Panels (Inhalt mit Image-Manager,
|
|
Metadaten) + Aktions-Panel.
|
|
- [x] `AdminPressReleaseActionsTest`,
|
|
`CustomerCompanyContextTest > customer press releases create …`,
|
|
`CustomerProfileSecurityTest` bleiben grün (72 Tests, 310 assertions).
|
|
- [x] Build + Pint + PROGRESS.
|