Arbeit der parallelen Session in git gesichert (war nur auf dem Server)

Diese Änderungen liefen bereits live auf dem Server, lagen dort aber
ausschließlich als nicht eingecheckte Arbeitskopie — bei jedem Deploy
(stash/pull/pop) und bei jedem Serverproblem wären sie verloren gewesen.
Deshalb hier unverändert in git übernommen, bevor darauf aufgebaut wird.

Enthalten (nicht von mir gebaut, nur gesichert):
- Supporter: eigener fester Zugangscode statt Einmalcode-Login
  (Migration 0009, lib/crypto.js scrypt-Hash, routes/supporter.js,
  abonnieren.html, supporter.html, i18n-abonnieren/-supporter)
- Stimmen: Profilbilder (Migration 0010, routes/testimonials.js)
- Event-Bild-Upload: voller Pfad statt relativem (routes/events.js)
- Neue/überarbeitete Hintergrundbilder für viele Seiten
- Teilen-Funktion (streamplan.js, i18n-index/-streamplan, main.css)

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-08-21 17:35:14 +02:00
co-authored by Claude Opus 5
parent 4b294f6c6b
commit 5d0ea11570
65 changed files with 992 additions and 139 deletions
@@ -0,0 +1,23 @@
-- =====================================================================
-- 0010_testimonials_avatar.sql — Profilbild für die "Stimmen"
--
-- Nutzer-Wunsch 21.08.2026: "ich soll auch paar geile bilder zum aussuchen
-- haben als profilbild falls die leute kein bild mit schicken, das soll
-- denen auch als möglichkeit gegeben sein."
--
-- Bis hierher zeigte jede Stimme nur den Anfangsbuchstaben des Namens in
-- einem Kreis. Jetzt kann ein Bild hinterlegt werden.
--
-- Inhalt der Spalte:
-- * eine Auswahlbild-Id ("husky-hoodie", "casper", …) — siehe
-- ERLAUBTE_AVATARE in server-internal/routes/testimonials.js und
-- assets/js/data-stimmen-avatare.js
-- * ODER eine vollständige Adresse eines von der Verwaltung
-- hochgeladenen eigenen Fotos
-- * ODER NULL = kein Bild, dann bleibt es beim Anfangsbuchstaben
--
-- Bewusst nur EINE Spalte statt zweier (Auswahlbild/eigenes Foto): es kann
-- ohnehin immer nur eines von beiden gleichzeitig gelten, zwei Spalten
-- hätten nur die Frage aufgeworfen, welche gewinnt.
-- =====================================================================
ALTER TABLE testimonials ADD COLUMN avatar TEXT;