/* ===================================================================== Die Zahlen im Regeltext (11.09.2026) Dieses Skript schreibt nichts dazu -- es setzt nur die Zahlen ein, die im Text stehen muessen: Fristen, Stufen, Mindestalter, wie lange jemand aus dem Team eine Pause geben darf. WARUM UEBERHAUPT EIN SKRIPT FUER FUENF ZAHLEN Weil sie sonst zweimal existieren wuerden: einmal als Regel im Code (DABEI_TAGE, STAMM_TAGE, MINDESTALTER ...) und einmal als Wort in der HTML-Datei. Beim naechsten Nachjustieren waere eine von beiden geaendert worden, und der Regeltext haette etwas anderes versprochen als der Server tut. Das faellt niemandem auf -- und wer es bemerkt, glaubt dem Text, nicht dem Verhalten. Ein Regeltext, der sich selbst widerspricht, ist ausserdem rechtlich das Gegenteil dessen, wofuer er da ist. WENN DIE ANTWORT AUSBLEIBT, bleibt "…" stehen. Das ist Absicht: Eine fehlende Zahl sieht man, eine falsche nicht. ===================================================================== */ (() => { const $ = (id) => document.getElementById(id); const melde = (t) => { const f = $('fehler'); if (f) { f.textContent = t; f.hidden = !t; } }; (async () => { let r; try { const a = await fetch('/workspace/api/treff/regeln', { credentials: 'same-origin' }); if (a.status === 401) { location.assign('/workspace/'); return; } if (!a.ok) { melde('Die Zahlen konnten nicht geladen werden. Der Text gilt trotzdem.'); return; } r = await a.json(); } catch { melde('Die Zahlen konnten nicht geladen werden. Der Text gilt trotzdem.'); return; } /* Die drei Stufen -- aus der Antwort gebaut, nicht aus drei festen Zeilen. Wer eine vierte Stufe einbaut, bekommt sie hier von selbst; eine feste Liste haette sie unterschlagen, ohne dass irgendwo etwas rot wird. */ const liste = $('stufen'); if (liste && Array.isArray(r.stufen)) { const was = { neu: 'Lesen und bei Wünschen mitstimmen.', dabei: `Ab ${r.dabei_tage} Tagen: Du kannst im Treff schreiben, ` + 'Wünsche einstellen und dich bei „Mitmachen“ melden.', stamm: `Ab ${r.stamm_tage} Tagen und ${r.stamm_beitraege} eigenen Beiträgen: ` + 'Du kannst Clips und Bilder einstellen – sie erscheinen, sobald ' + 'jemand aus dem Team sie freigegeben hat.', }; liste.textContent = ''; for (const s of r.stufen) { const li = document.createElement('li'); const stark = document.createElement('strong'); stark.textContent = s.name; li.append(stark, ' – ', was[s.schluessel] || ''); liste.append(li); } } if ($('alter')) { $('alter').textContent = `Mindestalter: ${r.mindestalter} Jahre. Wer jünger ist, hat hier nichts ` + 'verloren – nicht weil wir es kompliziert machen wollen, sondern weil ' + 'der Treff zu einem Stream für Erwachsene gehört.'; } /* WEN MAN ANSPRICHT -- mit dem Namen aus den Daten. Im HTML steht „jemandem aus dem Team". Das ist kein Platzhalter, sondern eine Fassung, die auch dann stimmt, wenn das Skript nicht laeuft -- ein Satz mit einem sichtbaren Loch darin waere schlechter als einer, der etwas allgemeiner ist. */ if ($('kontakt-wem') && r.rolle_name) { $('kontakt-wem').textContent = `einem ${r.rolle_name}`; } if ($('ausschluss')) { $('ausschluss').textContent = `Ein ${r.rolle_name} kann eine Pause von bis zu ${r.pause_frist_tage} Tagen geben. ` + 'Alles, was länger gilt, und jeder endgültige Ausschluss ist DogFathers ' + 'Entscheidung. Jede dieser Entscheidungen wird mit Grund festgehalten – ' + 'auch, damit man sie zurücknehmen kann.'; } })(); })();