Commit Graph

73 Commits

Author SHA1 Message Date
fs
a933b76c4f Banner-Slider auf der Startseite
Komponente banner-slider liest data/banners.json; banner.js übernimmt
Autoplay/Pause/Steuerung (progressive enhancement). Slider sitzt zwischen
Hero und Instagram-Feed. Bilder vorerst als Platzhalter-SVGs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KDQZ6FuchNUh2bxSW9PeNv
2026-06-19 08:12:43 +02:00
fs
10b4ede8f1 SEO-Schema-Helper: Breadcrumb, FAQPage, SportsTeam
breadcrumb_schema(), faq_schema(), page_schema() und team_schema() bauen
JSON-LD-Knoten für $meta['schema']. team_schema verweist via #club auf den
Organization-Knoten. Leere FAQ-Paare werden übersprungen.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KDQZ6FuchNUh2bxSW9PeNv
2026-06-19 08:12:05 +02:00
fs
5170dcb606 Icon-System: icon()-Helper, lokale Bootstrap-Icons, icons-add.php
Inline-SVG-Ausgabe via icon('name', 'klasse', 'label?') aus
public/assets/icons/. Dekorativ (aria-hidden) oder semantisch (role=img).
.icon-Basisklasse in utilities.css (1em, currentColor). bin/icons-add.php
holt neue Icons einzeln von icons.getbootstrap.com.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KDQZ6FuchNUh2bxSW9PeNv
2026-06-19 08:11:58 +02:00
1cb7a21759 Hero Startseite: Editorial-Display-Variante — linksbündig, Kicker mit Akzentbalken, Titel bis 120px, Outline-Tagline, Seitenverlauf, Scroll-Cue
Enthält auch User-Tweak: hero--compact auf 60vh/560px

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 23:11:11 +02:00
259e209692 Back-to-top-Button: erscheint nach 1,5 Viewporthöhen, Fokus-Management, reduced-motion, 48px-Ziel
Enthält auch User-Upgrade: JSON-LD als @graph mit seitenspezifischen Extra-Knoten

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 23:00:03 +02:00
ee4dad2a5f Historie-Hero: Originaltext + Original-Hero-Bild der alten Seite (img-Komponente um Einzeldatei-Modus erweitert)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 22:53:34 +02:00
efa47d4f60 Vereinshistorie-Seite: kompakter Hero, interaktive Museums-Timeline (Scroll-Reveal, Jahres-Sprungnav), Originalbilder unverändert
routes.php enthält auch die fussball-Route (User-WIP, Seite existiert)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 22:50:15 +02:00
1ee08b932d tinted-Band generalisiert (.section--tinted) und Ansprechpartner-Sektion hervorgehoben
Enthält auch User-Erweiterung: person-grid mit Abteilungs-Filter/Title/Intro-Props

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 22:41:57 +02:00
5c4b45a5fe Stats-Band: abgedunkeltes Vereinsgelände-Foto mit weichen Verlaufskanten statt schwarzem Streifen, Zahlen auf fs-900
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 22:39:09 +02:00
f55bd40a1e Split-Sektionen: tinted-Variante (sanft aufgehelltes Panel) für Historie + Sportheim
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 22:31:58 +02:00
51149e8c5f Platzhalter-Avatar: AdobeStock-Frauenavatar (von alter Seite, lokal optimiert 11 KB) statt Initialen-Fallback
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 22:28:51 +02:00
d757fe1043 Person-Card: geschlechtsneutraler Initialen-Avatar als Fallback (statt männlichem Foto-Platzhalter), platzhalter.jpg entfernt
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 22:24:45 +02:00
335749b6d0 Ansprechpartner-Sektion: person-card/person-grid-Komponenten, Daten in ansprechpartner.json, Vereins-Platzhalter statt AdobeStock, tel:/mailto korrekt
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 22:20:14 +02:00
72c2efaf80 Footer: Verbände-Zeile einzeilig ('Mitglied in:' + Mittelpunkte), Nav-Unterpunkte flach eingereiht (Matchcenter)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 22:11:57 +02:00
0bccc6f440 Footer neu: 4 Spalten (Brand+Claim+Social, Seiten, Kontakt mit Icons, Rechtliches), 18px Schrift, Akzent-Headings, Bottom-Bar mit Verbänden
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 22:05:41 +02:00
ee0d6866ea Formular-System: zentrale form-field-Komponente, Inline-Feldfehler (aria-describedby, :user-invalid), Fokus-Ringe, Select-Chevron, Pflichtfeld-Kennzeichnung
Enthält auch User-WIP: Banner-Styles + zentriertes Kontakt-Layout in components.css

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 21:55:47 +02:00
c63ba642af Header-Navigation: Logo links, Nav-Punkte zentriert (3-Spalten-Grid), CTAs rechts (Kontakt outline + Mitglied werden), responsiv: Burger + Overlay-CTAs unter 600px
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 21:45:28 +02:00
88b3100b64 Aktuelles-Überschrift: Turnen vorerst gestrichen (Feed zeigt nur Hauptaccount)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 21:39:29 +02:00
353b3cea06 SEO/GEO: Keyword-Tagline in h1, Title keyword-first, Meta-Description mit CTA, Facebook in club.json + Aktuelles-Subline
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 21:33:41 +02:00
fc066703e6 Instagram-Grid auf natives Portrait-Format 4:5 (1080x1350) umgestellt — Crop auf 640x800 statt Quadrat
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 21:29:36 +02:00
01580453d4 Hero: Ausrichtungs-Varianten (align: center | bottom-left), Startseite zentriert
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 21:24:45 +02:00
fcb2c3f75f Hero-Video eingebaut: komprimiert 11→2,9 MB, Bild bleibt Poster/Fallback, reduced-motion zeigt nur Bild
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 21:23:29 +02:00
0f19729a88 Neubau Fundament + Startseite: Designsystem, PHP-Komponenten, Brevo-Formular, Instagram-Sync
- Ordnerstruktur mit public/-Docroot, Deny-.htaccess für app/bin/config/data/storage
- CLAUDE.md mit Leitplanken (self-hosted only, Single Source of Truth, Component-first)
- Design-Tokens aus alter Seite extrahiert (Akzent #e20612, Coolvetica/Abel als woff2)
- Front Controller mit Routen-Register, Sitemap, Canonical, JSON-LD (SportsClub)
- Startseite: Hero, Instagram-Feed (lokaler Cache), Historie/Sportheim, Stats, Partner, Kontakt
- Kontaktformular via PHPMailer/Brevo mit Honeypot + HMAC-Time-Trap (kein reCAPTCHA)
- bin/instagram-sync.php: Scraper mit Strategie-Kette, flock, atomarem Cache, lokalen Bildern

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 21:16:44 +02:00