presseportale/dev/frontend/hub-flux/12-PHASE-4G-CUSTOMER-PORTAL.md
Kevin Adametz 9b47296cea
Some checks are pending
linter / quality (push) Waiting to run
tests / ci (push) Waiting to run
Rebrand Hub+Flux
2026-05-20 15:44:15 +02:00

2.7 KiB
Raw Blame History

Phase 4G — Customer Portal (Mein Bereich)

Sechstes Päckchen aus Phase 4. Folgt auf 4E (Profile/Settings).

Status: abgeschlossen · Aufwand: ~½ Tag · Risiko: niedrigmittel


Scope

Liste / Detail / Helper:

  • resources/views/livewire/customer/invoices.blade.php (194 Z.)
  • resources/views/livewire/customer/tokens.blade.php (212 Z.)
  • resources/views/livewire/customer/bookings.blade.php (52 Z.)
  • resources/views/livewire/customer/company-switcher.blade.php (91 Z., sitzt in der Sidebar)
  • resources/views/livewire/customer/press-kits/index.blade.php (119 Z.)
  • resources/views/livewire/customer/press-kits/show.blade.php (734 Z., großes Detail-Cockpit)

NICHT in diesem Päckchen:

  • customer/press-releases/* — schon in 4A/4B/4C.
  • customer/dashboard.blade.php — schon in Phase 2.
  • customer/profile.blade.php, customer/security.blade.php — schon in 4E.
  • Admin-Bereich (Päckchen 4F).

Ziel

Alle Customer-Pages im Hub-Vokabular:

  • Page-Header „User Backend"-Pille + Eyebrow „Mein Bereich · …" + 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 dort wo speziell begründet).
  • Empty-States als Hub-Icon-Box.
  • Company-Switcher: bleibt funktional, optisch Hub-Akzent.

Was explizit NICHT angefasst wird

  • Volt-Logik in allen Dateien.
  • <flux:select variant="combobox">, <flux:input> usw.
  • Konfirm-/Edit-Modals in press-kits/show.blade.php (falls vorhanden).
  • Bestimmte Strings, die Tests assertieren:
    • tokens: „API-Tokens" (Heading), „API-Tokens werden erst freigeschaltet" (Hinweis).
    • invoices: „Hinweis zu Rechnungen", „Rechnungsadresse im Profil pflegen", „Öffnen".
    • company-switcher: „Firma öffnen", route('me.press-kits.show', …).
    • press-kits.show: „Abrechnung", „Statistik" (Tab-Labels bzw. Section-Headings).

Akzeptanzkriterien

  • Plan
  • customer/invoices
  • customer/tokens
  • customer/bookings (Coming-Soon-Stub)
  • customer/company-switcher (Sidebar-Komponente)
  • customer/press-kits/index
  • customer/press-kits/show (Stammdaten/Kontakte/PMs/ Abrechnung/Statistik im Hub-Stil; Forms inline behalten)
  • CustomerPortalTest, CustomerCompanyContextTest, PanelConsolidationTest grün (29 Tests, 131 Assertions).
  • Volle Suite: 230 passed, 3 skipped, 1 pre-existing fail (ApiDocumentationTest, fehlende docs/api/v1.yml).
  • Build (portal: 418 kB CSS, 44 kB JS) + Pint clean + PROGRESS.