From 66c402d9f741bde016e8350604de82314ed93714 Mon Sep 17 00:00:00 2001 From: fs Date: Mon, 27 Jul 2026 00:39:57 +0200 Subject: [PATCH] =?UTF-8?q?Matchcenter:=20=E2=80=9EN=C3=A4chste=20Spiele"?= =?UTF-8?q?=20als=20Band=20statt=20Autoplay-Slider?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Der Bereich wirkte deplatziert: der Track war auf 620px begrenzt und zeigte eine Folie, wodurch die Karte auf breiten Fenstern in ~840px Totraum schwebte; dazu derselbe Hintergrund wie der Hero direkt darüber, kein Akzent, und ein einsames „:" zwischen den Wappen, das wie ein fehlendes Ergebnis aussah. Neu als abgesetztes Band (.section--sunken, nutzt endlich das dafür vorgesehene, bisher unbenutzte Token --clr-bg-deep) mit roter Oberkante: links der Aufmacher (match-feature), rechts die folgenden Termine als verlinkte match-row-Zeilen ohne Kartenfläche. Der Aufmacher ist die große Variante der Terminzeile — Heim über Gast, linksbündig, gleiche Struktur wie die Zeilen daneben. Bewusst nur drei typografische Rollen (Meta-Zeile · Vereinsnamen in Coolvetica · Anstoßzeile mit Countdown) statt der acht der ersten Fassung, ohne Badges, Icons oder Button. Die eigene Mannschaft wird über Helligkeit markiert, nicht über font-weight — Coolvetica hat nur einen Schnitt, bold wäre synthetisch. match-row bekommt optionale $href/$meta-Props; Raster und Innenabstand liegen jetzt im __link-Wrapper, damit als Link die ganze Zeilenfläche klickbar ist. Neue Helper match_when() (ISO + deutscher Countdown, explizit Europe/Berlin, weil PHP global auf UTC läuft) und match_competition_label(). match-slider.php und match-card.php entfallen — Letztere wurde ausschließlich vom Slider genutzt. carousel.js treibt damit nur noch den Banner-Slider der Startseite und wird im Matchcenter nicht mehr geladen. Co-Authored-By: Claude Opus 5 (1M context) --- CLAUDE.md | 17 +- app/components/match-card.php | 47 --- app/components/match-feature.php | 70 +++++ app/components/match-row.php | 72 +++-- app/components/match-slider.php | 45 --- app/components/next-matches.php | 61 ++++ app/helpers.php | 55 ++++ app/pages/matchcenter.php | 6 +- public/assets/css/components.css | 482 +++++++++++++------------------ public/assets/css/tokens.css | 7 +- 10 files changed, 461 insertions(+), 401 deletions(-) delete mode 100644 app/components/match-card.php create mode 100644 app/components/match-feature.php delete mode 100644 app/components/match-slider.php create mode 100644 app/components/next-matches.php diff --git a/CLAUDE.md b/CLAUDE.md index e78b6b5..d7a727b 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -70,7 +70,9 @@ Sichtbare FAQ + FAQPage-Schema aus derselben `data/*.json`-Quelle, damit Inhalt `config/config.php`), `icon('name', 'klasse', 'label?')` (Inline-SVG aus `public/assets/icons/`, siehe Abschnitt Icons), `form_token()`/`form_token_valid()` (Time-Trap-Token, siehe Formulare), `img_intrinsic_attrs('pfad')` (width/height-Attribute aus der Bilddatei für CLS-freie ``, - wenn die Maße nicht schon statisch bekannt sind). + wenn die Maße nicht schon statisch bekannt sind), `match_when('2026-08-01T14:00')` (Anstoß aus + `matchcenter.json` → `iso` für `