From d410c0bedf647a399b63ba72ec8d5da06681d678 Mon Sep 17 00:00:00 2001 From: fs Date: Mon, 3 Aug 2026 19:49:25 +0200 Subject: [PATCH] Trampolin: echte Trainingszeiten, Trainerinnen und Kontakt vom Hallen-Aushang MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Drei Karten nach Zielgruppe (Kinder+Erwachsene Mo, Kinder ab 5 Do, Kinder ab 10 und Fortgeschrittene Do) mit Tag/Zeit und Trainerteam je Session, Schnupper-Hinweis auf "nach Absprache" umgestellt, Fußnote zu den Schulferien. group-schedule bekommt zwei optionale Props (contactEmail/contactPhone) fuer Tinas persoenlichen Kontakt in der Kontaktkachel (tel:-Muster wie person-card, keine neue CSS-Regel). Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01HXDvgRDHQ9iGjs4KCXykEj --- app/components/group-schedule.php | 15 +++++++++++++-- app/pages/turnen-trampolin.php | 17 ++++++++++------- data/turnen.json | 30 +++++++++++++++++++++--------- 3 files changed, 44 insertions(+), 18 deletions(-) diff --git a/app/components/group-schedule.php b/app/components/group-schedule.php index 8a6ebc3..c414f29 100644 --- a/app/components/group-schedule.php +++ b/app/components/group-schedule.php @@ -6,6 +6,11 @@ declare(strict_types=1); * Turn-Disziplin im einheitlichen Bento-Look (wie die Mannschaftsseiten). Props: * $location array{venue, street?, zip?, city?} (optional) — Trainingsort + „Route planen" * $lead string (optional) — Ansprechperson der Disziplin (Akzent-Kachel) + * $contactEmail string (optional) — persönliche E-Mail der Ansprechperson für die + * Kontakt-Kachel. Überschreibt die Abteilungs-Mail (club.email_turnen), falls + * gesetzt — genutzt, wenn eine Disziplin einen eigenen direkten Draht angibt. + * $contactPhone string (optional) — Telefonnummer der Ansprechperson (Anzeige-Form). Ergibt + * einen zusätzlichen tel:-Link in der Kontakt-Kachel. tel:-Href wie in person-card.php. * $notice string (optional) — hervorgehobener Hinweis (z. B. Wartelisten-Status) * $noticeTitle string (optional) — Überschrift dazu * $noticeTone 'info' (Default) | 'stop' — Tonlage, siehe components/notice.php @@ -42,6 +47,8 @@ $groupsTitle = $groupsTitle ?? 'Unsere Gruppen'; $groupsTitleHidden = $groupsTitleHidden ?? false; $layout = ($layout ?? 'tabs') === 'stacked' ? 'stacked' : 'tabs'; $lead = $lead ?? ''; +$contactEmail = $contactEmail ?? ''; +$contactPhone = $contactPhone ?? ''; $notice = $notice ?? ''; $noticeTitle = $noticeTitle ?? ''; $noticeTone = $noticeTone ?? 'info'; @@ -55,7 +62,8 @@ if ($groups === []) { } $club = json_load('club'); -$email = $club['email_turnen'] ?? ($club['email'] ?? ''); +$email = $contactEmail !== '' ? $contactEmail : ($club['email_turnen'] ?? ($club['email'] ?? '')); +$telHref = $contactPhone !== '' ? 'tel:' . preg_replace('/[^+\d]/', '', $contactPhone) : ''; $single = count($groups) === 1; $rich = false; @@ -185,7 +193,7 @@ $soleNote = $single ? ($groups[0]['note'] ?? '') : ''; - +
Kontakt @@ -193,6 +201,9 @@ $soleNote = $single ? ($groups[0]['note'] ?? '') : ''; E-Mail schreiben + + +
diff --git a/app/pages/turnen-trampolin.php b/app/pages/turnen-trampolin.php index a56d370..49ed352 100644 --- a/app/pages/turnen-trampolin.php +++ b/app/pages/turnen-trampolin.php @@ -22,11 +22,14 @@ $meta = [ component('hero', ['hero' => $d['hero']]); component('group-schedule', [ - 'location' => $d['location'] ?? [], - 'lead' => $d['lead'] ?? '', - 'notice' => $d['notice'] ?? '', - 'noticeTitle' => $d['notice_title'] ?? '', - 'noticeTone' => $d['notice_tone'] ?? 'info', - 'noticeIcon' => $d['notice_icon'] ?? 'info-circle', - 'groups' => $d['groups'] ?? [], + 'location' => $d['location'] ?? [], + 'lead' => $d['lead'] ?? '', + 'contactEmail' => $d['contact_email'] ?? '', + 'contactPhone' => $d['contact_phone'] ?? '', + 'notice' => $d['notice'] ?? '', + 'noticeTitle' => $d['notice_title'] ?? '', + 'noticeTone' => $d['notice_tone'] ?? 'info', + 'noticeIcon' => $d['notice_icon'] ?? 'info-circle', + 'groups' => $d['groups'] ?? [], + 'footnote' => $d['footnote'] ?? '', ]); diff --git a/data/turnen.json b/data/turnen.json index 69fa70d..a971e29 100644 --- a/data/turnen.json +++ b/data/turnen.json @@ -188,18 +188,30 @@ }, "location": { "venue": "Dreifachturnhalle der Carl-von-Linde-Realschule", "city": "Kulmbach" }, "lead": "Tina Kornatz", - "notice_icon": "calendar-event", - "notice_title": "Schnuppern ab September", - "notice": "Mit dem Schulbeginn im September können neue Kinder bei uns gerne zum Schnuppern vorbeikommen. Schreib uns davor einfach kurz eine Nachricht, dann sagen wir dir, wann es am besten passt.", + "contact_email": "tina.kornatz@gmx.de", + "contact_phone": "0163 6032410", + "footnote": "In den Schulferien findet kein Training statt.", + "notice_icon": "calendar-event", + "notice_title": "Schnuppern nach Absprache", + "notice": "Schnuppertraining ist bei uns jederzeit nach vorheriger Absprache möglich. Melde dich davor einfach kurz bei Tina, dann finden wir einen passenden Termin.", "groups": [ { - "name": "Trampolinturnen", + "name": "Kinder und Erwachsene", "sessions": [ - { "day": "Montag", "time": "17:30 / 18:00–20:30 Uhr" }, - { "day": "Donnerstag", "time": "17:30 / 18:00–20:30 Uhr" } - ], - "note": "Der Einstieg erfolgt gestaffelt um 17:30 bzw. 18:00 Uhr.", - "trainers": [] + { "day": "Montag", "time": "17:30–19:30 / 20:30 Uhr", "trainers": ["Sabine Hofmann"] } + ] + }, + { + "name": "Kinder ab 5 Jahren", + "sessions": [ + { "day": "Donnerstag", "time": "17:30–19:00 Uhr", "trainers": ["Michaela Bollingerfehr"] } + ] + }, + { + "name": "Kinder ab 10 Jahren und Fortgeschrittene", + "sessions": [ + { "day": "Donnerstag", "time": "18:00–20:30 Uhr", "trainers": ["Tina Kornatz", "Laura Ramming", "Christa Ramming"] } + ] } ] },