Files
hcrb/public/patches.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

82 lines
3.6 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>Patches – HCRB</title>
<link rel="stylesheet" href="/css/style.css">
</head>
<body>
<main>
<header class="page-head">
<div>
<span class="eyebrow">Klett &amp; Stoff</span>
<h1>Patches</h1>
<p>Gruppen-Patches, Event-Patches und alles, was bei der HCRB auf die Weste kommt.</p>
</div>
<div class="actions">
<button type="button" id="add-btn" class="primary" hidden>Patch hochladen</button>
</div>
</header>
<div class="card" id="patch-form-card" hidden>
<h2 id="patch-form-title">Patch hochladen</h2>
<form id="patch-form" class="split">
<label class="dropzone" id="dropzone" for="patch-file">
<img id="patch-preview" alt="Vorschau" hidden>
<span id="drop-text">
<strong>Bild auswählen</strong><br>
oder hierher ziehen · PNG, JPEG, WebP oder SVG
</span>
<input type="file" id="patch-file" accept="image/png,image/jpeg,image/webp,image/svg+xml,.svg" hidden>
</label>
<div>
<label>Name
<input type="text" id="patch-name" required maxlength="80" placeholder="z. B. HCRB Gruppenpatch 2026">
</label>
<fieldset class="segmented">
<legend>Status</legend>
<label><input type="radio" name="patch-status" id="patch-status-vorhanden" value="vorhanden" checked> Gibt es schon</label>
<label><input type="radio" name="patch-status" id="patch-status-geplant" value="geplant"> In Planung</label>
</fieldset>
<label>Beschreibung (optional)
<textarea id="patch-description" maxlength="500" placeholder="Wofür, seit wann, wer hat ihn entworfen …"></textarea>
</label>
<p class="muted">Tipp: Ein freigestelltes PNG oder eine SVG ohne Hintergrund sieht in der Galerie am besten aus.
Große Bilder werden vor dem Hochladen automatisch verkleinert.</p>
<p id="patch-error" class="warn" hidden></p>
<div class="row wrap">
<button type="submit" class="primary" id="patch-submit">Hochladen</button>
<button type="button" id="patch-cancel">Abbrechen</button>
</div>
</div>
</form>
</div>
<section class="patch-group" id="group-vorhanden" hidden>
<div class="section-title"><h2>Gibt es schon</h2><span class="muted" id="count-vorhanden"></span></div>
<div class="patch-grid" id="grid-vorhanden"></div>
</section>
<section class="patch-group" id="group-geplant" hidden>
<div class="section-title"><h2>In Planung</h2><span class="muted" id="count-geplant"></span></div>
<div class="patch-grid" id="grid-geplant"></div>
</section>
<div id="patch-empty" class="empty-state" hidden>
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.4" aria-hidden="true"><path d="M12 2.5l8 3.5v6c0 5-3.5 8.2-8 9.5-4.5-1.3-8-4.5-8-9.5V6z"/></svg>
<strong>Noch keine Patches</strong>
<span id="patch-empty-hint">Sobald jemand aus der Gruppe einen Patch hochlädt, erscheint er hier.</span>
</div>
<dialog class="lightbox" id="lightbox">
<form method="dialog"><button class="close small" aria-label="Schließen">✕</button></form>
<figure>
<img id="lightbox-img" alt="">
<figcaption><strong id="lightbox-name"></strong><span id="lightbox-text" class="muted"></span></figcaption>
</figure>
</dialog>
</main>
<script type="module" src="/js/patches.js"></script>
</body>
</html>