volleyball-dev-frontend/src/pages/MitgliedWerden.tsx
Marc Wieland 269dd3c7a5
Some checks failed
Deploy Volleyball Dev / deploy (push) Has been cancelled
Added H2
2025-05-04 20:47:53 +02:00

137 lines
6.5 KiB
TypeScript

import { useState } from "react";
import { Input } from "@/components/ui/input";
import { Button } from "@/components/ui/button";
import { Card, CardContent } from "@/components/ui/card";
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select";
import { Textarea } from "@/components/ui/textarea";
const MitgliedWerdenPage = () => {
return (
<div className="flex justify-center mt-10 px-4">
<Card className="w-full max-w-3xl">
<CardContent className="p-6">
<h1 className="text-2xl font-bold mb-6 text-center text-frog-600">Mitglied werden</h1>
<form className="space-y-6">
{/* Persönliche Daten */}
<div className="grid gap-4">
<h2 className="text-lg font-semibold text-gray-800">Persönliche Daten</h2>
<div className="grid md:grid-cols-2 gap-4">
<Select>
<SelectTrigger>
<SelectValue placeholder="Anrede*" />
</SelectTrigger>
<SelectContent>
<SelectItem value="0">Keine Auswahl</SelectItem>
<SelectItem value="Herr">Herr</SelectItem>
<SelectItem value="Frau">Frau</SelectItem>
</SelectContent>
</Select>
<Select>
<SelectTrigger>
<SelectValue placeholder="Titel (optional)" />
</SelectTrigger>
<SelectContent>
<SelectItem value="0">Keine Auswahl</SelectItem>
<SelectItem value="Dipl.-Ing.">Dipl.-Ing.</SelectItem>
<SelectItem value="Dr.">Dr.</SelectItem>
<SelectItem value="Prof.">Prof.</SelectItem>
<SelectItem value="Prof. Dr.">Prof. Dr.</SelectItem>
</SelectContent>
</Select>
</div>
<div className="grid md:grid-cols-2 gap-4">
<Input placeholder="Vorname*" required />
<Input placeholder="Nachname*" required />
</div>
<Input type="date" placeholder="Geburtsdatum*" required />
<div className="grid md:grid-cols-2 gap-4">
<Input placeholder="Straße*" required />
<Input placeholder="Hausnummer*" required />
</div>
<div className="grid md:grid-cols-2 gap-4">
<Input placeholder="PLZ*" required />
<Input placeholder="Ort*" required />
</div>
<div className="grid md:grid-cols-2 gap-4">
<Input placeholder="Telefon" />
<Input type="email" placeholder="E-Mail-Adresse*" required />
</div>
<div className="flex items-center space-x-2">
<input type="checkbox" id="newsletter" />
<label htmlFor="newsletter" className="text-sm">Newsletter (per E-Mail + WhatsApp)</label>
</div>
<Input type="date" placeholder="Eintrittsdatum*" required />
<Select>
<SelectTrigger>
<SelectValue placeholder="Beitrag/Tarif auswählen*" />
</SelectTrigger>
<SelectContent>
<SelectItem value="0">Keine Auswahl</SelectItem>
<SelectItem value="1">64,00 - Kinder / Jugendliche / Studenten / Rentner</SelectItem>
<SelectItem value="2">99,00 - Rentnerehepaar / 2 Geschwister unter 18 J.</SelectItem>
<SelectItem value="3">112,00 - Erwachsener / 3+ Geschwister</SelectItem>
<SelectItem value="4">162,00 - Elternteil + Kinder</SelectItem>
<SelectItem value="5">168,00 - Ehepaar mit Kindern</SelectItem>
</SelectContent>
</Select>
<div className="flex items-center space-x-2">
<input type="checkbox" id="no-membership" />
<label htmlFor="no-membership" className="text-sm">Ich beantrage selbst keine Mitgliedschaft</label>
</div>
</div>
{/* Abteilungen */}
<div className="grid gap-4">
<h2 className="text-lg font-semibold text-gray-800">Gewünschte Abteilungen</h2>
<div className="grid md:grid-cols-2 gap-2 text-sm">
{[
"Boule", "Fitness und Gesundheitssport", "Handball Damen", "Handball Herren",
"Handball Jugend (m.)", "Handball Jugend (w.)", "Leichtathletik", "Tanz & Bodyworkout",
"Tischtennis", "Turnen / Gymnastik (Erw.)", "Turnen / Gymnastik (Kinder + Jugend)",
"Volleyball", "Wandern"
].map((abteilung, idx) => (
<label key={idx} className="flex items-center space-x-2">
<input type="checkbox" />
<span>{abteilung}</span>
</label>
))}
</div>
</div>
{/* Bankverbindung */}
<div className="grid gap-4">
<h2 className="text-lg font-semibold text-gray-800">Bankverbindung</h2>
<Input placeholder="Kontoinhaber (Name, Vorname)*" required />
<Input placeholder="Straße (falls abweichend)" />
<Input placeholder="PLZ und Ort (falls abweichend)" />
<Input placeholder="IBAN*" required />
<Input placeholder="Name der Bank*" required />
<Input placeholder="BIC" />
</div>
{/* Zustimmung */}
<div className="grid gap-2 text-sm">
<label className="flex items-center space-x-2">
<input type="checkbox" required />
<span>Ich habe die <a target="_blank" href="/beitraege" className="underline text-frog-600">Beitragsordnung</a> gelesen und akzeptiere sie.</span>
</label>
<label className="flex items-center space-x-2">
<input type="checkbox" required />
<span>Ich habe die <a target="_blank" href="/satzung" className="underline text-frog-600">Satzung</a> der TG Laudenbach gelesen und akzeptiere sie.</span>
</label>
</div>
{/* Absenden */}
<Button type="submit" className="w-full bg-frog-500 hover:bg-frog-600 text-white mt-4">
Anmeldung absenden
</Button>
</form>
</CardContent>
</Card>
</div>
);
};
export default MitgliedWerdenPage;