Erste Aenderungen

This commit is contained in:
Marc Wieland
2025-04-20 17:15:07 +02:00
parent a517191176
commit 79aa26d48a
17 changed files with 418 additions and 184 deletions

View File

@@ -0,0 +1,52 @@
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card";
const news = [
{
id: 1,
title: "Saisonstart 2023/24",
date: "15. September 2023",
description: "Die neue Saison beginnt mit einem Heimspiel gegen VfB Mosbach. Kommt vorbei und unterstützt unser Team!",
image: "https://images.unsplash.com/photo-1612872087720-bb876e2e67d1?ixlib=rb-4.0.3&auto=format&fit=crop&w=500&q=80"
},
{
id: 2,
title: "Beachvolleyball-Turnier",
date: "3. Juli 2023",
description: "Unser jährliches Beachvolleyball-Turnier war ein voller Erfolg! 24 Teams kämpften um den Sieg.",
image: "https://images.unsplash.com/photo-1583514555852-6f77e7c9e081?ixlib=rb-4.0.3&auto=format&fit=crop&w=500&q=80"
},
{
id: 3,
title: "Neuer Trainer für die Jugendmannschaft",
date: "21. Mai 2023",
description: "Wir freuen uns, Marc Schneider als neuen Trainer für unsere U16-Mannschaft begrüßen zu dürfen.",
image: "https://images.unsplash.com/photo-1547347298-4074fc3086f0?ixlib=rb-4.0.3&auto=format&fit=crop&w=500&q=80"
},
// 🔜 später kannst du hier easy mehr News reinladen oder aus ner API holen
];
const AlleNeuigkeitenPage = () => {
return (
<div className="max-w-5xl mx-auto px-4 py-12">
<h1 className="text-3xl font-bold text-center mb-8 text-frog-600">Alle Neuigkeiten</h1>
<div className="grid md:grid-cols-2 gap-6">
{news.map((item) => (
<Card key={item.id} className="overflow-hidden">
<div className="h-48 overflow-hidden">
<img src={item.image} alt={item.title} className="w-full h-full object-cover" />
</div>
<CardHeader>
<CardTitle>{item.title}</CardTitle>
<CardDescription>{item.date}</CardDescription>
</CardHeader>
<CardContent>
<p>{item.description}</p>
</CardContent>
</Card>
))}
</div>
</div>
);
};
export default AlleNeuigkeitenPage;

View File

@@ -11,14 +11,12 @@ import Footer from "@/components/Footer";
const Index = () => {
return (
<div className="min-h-screen bg-white">
<Navbar />
<Hero />
<NewsSection />
<TeamSection />
<GallerySection />
<AboutSection />
<ContactSection />
<Footer />
</div>
);
};

View File

@@ -0,0 +1,26 @@
import { Input } from "@/components/ui/input";
import { Button } from "@/components/ui/button";
import { Card, CardContent } from "@/components/ui/card";
const MitgliedWerdenPage = () => {
return (
<div className="flex justify-center mt-10">
<Card className="w-full max-w-md">
<CardContent className="p-6">
<h1 className="text-2xl font-bold mb-4 text-center">Mitglied werden</h1>
<form className="space-y-4">
<Input placeholder="Vorname" />
<Input placeholder="Nachname" />
<Input placeholder="E-Mail" type="email" />
<Input placeholder="Geburtsdatum" type="date" />
<Button type="submit" className="w-full bg-frog-500 hover:bg-frog-600 text-white">
Absenden
</Button>
</form>
</CardContent>
</Card>
</div>
);
};
export default MitgliedWerdenPage;

View File

@@ -0,0 +1,37 @@
import { useParams } from "react-router-dom";
const teamData = [
{
id: "1",
name: "Damen I",
league: "Landesliga Nord",
description: "Unsere erste Damenmannschaft ...",
trainingTimes: "Di & Do 19:00 - 21:00 Uhr",
},
{
id: "2",
name: "Herren I",
league: "Bezirksliga",
description: "Das Herrenteam kämpft ...",
trainingTimes: "Mo & Mi 20:00 - 22:00 Uhr",
},
// usw...
];
const TeamDetailPage = () => {
const { id } = useParams();
const team = teamData.find((t) => t.id === id);
if (!team) return <p>Team nicht gefunden 🐸</p>;
return (
<div className="max-w-3xl mx-auto py-12 px-4">
<h1 className="text-4xl font-bold text-frog-600 mb-2">{team.name}</h1>
<p className="text-gray-700 mb-2">{team.league}</p>
<p className="text-gray-600 mb-4">{team.description}</p>
<p className="text-sm text-frog-700 font-medium">Training: {team.trainingTimes}</p>
</div>
);
};
export default TeamDetailPage;