Doku: Status-Sync 11./12.06., Decision-Update Preisstruktur und Phase-9-Plan

- Decision-Update Preisstruktur & Veroeffentlichungs-Flow aufgenommen
  (Launch-Tarife, Slot-Verbrauch bei Veroeffentlichung, Submit-Gate,
  Launch-Credits) inkl. Klarstellung 12.06.: Gelb geht direkt live,
  keine manuelle Pruef-Queue, nur Rot wird abgelehnt
- Alle Status-Dokumente auf den Code-Stand gezogen: README-Index,
  STATUS-ABGLEICH (KI-Pipeline, Bilder/Lizenzen, Pricing), Checkliste
  (KI- und Titelbild-Bloecke, Launch-To-dos), Admin-User,
  user-zusammenhaenge (Datenmodell-Delta), Entwicklungsplan KI-Pruefung
  (Phase 0 abgehakt, Decision-Abgleich)
- Ueberschriebene Tarif-Abschnitte in Konzept-Update 1/2 und
  Relaunch-Konzept mit Superseded-/IST-Hinweisen markiert
- Neues Plan-Dokument PHASE-9-FLOW-UND-TARIFE-PLAN.md (9A-9J)
- Phase-8-Roadmap-Doku (20-PHASE-8-USER-PANEL.md) + PROGRESS-Eintraege

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-06-12 09:20:22 +00:00
parent a000238ca8
commit 8d8d957884
17 changed files with 2231 additions and 172 deletions

View file

@ -5,6 +5,67 @@
---
## 2026-05-29 · Phase 8 · User-Panel-Konsolidierung abgeschlossen (8F8K) ✅
Abschluss von Phase 8. Die erste Hälfte (8A8E: Show-Page-Lücken,
Listen-Indikatoren, Pressekontakt-Warnung, Firmen-Liste auf Mockup-Niveau)
war bereits im Commit „Optimierung der User und Admin Panels" enthalten,
aber undokumentiert. Heute der zweite Block plus Doku-Sync.
Roadmap-Doc: `20-PHASE-8-USER-PANEL.md`. Plan: `docs/PHASE-8-USER-PANEL-PLAN.md`.
**8D — Doku-Sync**: `docs/user-admin/checkliste-user-backend.md`,
`docs/STATUS-ABGLEICH-USER-PANEL.md` und `Admin-User.md` auf den
echten IST-Stand gezogen (8A8E waren als „offen" markiert, sind
aber umgesetzt).
**8F — SVG-Titelbild-Platzhalter**
- 9 Varianten (3 Muster × 3 Hub-Farben) in
`public/images/press-release-placeholders/`.
- `App\Enums\PressReleasePlaceholder` (Default, Seed-deterministisch).
- `<x-portal.press-release-placeholder>` + Picker-Modal
(`components.press-release-placeholder-picker`, dispatcht
`placeholder-selected`).
**8G — Titelbild-Schema + Cover-Resolver**
- Migration `placeholder_variant` auf `press_releases` (nullable).
- Model-`creating`-Hook setzt deterministisch eine Variante.
- `App\Services\PressRelease\PressReleaseCoverImage`
(`coverUrl`/`coverIsPlaceholder`).
- Hero-Bild in Customer-/Admin-Show; Vorschau + Picker in Create/Edit.
**8H — Bild-Upload mit Lizenz-Pflichtfeldern**
- Migration: `author`, `license_type`, `license_url`,
`persons_consent`, `rights_confirmed_at` auf `press_release_images`.
- `App\Enums\ImageLicenseType` (CC/kommerziell erzwingen Lizenz-URL).
- Image-Manager: Urheber (Pflicht), Lizenztyp (Pflicht), Lizenz-URL
(bedingt), Personen-Einwilligung, Rechte-Bestätigung (Pflicht).
- Abweichung: Upload-Control bleibt `flux:input type=file` statt
`flux:file-upload` (Stabilität). Lizenzerfassung vollständig.
**8J — Quota-Stub (vor 8I, damit Modal darauf aufsetzt)**
- Migration: `users.press_release_quota` (3),
`..._used_this_month` (0).
- `User::pressReleaseQuotaRemaining()`,
Decrement in `PressReleaseService::submitForReview()`.
- Command `press-releases:reset-monthly-quota` + Scheduler
(`monthlyOn(1, '00:05')`).
**8I — Veröffentlichungs-Modal (Customer-Show)**
- „Zur Prüfung einreichen" öffnet jetzt ein FluxUI-Modal statt
`wire:confirm`: Rechtshinweis (Platzhalter, anwaltlich zu prüfen),
Kontingent-Badge, 3 Bestätigungs-Checkboxen (Submit via Alpine
disabled bis alle gesetzt) → ruft das bestehende `submitForReview()`.
**8K — Abschluss**
- Neue Tests: `PressReleasePlaceholderTest` (8),
`PressReleaseImageLicenseTest` (3), `PressReleaseQuotaTest` (3),
`PressReleasePublishModalPhase8iTest` (2).
- Suite: **375 passed, 4 skipped**. Pint clean.
`npm run build:portal` clean.
---
## 2026-05-29 · Wartung · Test-Regression-Fix + Phase-7-Doku nachgezogen
Review der Gesamt-Umsetzung. Zwei Befunde behoben: