presseportale/dev/frontend/hub-flux/09-PHASE-4C-PRESS-RELEASES-FORMS.md
Kevin Adametz 0a3e52d603 19-05-2026 Rebrand Pressekonto, Hub-Flux UI und Legacy-Media-Migration
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>
2026-05-19 16:36:13 +00:00

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.