Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/(cms)/cms/people/[id]/section/Preview.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { PersonWithRoles } from "#/lib/types/people";
import { PersonCard } from "#/components/person/PersonCard";
import { PersonCard } from "#/components/web/person/PersonCard";
import { Person } from "#/content/people";

export function Preview({ person }: { person: PersonWithRoles }) {
Expand Down
2 changes: 1 addition & 1 deletion app/(web)/badminton/erwachsene/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { getTitle } from "#/lib/page";
import { calcImageDimensionsForWidth } from "#/lib/image";
import { SectionTitle } from "#/components/web/section/SectionTitle";
import { PageContent } from "#/components/web/page/PageContent";
import { PersonCard } from "#/components/person/PersonCard";
import { PersonCard } from "#/components/web/person/PersonCard";
import { getPersonByName } from "#/content/people";
import { badminton, badmintonErwachsene } from "#/content/sitemap";
import { ArticleSection } from "#/components/web/articles/ArticleSection";
Expand Down
2 changes: 1 addition & 1 deletion app/(web)/badminton/kinder/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { getTitle } from "#/lib/page";
import { calcImageDimensionsForWidth } from "#/lib/image";
import { SectionTitle } from "#/components/web/section/SectionTitle";
import { PageContent } from "#/components/web/page/PageContent";
import { PersonCard } from "#/components/person/PersonCard";
import { PersonCard } from "#/components/web/person/PersonCard";
import { getPersonByName } from "#/content/people";
import { badminton, badmintonKinder } from "#/content/sitemap";
import { ArticleSection } from "#/components/web/articles/ArticleSection";
Expand Down
2 changes: 1 addition & 1 deletion app/(web)/badminton/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { getTitle } from "#/lib/page";
import { calcImageDimensionsForWidth } from "#/lib/image";
import { SectionTitle } from "#/components/web/section/SectionTitle";
import { PageContent } from "#/components/web/page/PageContent";
import { PersonCard } from "#/components/person/PersonCard";
import { PersonCard } from "#/components/web/person/PersonCard";
import { getPersonByName } from "#/content/people";
import { badminton } from "#/content/sitemap";
import { SubMenu } from "#/components/navigation/SubMenu";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { getTitle } from "#/lib/page";
import { calcImageDimensionsForWidth } from "#/lib/image";
import { SectionTitle } from "#/components/web/section/SectionTitle";
import { PageContent } from "#/components/web/page/PageContent";
import { PersonCard } from "#/components/person/PersonCard";
import { PersonCard } from "#/components/web/person/PersonCard";
import { getPersonByName } from "#/content/people";
import { fitUndGesund } from "#/content/sitemap";
import { ArticleSection } from "#/components/web/articles/ArticleSection";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { getTitle } from "#/lib/page";
import { calcImageDimensionsForWidth } from "#/lib/image";
import { SectionTitle } from "#/components/web/section/SectionTitle";
import { PageContent } from "#/components/web/page/PageContent";
import { PersonCard } from "#/components/person/PersonCard";
import { PersonCard } from "#/components/web/person/PersonCard";
import { getPersonByName } from "#/content/people";
import { gymnastik65plus } from "#/content/sitemap";
import { ArticleSection } from "#/components/web/articles/ArticleSection";
Expand Down
2 changes: 1 addition & 1 deletion app/(web)/fitness-und-gesundheitssport/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import {
import { getTitle } from "#/lib/page";
import { SectionTitle } from "#/components/web/section/SectionTitle";
import { PageContent } from "#/components/web/page/PageContent";
import { PersonCard } from "#/components/person/PersonCard";
import { PersonCard } from "#/components/web/person/PersonCard";
import { getPersonByName } from "#/content/people";
import { ArticleSection } from "#/components/web/articles/ArticleSection";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { calcImageDimensionsForWidth } from "#/lib/image";
import { getTitle } from "#/lib/page";
import { SectionTitle } from "#/components/web/section/SectionTitle";
import { PageContent } from "#/components/web/page/PageContent";
import { PersonCard } from "#/components/person/PersonCard";
import { PersonCard } from "#/components/web/person/PersonCard";
import { getPersonByName } from "#/content/people";
import { powerFitness } from "#/content/sitemap";
import { ArticleSection } from "#/components/web/articles/ArticleSection";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { Metadata } from "next";
import { getTitle } from "#/lib/page";
import { SectionTitle } from "#/components/web/section/SectionTitle";
import { PageContent } from "#/components/web/page/PageContent";
import { PersonCard } from "#/components/person/PersonCard";
import { PersonCard } from "#/components/web/person/PersonCard";
import { getPersonByName } from "#/content/people";
import { steelDarts } from "#/content/sitemap";
import { ArticleSection } from "#/components/web/articles/ArticleSection";
Expand Down
2 changes: 1 addition & 1 deletion app/(web)/fitness-und-gesundheitssport/teen-dance/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import Link from "next/link";
import { Metadata } from "next";
import { SectionTitle } from "#/components/web/section/SectionTitle";
import { PageContent } from "#/components/web/page/PageContent";
import { PersonCard } from "#/components/person/PersonCard";
import { PersonCard } from "#/components/web/person/PersonCard";
import { getPersonByName } from "#/content/people";
import { teenDance } from "#/content/sitemap";
import { getTitle } from "#/lib/page";
Expand Down
2 changes: 1 addition & 1 deletion app/(web)/fitness-und-gesundheitssport/yoga/page.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React from "react";
import { SectionTitle } from "#/components/web/section/SectionTitle";
import { PageContent } from "#/components/web/page/PageContent";
import { PersonCard } from "#/components/person/PersonCard";
import { PersonCard } from "#/components/web/person/PersonCard";
import { getPersonByName } from "#/content/people";
import { Metadata } from "next";
import { yoga } from "#/content/sitemap";
Expand Down
78 changes: 78 additions & 0 deletions app/(web)/fussball/a-junioren/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
import React from "react";
import { Metadata } from "next";
import Image from "next/image";
import Link from "next/link";
import { getTitle } from "#/lib/page";
import { calcImageDimensionsForWidth } from "#/lib/image";
import { PageContent } from "#/components/web/page/PageContent";
import { SectionTitle } from "#/components/web/section/SectionTitle";
import { PersonCard } from "#/components/web/person/PersonCard";
import { getPersonByName } from "#/content/people";
import { ArticleSection } from "#/components/web/articles/ArticleSection";
import { PlayerRow } from "#/app/(web)/fussball/aktive/page";

export const metadata: Metadata = {
title: getTitle("B-Junioren"),
};

export default function BJunioren() {
return (
<div className="bg-neutral-200">
<Image
src="https://res.cloudinary.com/svwalddorf/image/upload/v1753346965/2025-26_Mannschaftsfoto_B_A_Jugend_t7sjzh.jpg"
alt="Mannschaftsfoto B- und A-Junioren 2025/26"
width={1920}
height={1080}
className="w-full"
/>
<div className="container flex flex-col gap-4 p-4">
<SectionTitle title="B- und A-Junioren" />
<PlayerRow
rowTitle="Reihe 3 (v.l.n.r.)"
players="Lean Shala, Julian Gaiser, Andi Binaj, Noel Akkoc, Moritz Mayer, Yann Thomas, Fabian Huthmacher, Tim Paetzold, Niklas Mayer, Vin Regensburger, Matthis Kittelmann"
/>
<PlayerRow
rowTitle="Reihe 2 (v.l.n.r.)"
players="Benedikt Dehner, Peter Braun, Neven Martinovic, Lukas Steinicke, Jannis Klees, Trainer Finn Kittelmann, Trainer Benny Link, Trainer Dario Gavran, Trainer Björn Kittelmann, Trainer Holger Schmid, Fionn Fogl, Maurice Möck, Luca Bauer, Florian Hanser, David Schmid"
/>
<PlayerRow
rowTitle="Reihe 1 (v.l.n.r.)"
players="Maxim Laux, Max Walker, Louis Schwinn, Chrisi Jesch, Mika Kittelmann, Simon Bauer, Noah Bez, Max Schwinn, Dorian Osaj, Tim Staudt, Micha Stanger, Kiyan Sezer, Linas Walker, Leo Filipovic
"
/>
<PlayerRow
rowTitle="Es fehlen"
players="Tim Keller, Maxi Wörn, Linus Schmidt, Adonis Giannakoglu, Dennis Hess, Jonathan Troost, Chinar Kyose"
/>
<SectionTitle title="Trainer und Betreuer" />
<div className="grid grid-cols-1 lg:grid-cols-2 gap-4">
<PersonCard person={getPersonByName("Finn Kittelmann")} />
<PersonCard person={getPersonByName("Björn Kittelmann")} />
<PersonCard person={getPersonByName("Benjamin Link")} />
<PersonCard person={getPersonByName("Holger Schmid")} />
<PersonCard person={getPersonByName("Dario Gavran")} />
</div>
<div>
<h3>Saison 2025/26</h3>
<p>
In Saison 2025/26 spielen und trainieren die Kicker der <b>Jahrgänge 2007 (U19) und 2008 (U18)</b> als
A-Junioren im Aufbaubereich der <Link href="/fussball/akademie">SV Walddorf Akademie</Link> mit
koordinativen, technischen und positionsspezifischer Inhalten sowie grundtaktischer Ausbildung.
</p>
</div>
<div className="grid grid-cols-1 lg:grid-cols-2">
<div>
<h3>Training</h3>
<p>Dienstags, 18:00 - 19:30 Uhr in Walddorf</p>
<p>Donnerstag, 18:15 - 19:45 Uhr in Walddorf</p>
</div>
<div>
<h3>Kontakt</h3>
<Link href="mailto:b-junioren@svwalddorf.de">b-junioren@svwalddorf.de</Link>
</div>
</div>
<ArticleSection tags={["B-Junioren", "A-Junioren"]} />
</div>
</div>
);
}
2 changes: 1 addition & 1 deletion app/(web)/fussball/ah/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { Metadata } from "next";
import { getTitle } from "#/lib/page";
import { PageContent } from "#/components/web/page/PageContent";
import { SectionTitle } from "#/components/web/section/SectionTitle";
import { PersonCard } from "#/components/person/PersonCard";
import { PersonCard } from "#/components/web/person/PersonCard";
import { getPersonByName } from "#/content/people";
import { fussballAH } from "#/content/sitemap";
import { ArticleSection } from "#/components/web/articles/ArticleSection";
Expand Down
147 changes: 72 additions & 75 deletions app/(web)/fussball/aktive/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { getTitle } from "#/lib/page";
import { calcImageDimensionsForWidth } from "#/lib/image";
import { PageContent } from "#/components/web/page/PageContent";
import { SectionTitle } from "#/components/web/section/SectionTitle";
import { PersonCard } from "#/components/person/PersonCard";
import { PersonCard } from "#/components/web/person/PersonCard";
import { getPersonByName, Person } from "#/content/people";
import { NextFussballDeIframeWidget } from "#/components/widget/NextFussballDeWidget";
import { ArticleSection } from "#/components/web/articles/ArticleSection";
Expand All @@ -15,59 +15,52 @@ export const metadata: Metadata = {
title: getTitle("Aktive"),
};

export function PlayerRow({ rowTitle, players }: { rowTitle: string; players: string }) {
return (
<div className="font-light flex flex-col md:flex-row gap-2">
<b className="whitespace-nowrap">{rowTitle}:</b>
<p>{players}</p>
</div>
);
}

export default function Aktive() {
const { width, height } = calcImageDimensionsForWidth({ width: 4096, height: 2726 }, 1200);
return (
<PageContent>
<SectionTitle title="Die Mannschaft" />
<div className="my-1 bg-white shadow-2xl p-2 flex flex-col gap-2">
<Image
src="/media/sparten/fussball/aktive-team-2024-25.jpg"
alt="Mannschaftsfoto Aktive 2024/25"
width={width}
height={height}
className="w-full"
<div className="bg-neutral-200">
<Image
src="https://res.cloudinary.com/svwalddorf/image/upload/v1752432425/2025-26_Mannschaftsfoto_Aktive_tmvjmv.jpg"
alt="Mannschaftsfoto Aktive 2025/26"
width={1920}
height={1080}
className="w-full"
/>
<div className="container flex flex-col gap-4 p-4">
<SectionTitle title="Die Mannschaft" />
<PlayerRow
rowTitle="Reihe 3 (v.l.n.r.)"
players="Erik Matthäi, Lukas Bux, Maurice Heim, Sabawun Khostwal, Carlo Schmid, Laurin Walker, Florian Komenda, Jack
Rein, Jarne Roth, Nico Hunsicker, Thomas Ammon, Jan Becker, Maik Straub"
/>
<div className="font-light flex">
<b className="whitespace-nowrap">Reihe 4 (v.l.n.r.):</b>
<p className="px-2">
Tom Schwaibold, Jannik Jung, Stefan Tilgner, Robin Schraitle, Jarne Roth, Nico Hunsiker, Sabawun Khostwal
</p>
</div>
<div className="font-light flex">
<b className="whitespace-nowrap">Reihe 3 (v.l.n.r.):</b>
<p className="px-2">
Dennis Hermann, Florian Komenda, Luis Langeneck, Maik Straub, Niko Baur, Jan Becker, Thomas Ammon, Erik
Matthäi
</p>
</div>
<div className="font-light flex">
<b className="whitespace-nowrap">Reihe 2 (v.l.n.r.):</b>
<p className="px-2">
Marco Speier, Moritz Schwaibold (Kapitän 1.Mannschaft), Maurice Heim (Co-Trainer Erste), Sven Pichler
(Cheftrainer Erste), Björn Kittelmann (Vorstand Sport), Julian Wohlfarth (Sportlicher Leiter / Co-Trainer
Zweite), Fabian Schramm (Cheftrainer Zweite), Achim Wohlfarth (Betreuer), Paul Röhrich, Simon Vetter
(Kapitän 2. Mannschaft)
</p>
</div>
<div className="font-light flex">
<b className="whitespace-nowrap ">Reihe 1 (v.l.n.r.):</b>
<p className="px-2">
Luca Schmid, Danylo Gromovenko, Alexander Peguero Castillo, Timo Thomas, Jannik Schülzle, Maximilian
Schindler, Marcus Belschner, Jan Roller
</p>
</div>
<div className="font-light flex">
<b className="whitespace-nowrap ">Es fehlen:</b>
<p className="px-2">
Patrick Aberle, Marcus Becker, Daniel Burkhardt, Lukas Bux, Philipp Cus, Dennis Dieter, Fabian Gaiser, Max
Glässer, Alexander, Alexander Greineck, Florian Gschwind, Carlos Haselhoff, Luca Häfner, Simon Heim, Lukas
Hermann, Marco Knoblauch, Patrick Mayer, Kai Petruv, Jonas Retter, Fabian Rößler, Alexander Scharr, Carlo
Schmid, David Schnitzler, Max Schraitle, Micha Schuler, Nicolas Stadelmaier, Giuseppe Vitale (Videoanalyst),
Lorenzo Vitale, Luis Walker
</p>
</div>
<h3>Trainer und Betreuer</h3>
<PlayerRow
rowTitle="Reihe 2 (v.l.n.r.)"
players="Phillip Cus, Maximilian Schindler, Alexander Weber, Mannschaftskapitän 1. Mannschaft Luis Langeneck,
Cheftrainer 1. Mannschaft Sven Pichler, Videoanalyst Giuseppe Vitale, Sportvorstand Björn Kittelmann,
Co-Trainer 2. Mannschaft Julian Wohlfarth, Cheftrainer 2. Mannschaft Fabian Schramm, Mannschaftskapitän 2.
Mannschaft Simon Vetter, Niko Baur, Danylo Gromovenko, Marcus Belschner"
/>
<PlayerRow
rowTitle="Reihe 1 (v.l.n.r.)"
players="Florian Gschwind, Kai Petruv, Kai Ringwald, Tobias Fischer, Fabian Dillmann, Timo Thomas, Jannick Schülzle,
Kevin Borek, Lucas Jakob, Louis Labenski, Luca Häfner, Luca Schmid"
/>
<PlayerRow
rowTitle="Es fehlen"
players="Luis Armbruster, Lirim Armbruster, Marc Bezner, Dennis Dieter, Hakan Durmus, Fabian Gaiser, Dennis Hermann,
Lukas Hermann, Simon heim, Jannik Jung, Marco Knoblauch, Shkelqim Krasniqi Patrick Mayer, Sven Riefler, Paul
Röhrich, Jan Roller, Max Schraitle, Robin Schraitle, Micha Schuler, Moritz Schwaibold, Kiu Senner, Marco
Speier, Nicolas Stadelmaier, Stefan Tilgner"
/>
<SectionTitle title="Trainer und Betreuer" />
<div className="grid grid-cols-1 lg:grid-cols-2 gap-2">
<PersonCard person={getPersonByName("Sven Pichler")} />
<PersonCard person={getPersonByName("Maurice Heim")} />
Expand All @@ -82,32 +75,36 @@ export default function Aktive() {
} as Person
}
/>
</div>
<div className="grid grid-cols-1 lg:grid-cols-2">
<div>
<h3>Training</h3>
<p>Dienstag und Donnerstag, 19:30 - 21:00 Uhr auf dem Kunstrasenplatz</p>
</div>
<div>
<h3>Kontakt</h3>
<p>
<Link href="mailto:erstemannschaft@svwalddorf.de">erstemannschaft@svwalddorf.de</Link>
</p>
<p>
<Link href="mailto:zweitemannschaft@svwalddorf.de">zweitemannschaft@svwalddorf.de</Link>
</p>
<div className="grid grid-cols-1 lg:grid-cols-2">
<div>
<h3>Training</h3>
<p>Dienstag, 19:30 - 21:00 Uhr</p>
<p>Donnerstag, 19:30 - 21:00 Uhr</p>
<p>Freitag, 19:30 - 21:00 Uhr</p>
</div>
<div>
<h3>Kontakt</h3>
<p>
<Link href="mailto:erstemannschaft@svwalddorf.de">erstemannschaft@svwalddorf.de</Link>
</p>
<p>
<Link href="mailto:zweitemannschaft@svwalddorf.de">zweitemannschaft@svwalddorf.de</Link>
</p>
</div>
</div>
</div>
<ArticleSection tags={["Aktive I", "Aktive II"]} />
{/*
<SectionTitle title="Tabelle Aktive I" />
<NextFussballDeIframeWidget widgetId="fd5c08aa-dbe8-4bea-b8d1-79d912931414" type="table" />
<SectionTitle title="Spielplan Aktive I" />
<NextFussballDeIframeWidget widgetId="dbb0c0cc-0c93-40c4-9de5-36f04cd4b788" type="team-matches" />
<SectionTitle title="Tabelle Aktive II" />
<NextFussballDeIframeWidget widgetId="c3ec19ee-9d12-4ea7-86c9-a4c3bcad753f" type="table" />
<SectionTitle title="Spielplan Aktive II" />
<NextFussballDeIframeWidget widgetId="fb7e552b-3689-4d55-a603-3120d5afa6e6" type="team-matches" />
*/}
</div>
<ArticleSection tags={["Aktive I", "Aktive II"]} />
<SectionTitle title="Tabelle Aktive I" />
<NextFussballDeIframeWidget widgetId="fd5c08aa-dbe8-4bea-b8d1-79d912931414" type="table" />
<SectionTitle title="Spielplan Aktive I" />
<NextFussballDeIframeWidget widgetId="dbb0c0cc-0c93-40c4-9de5-36f04cd4b788" type="team-matches" />
<SectionTitle title="Tabelle Aktive II" />
<NextFussballDeIframeWidget widgetId="c3ec19ee-9d12-4ea7-86c9-a4c3bcad753f" type="table" />
<SectionTitle title="Spielplan Aktive II" />
<NextFussballDeIframeWidget widgetId="fb7e552b-3689-4d55-a603-3120d5afa6e6" type="team-matches" />
</PageContent>
</div>
);
}
Loading