Skip to content

feat(events): timetable content categories + slot-driven line-up section#9

Merged
mrwind-up-bird merged 10 commits into
mainfrom
feat/timetable-categories-lineup
Jul 3, 2026
Merged

feat(events): timetable content categories + slot-driven line-up section#9
mrwind-up-bird merged 10 commits into
mainfrom
feat/timetable-categories-lineup

Conversation

@mrwind-up-bird

Copy link
Copy Markdown
Contributor

Was

Zwei gekoppelte Features rund um das Event-Programm:

  1. Inhaltsbasierte Timetable-Kategorien — die rollenbasierten Slot-Kategorien (headliner · support · guest · break) werden durch inhaltliche ersetzt: musik · film · performance · kinder · break. Klassifiziert Programmpunkte nach Typ statt nach Bühnenrolle und dient zugleich als Filterkriterium.
  2. Slot-getriebene Line-up-Sektion — die Homepage-Sektion „Line-up" generiert sich jetzt aus den Timetable-Slots des Featured-Events, gefiltert nach Kategorien (Mehrfachauswahl), mit manueller Drag&Drop-Reihenfolge. Alle Karten gleichberechtigt; Standard-Sortierung nach Tag + Uhrzeit.

Änderungen

  • DB: Spalte Appearance.rolecategory via datenerhaltende, hand-geschriebene Migration (RENAME COLUMN + Remap headliner|support|guest → musik, break bleibt; Default auf musik gesetzt). Läuft live via prisma migrate deploy beim Merge.
  • Headliner-Emphase entfernt (kein ★/highlight mehr im Timetable); die Event-Seite nutzt stattdessen das echte artist.isFeatured.
  • Neu src/lib/lineup.ts (rein/client-sicher): resolveLineupCategories, orderSlots, CATEGORY_LABELS — TDD-getestet.
  • Neu src/lib/lineup-data.ts (server): getLineupSlots — Featured-Event-Slots nach Kategorie, gemappt + sortiert.
  • NoirLineupSection neu aus Slots; Filter + Reihenfolge in HomepageSection.content {categories, order}.
  • Admin (/admin/sections): Kategorie-Checkboxen + dnd-kit-Reorder-Vorschau; neue API GET /api/admin/lineup/preview.

Tests & Gates

  • src/lib/__tests__/lineup.test.ts (neu) + event-validation.test.ts (auf Kategorien migriert) — 23/23 grün.
  • npx prisma generate · npx tsc --noEmit · npm test · npm run build — alle grün.

Review

Umgesetzt subagent-getrieben: pro Task ein Task-Review + finaler Whole-Branch-Review (opus). Ergebnis „merge with fixes", 0 Critical. Der eine substanzielle Punkt (Spalten-Default stand noch auf dem ungültigen support) ist gefixt (@default('musik') + ALTER COLUMN SET DEFAULT). Client/Server-Import-Grenze, Migrations-Reihenfolge und „keine .role-Reste" verifiziert.

Offene Follow-ups (bewusst nicht in diesem PR)

  • DRY: Featured-Event-Query 3× + de-DE-Datumsformatter 2× → getFeaturedEventId + geteiltes Format-Modul.
  • Kategorie-Kanon als Single-Source aus lineup.ts (aktuell in 4 Dateien identisch dupliziert).
  • UX-Hinweis, wenn im Editor alle Kategorien abgewählt sind (Resolver liefert dann Default = alle außer break).

Manueller Check empfohlen nach Deploy

Timetable-Slots im Admin re-taggen (Film/Performance/Kinder), Line-up-Sektion konfigurieren, und die JSON-LD/Anzeige auf der Homepage prüfen.

🤖 Generated with Claude Code

mrwind-up-bird and others added 10 commits July 3, 2026 11:12
…p section

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…n lineup

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… orderSlots)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…; drop headliner emphasis

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ory tag)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… section

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…nt refetch on drag

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…able highlight

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Jul 3, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
e-ventschau Ready Ready Preview, Comment Jul 3, 2026 10:35am

@mrwind-up-bird mrwind-up-bird merged commit 0fb97dc into main Jul 3, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant