Files
hcrb/private/gruppe.html
T
guyg1474andClaude Opus 5.5 486e6f6784 Spiel-Events, Kalenderdateien, Patches-Seite und neues Design
- Kalender: Termine als Spiel-Event markieren (nur diese zählen in der
  Statistik), optionale Uhrzeiten, Termine bearbeiten
- .ics-Download für einzelne und alle kommenden Termine
- Neue Seite Patches: Upload (PNG, JPEG, WebP, geprüftes SVG),
  Status "Gibt es schon" / "In Planung", Bilder in data/patches/
- Volle Seitenbreite mit Spaltenlayouts, neues Design mit selbst
  gehosteten Schriften, Startseite mit Zoom und drehendem Zahnrad
- Bestehende Daten werden beim Laden ergänzt, keine Migration nötig

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 00:13:52 +02:00

101 lines
3.5 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Gruppe – HCRB</title>
<link rel="stylesheet" href="/css/style.css">
</head>
<body>
<main>
<header class="page-head">
<div>
<span class="eyebrow">Mitglieder &amp; Treffpunkte</span>
<h1>Gruppe</h1>
<p>Wer gehört dazu, wer hat ein Auto und wo trifft man sich.</p>
</div>
</header>
<div class="split wide-right">
<div class="col">
<div class="card">
<h2 id="member-form-title">Mitglied hinzufügen</h2>
<form id="member-form">
<input type="hidden" id="member-id">
<label>Vorname
<input type="text" id="member-name" required autocomplete="off" maxlength="50">
</label>
<label class="inline">
<input type="checkbox" id="member-external"> Extern (gehört nicht zur Gruppe, fährt aber manchmal mit)
</label>
<label class="inline">
<input type="checkbox" id="member-hascar"> Hat Auto
</label>
<label>Fährt am liebsten mit bei
<select id="member-rideswith"></select>
</label>
<div id="member-seats-wrap" hidden>
<label>Freie Plätze (ohne Fahrer)
<input type="number" id="member-seats" min="1" max="8" value="4">
</label>
<label class="inline">
<input type="checkbox" id="member-always"> Kommt immer mit eigenem Auto
</label>
<p class="muted">Fährt dann bei jeder Fahrt selbst, auch wenn weniger Autos reichen würden.</p>
<label>Standard-Treffpunkt, wenn er/sie fährt
<select id="member-point"></select>
</label>
</div>
<div class="row">
<button type="submit" class="primary">Speichern</button>
<button type="button" id="member-cancel" hidden>Abbrechen</button>
</div>
</form>
</div>
<div class="card">
<h2 id="point-form-title">Treffpunkt hinzufügen</h2>
<form id="point-form">
<input type="hidden" id="point-id">
<label>Name
<input type="text" id="point-name" required autocomplete="off" maxlength="60" placeholder="z. B. Parkplatz Bahnhof">
</label>
<label>Adresse
<input type="text" id="point-address" required autocomplete="off" maxlength="200" placeholder="Straße Nr., PLZ Ort">
</label>
<div class="row">
<button type="submit" class="primary">Speichern</button>
<button type="button" id="point-cancel" hidden>Abbrechen</button>
</div>
</form>
<p id="points-empty" class="muted" hidden>Noch keine Treffpunkte gespeichert.</p>
<ul id="points-list" class="list"></ul>
</div>
</div>
<div class="col">
<div class="card">
<h2>Gruppe</h2>
<p id="members-empty" class="muted" hidden>Noch keine Mitglieder gespeichert.</p>
<ul id="members-list" class="list"></ul>
</div>
<div class="card">
<h2>Daten sichern</h2>
<p class="muted">Gruppe als JSON-Datei sichern oder eine gesicherte Datei wieder einspielen (ersetzt die aktuelle Gruppe).</p>
<div class="row">
<button id="export-btn">Exportieren (JSON)</button>
<label class="button">Importieren
<input type="file" id="import-file" accept="application/json" hidden>
</label>
</div>
</div>
</div>
</div>
</main>
<script type="module" src="/js/gruppe.js"></script>
</body>
</html>