Turn-Beiträge sichtbar machen (standen nirgends auf der Website)

Die Turnabteilung verlinkt die Beiträge in Einladungen für neue Familien und
nimmt zum September auf — die Angaben waren aber auf der ganzen Website nicht
zu finden. Nachgeprüft: 0 Treffer auf /turnen und allen fünf Disziplin-Seiten,
/mitglied-werden führt nur die Fußball-Beiträge.

Es war keine verlorene Seite, sondern eine Lücke im Code: app/pages/turnen.php
rendert nur Hero, Karten und Formular. In data/turnen.json lagen ungenutzt
cards_intro, fees (drei Tabellen), austritt und faq (fünf Fragen). Der Docblock
behauptete, die Beiträge lägen auf den Unterseiten — sie lagen dort nicht, und
in der Git-Historie wurden sie nie gerendert.

Inhalte 1:1 wie auf der alten Seite (gegengeprüft an 2024.tsv08kulmbach.de,
Tab "Allgemeines"): Zusatzbeitrag 24/48 €, Neumitglieder 84/94/184 €,
Förderstufen 120/180/240 €, Austritt zum 30. September. Nichts umformuliert,
die Abteilung entscheidet über Änderungen.

Struktur jetzt Hero → Karten → Beiträge (#beitraege) → FAQ → Formular. Der
Anker ist die Adresse für die Einladungen. Nur bestehende Komponenten benutzt
(fee-table wie auf /mitglied-werden, faq, team-cards mit intro); neu ist allein
der Wrapper .fee-tables. Die FAQ füllt zusätzlich das FAQPage-Schema, weil
page_schema() sie als zweiten Parameter bekommt.

Feinschliff nach Sichtprüfung: Kartentitel von --fs-650 auf --fs-675, weil 28px
Coolvetica neben 21px Fließtext zu klein wirkten; Karten gleich hoch (der
Grid-Default stretch statt align-items: start, gemessen vorher 252/377/471px)
mit dem Hinweis am Kartenfuß; und minmax(min(22rem, 100%), 1fr) statt
minmax(22rem, 1fr), weil die Karten am Handy 352px breit in einem 347px-Raster
standen und überliefen.

NOCH offen: overview.cta ist weiter unbenutzt. Der Block verlinkt "Zur
Turn-Übersicht" und gehört auf die Disziplin-Unterseiten, nicht auf die
Übersicht — dort wäre es ein Selbstlink.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NzeVVgMCrzCDJAKeLEdKr7
This commit is contained in:
2026-07-31 20:40:23 +02:00
parent e0b2184372
commit a975bed33c
2 changed files with 77 additions and 6 deletions

View File

@@ -4140,7 +4140,30 @@
}
/* === fee-table (Beitragstabellen) === */
/* Mehrere Tabellen nebeneinander (Turnen hat drei: Zusatzbeitrag, Neumitglieder,
Förderstufen). auto-fit mit 22rem Mindestbreite statt einer festen Spaltenzahl:
bei drei Tabellen ergibt das auf Desktop eine Reihe, am Handy eine Spalte, und
es bleibt richtig, wenn eine vierte Tabelle dazukommt. /mitglied-werden gibt
nur EINE Tabelle aus und braucht den Wrapper nicht. */
.fee-tables {
display: grid;
/* min(22rem, 100%) statt nur 22rem: die reine Mindestbreite kann der Spur nicht
unterschritten werden, dadurch waren die Karten am Handy 352px breit in einem
347px-Raster und liefen über (gemessen bei 390px Viewport). */
grid-template-columns: repeat(auto-fit, minmax(min(22rem, 100%), 1fr));
gap: var(--space-l);
margin-top: var(--space-2xl);
/* KEIN align-items: start. Mit `start` war jede Karte nur so hoch wie ihr Inhalt
(252 / 377 / 471px gemessen) und die Reihe sah zerrupft aus. Der Grid-Default
`stretch` macht sie gleich hoch; damit die gewonnene Höhe nicht als Loch
endet, schiebt .fee-table__note sich an den Kartenfuß (siehe unten). */
}
.fee-table {
/* Flex-Spalte, damit __note per margin-top: auto an den Kartenfuß rutscht.
Ohne Höhenüberschuss (Einzeltabelle auf /mitglied-werden) ändert das nichts. */
display: flex;
flex-direction: column;
padding: clamp(var(--space-m), var(--space-s) + 1.5vw, var(--space-xl));
background: var(--clr-glass-bg);
border: 1px solid var(--clr-glass-border);
@@ -4148,7 +4171,11 @@
}
.fee-table__title {
font-size: var(--fs-650);
/* --fs-675 statt --fs-650: bei 28px wirkte der Titel neben dem 21px-Fließtext
zu klein, weil Coolvetica ein schmaler Schnitt ist (Felix, 31.07.2026).
34px ist die nächste Stufe; --fs-690 (bis 44px) würde die langen Titel wie
„Zusatzbeitrag für bestehende TSV-Mitglieder" in drei Zeilen brechen. */
font-size: var(--fs-675);
line-height: var(--lh-heading);
margin-bottom: var(--space-s);
}
@@ -4184,7 +4211,8 @@
}
.fee-table__note {
margin-top: var(--space-s);
margin-top: auto;
padding-top: var(--space-s);
font-size: var(--fs-400);
color: var(--clr-text-muted);
}