Filipe: "nimm die sachen da weg bitte. da sollen nur die sachen rein
kommen die die modis, linke und rechte hand oder dogfather
reinsetzen."
In der Spalte "Noch einzusortieren" standen drei vorgefertigte
Vorschlaege ("Was hier hingehoert", "Fanart von DogFather und Casper
ist ausdruecklich erwuenscht", "Ein Ausschnitt, der auf die Clips
soll"). Jemand hatte sie uebernommen, und danach standen sie zwischen
den echten Clips -- mit Datum, mit Verfasser, aeusserlich nicht von
einem echten Eintrag zu unterscheiden.
WARUM DIESES BRETT ANDERS IST ALS DIE UEBRIGEN: Anderswo ist ein
Vorschlag eine ANREGUNG, die man ausfuellt ("Der naechste Stream mit
DogFather" -> Datum eintragen). Highlights ist eine SAMMLUNG echter
Sachen. Ein vorgefertigter Text ist dort kein Anfang, sondern ein
Platzhalter, der aussieht wie Inhalt. Die anderen Bretter behalten
ihre Vorschlaege -- dazu hat er nichts gesagt.
Nebenbefund: Seine Rollenaufzaehlung ist genau TREFF_TEAM_ROLLEN
(modi, hand, linke, admin). Die Rechteregel stimmte also schon.
ZWEI ECHTE MAENGEL FIELEN DABEI AUF, beide beim Versuch, die drei
Eintraege wegzunehmen:
1. Der Knopf "loeschen" schickte DELETE OHNE GRUND. Der Server
verlangt bei einem fremden Beitrag auf einem Treff-Brett einen
(DSA Art. 17) und antwortet mit 400 -- die Oberflaeche zeigte nur
"Loeschen hat nicht geklappt." Zwei Knoepfe nebeneinander, einer
ging ("entfernen"), einer nicht, und die Meldung erklaerte nichts.
Jetzt fragt auch "loeschen" nach dem Grund, wenn der Server einen
braucht -- erkannt an `treffBrett` vom Server, nicht an einer
abgeschriebenen Brettliste -- und die Fehlermeldung gibt wieder,
was der Server gesagt hat.
2. Der Dialog liess DREI Zeichen als Grund durch, der Server verlangt
ZEHN. Wer "spam" tippte, kam durch die Nachfrage und bekam danach
eine Absage. `grund_min` steht seit dem 11.09. in /api/treff/lage
und wurde nie benutzt; jetzt ist es angeschlossen. In nachfrage.js
bestimmt der Aufrufer die Mindestlaenge (`grundMin`), Vorgabe
bleibt 3 -- fuer alle anderen Nachfragen aendert sich nichts.
UND ZWEI PRUEFUNGEN, DIE ROT WAREN, OHNE DASS ETWAS KAPUTT WAR:
- pruef-treff-start verlangte `>= 8` Vorschlaege auf dem Schirm. Das
stimmte bis zum Fenster-Umbau vom 20.09. -- seither kommen
hoechstens VIER (FENSTER = 4). Vier Tage rot, ohne dass es jemand
erfuhr. Gefragt wird jetzt der Server selbst. Und die Brettliste
["treff","anschlag","wunsch","highlight"] wird gegen den Bestand
abgeglichen statt abgeschrieben -- mit ausdruecklichem Nachweis,
dass Highlights keine mehr hat, damit das Wegfallen nicht einfach
eine Pruefung weniger bedeutet. 41 -> 42 Pruefungen.
- pruef-nachfrage zaehlte `installieren.js` als "diese Seite fragt
nach", obwohl der Aufruf dort hinter `if (typeof window.frageNach
=== 'function')` steht. Weil die Datei auf fast jeder Seite liegt,
wurde damit JEDE Seite zur fragenden -- fuenf rote Zeilen, kein
einziger echter Mangel. Ausserdem wurde die Kurzschreibweise
`{ titel, … }` als "ohne Titel" gemeldet. 46 -> 53 Pruefungen, alle
gruen; zwei davon sind neu (Gegenprobe plus Benennung der
Ausnahmen).
Beide mit Gegenprobe (git stash) belegt: schon vor dieser Aenderung
rot.
Gemessen: 11 Messungen, 0 Befunde -- darunter die Gegenprobe, dass
der alte Weg (DELETE ohne Grund) wirklich mit 400 gescheitert waere.
Gruen: pruef-treff-start (42), pruef-nachfrage (53), pruef-highlights
(31), pruef-anschlagbrett (12), pruef-css-klassen.
Co-Authored-By: Claude Opus 5 <[email protected]>
389 lines
22 KiB
JavaScript
389 lines
22 KiB
JavaScript
/* =====================================================================
|
|
FERTIGE INHALTE FÜR DIE COMMUNITY-BEREICHE (17.09.2026)
|
|
|
|
Filipe, mit drei Bildschirmfotos: „ich meine alle kategorien sehen
|
|
einfach so scheisse und leer aus, ich will fertige sachen schon drin
|
|
wo auch die community und alle anderen benutzen können".
|
|
|
|
Es stand sogar im Plan (§5.1): „Acht leere Seiten sind schlimmer als
|
|
keine." Ein Bereich, der nur aus Filterknöpfen und dem Satz „Noch
|
|
kein Eintrag" besteht, sieht nicht neu aus, sondern aufgegeben.
|
|
|
|
---------------------------------------------------------------------
|
|
DIE TEXTE SIND AUF DOGFATHER BEZOGEN (17.09.2026)
|
|
|
|
Filipe, nach dem ersten Entwurf: „die sachen sollen immer auf mich
|
|
bezogen sein bitte. ich, dogfather bin der mittelpunkt immer."
|
|
|
|
Er hatte recht, und es war messbar: 47 Einträge, „DogFather" kam
|
|
fünfmal vor, ein anonymes „wir" sechzehnmal. Das las sich wie der
|
|
Community-Bereich von irgendwem.
|
|
|
|
Jetzt steht in jedem Text, worum es wirklich geht: SEINE Streams,
|
|
SEINE drei Kanäle (DogFather · DogFather Clips · HasiDog), Casper.
|
|
Wer hier hereinkommt, ist wegen ihm gekommen.
|
|
|
|
UND DAS WIDERSPRICHT DER ANDEREN REGEL NICHT. Filipe am 18.08.2026:
|
|
„mich bitte nie wie da höher stellen wie andere, ich bin genau so
|
|
viel wert wie die andere." Das galt dem TEAM — Manager, Scouts,
|
|
Modis. Hier geht es um die Community, und die ist wegen seiner
|
|
Streams da. Wo das Team in diesen Texten vorkommt, steht es deshalb
|
|
weiter auf Augenhöhe: Es moderiert, es entscheidet mit, es wird
|
|
nicht als Gefolge beschrieben.
|
|
|
|
---------------------------------------------------------------------
|
|
WARUM EIN KATALOG UND KEIN AUTOMATISCHES BEFÜLLEN
|
|
|
|
Diese Texte werden NICHT beim Start in die Datenbank geschrieben.
|
|
Sie liegen bereit, und jemand übernimmt sie — genau wie beim
|
|
Aufgabenkatalog der Modis.
|
|
|
|
Der Grund: Ein Text, den niemand gelesen hat, steht sonst als Ansage
|
|
auf einer öffentlichen Seite. „Bleibt fair" klingt harmlos, bis
|
|
jemand fragt, was das im Streitfall heißt — und dann muss
|
|
dahinterstehen, wer es gemeint hat. Übernehmen ist eine
|
|
Entscheidung; automatisch füllen wäre eine Behauptung.
|
|
|
|
---------------------------------------------------------------------
|
|
WIE DIE TEXTE GESCHRIEBEN SIND
|
|
|
|
Für Zuschauer, die von TikTok kommen — überwiegend jung, auf dem
|
|
Handy, mit wenig Geduld für Behördendeutsch. Also: kurze Sätze,
|
|
„du" und „ihr", keine Drohungen sondern Gründe, und jede Regel sagt,
|
|
was PASSIERT, nicht nur was verboten ist.
|
|
|
|
Zwei Bereiche sind bewusst KEIN Katalog, sondern fertige Seiten:
|
|
„Regeln & Hilfe" und „Mitmachen". Sie sind Nachschlagewerke, keine
|
|
Feeds — ein leeres Regelwerk ist schlimmer als gar keins, weil im
|
|
Streitfall niemand etwas in der Hand hat.
|
|
===================================================================== */
|
|
|
|
/** Ein Eintrag: { art, titel, text }. `art` muss zu den Arten des
|
|
* Bereichs passen — pruef-treff-start rechnet das nach. */
|
|
/* =====================================================================
|
|
EIN VORSCHLAG IST EIN VORSCHLAG (21.09.2026)
|
|
|
|
Filipe: "bei diesen vorschlägen ist sehr wichtig dass immer wenn es
|
|
um was geht was ich machen soll oder so dass immer erwähnt wird dass
|
|
ich immer am ende entscheide ob ich was mache oder nicht. ich kann
|
|
immer annehmen oder ablehnen. über all auf der website soll dass bei
|
|
den vorschlägen erwähnt werden."
|
|
|
|
WARUM DAS MEHR IST ALS HOEFLICHKEIT: Auf den Karten stehen Saetze
|
|
wie "Was soll DogFather im naechsten Stream unbedingt machen?" oder
|
|
"Welches Spiel soll DogFather mal ausprobieren?". Wer so gefragt
|
|
wird, schreibt etwas hin -- und rechnet damit. Passiert es dann
|
|
nicht, sieht es aus wie ein gebrochenes Versprechen, obwohl nie
|
|
eines gegeben wurde. Der Satz verhindert genau diese Enttaeuschung,
|
|
und zwar VORHER.
|
|
|
|
ER STEHT HIER UND NICHT IN DEN EINZELNEN TEXTEN. Es gibt ueber
|
|
dreissig Vorschlaege; dreissig Abschriften desselben Satzes waeren
|
|
dreissig Stellen, an denen er beim naechsten Mal fehlt oder anders
|
|
lautet. Der Server schickt ihn mit jeder Vorschlagsliste mit, die
|
|
Oberflaeche zeigt ihn einmal ueber den Karten.
|
|
|
|
EINMAL UND NICHT AUF JEDER KARTE: Vier Karten nebeneinander mit
|
|
viermal demselben Satz liest niemand mehr -- und eine Warnung, die
|
|
immer kommt, ist keine Warnung mehr. Er steht deshalb gross ueber
|
|
dem Block, wo man ihn liest, bevor man die erste Karte antippt.
|
|
===================================================================== */
|
|
export const VORSCHLAG_HINWEIS =
|
|
"DogFather entscheidet am Ende selbst, was davon passiert — "
|
|
+ "er kann jeden Vorschlag annehmen oder ablehnen.";
|
|
|
|
export const TREFF_START = {
|
|
|
|
/* ===================================================================
|
|
REGELN & HILFE — das Nachschlagewerk
|
|
Zuerst, weil es das Einzige ist, das im Streitfall zählt.
|
|
=================================================================== */
|
|
regeln: [
|
|
{ art: "regel", titel: "Rede mit Menschen, nicht über sie",
|
|
text: "Hier sitzen echte Leute — DogFather, sein Team und alle, die "
|
|
+ "mitschauen. Kritik ist in Ordnung, auch deutliche, aber sie geht an "
|
|
+ "die Sache, nicht an die Person. Der Unterschied ist leicht zu "
|
|
+ "merken: „Der Stream war heute langweilig“ ist Kritik. "
|
|
+ "„Du bist langweilig“ ist keine." },
|
|
{ art: "regel", titel: "Keine Beleidigungen, keine Hetze",
|
|
text: "Gegen niemanden — nicht gegen DogFather, nicht gegen sein Team, "
|
|
+ "nicht gegeneinander. Auch nicht als Witz, auch nicht „ironisch“. "
|
|
+ "Rassismus, Sexismus, Hetze gegen Herkunft, Religion, Behinderung "
|
|
+ "oder sexuelle Orientierung fliegen sofort raus — ohne Diskussion "
|
|
+ "und ohne zweite Chance." },
|
|
{ art: "regel", titel: "Was privat ist, bleibt privat",
|
|
text: "Keine Klarnamen, Adressen, Telefonnummern, Schulen oder "
|
|
+ "Arbeitsplätze — weder deine eigenen noch die von DogFather, seinem "
|
|
+ "Team oder anderen Zuschauern. Auch keine Bildschirmfotos aus "
|
|
+ "privaten Chats. Was einmal draußen ist, holt niemand zurück." },
|
|
{ art: "regel", titel: "Kein Streit von woanders hierher tragen",
|
|
text: "Wenn es unter einem TikTok-Video oder auf einer anderen Plattform "
|
|
+ "gekracht hat, bleibt es dort. Hier fängt jeder wieder bei null an — "
|
|
+ "sonst schleppt DogFathers Community jeden alten Streit mit sich "
|
|
+ "herum." },
|
|
{ art: "regel", titel: "Keine Werbung für deinen eigenen Kanal",
|
|
text: "Ein Hinweis in einem Gespräch, in das er passt: klar. Unter jedem "
|
|
+ "Beitrag derselbe Link: nein. Das hier ist DogFathers Raum, kein "
|
|
+ "Schaufenster — und wer nur zum Verlinken kommt, merkt man nach "
|
|
+ "drei Beiträgen." },
|
|
{ art: "regel", titel: "Achtzehn plus bleibt draußen",
|
|
text: "Keine Pornografie, keine Gewaltdarstellungen, keine "
|
|
+ "Drogenwerbung. In DogFathers Streams schauen Minderjährige mit, "
|
|
+ "und für einen Teil der Inhalte haftet er persönlich." },
|
|
|
|
{ art: "folge", titel: "Was passiert, wenn jemand die Regeln bricht",
|
|
text: "Drei Stufen, in dieser Reihenfolge: **Hinweis** (jemand aus dem "
|
|
+ "Team sagt dir, was nicht ging), **Pause** (du kannst ein paar Tage "
|
|
+ "nicht schreiben), **Ausschluss**. Bei den schweren Sachen oben — "
|
|
+ "Hetze, private Daten, 18+ — fällt die erste Stufe weg." },
|
|
{ art: "folge", titel: "Wer entscheidet das",
|
|
text: "Das Team moderiert und entscheidet im Alltag selbst — dafür ist "
|
|
+ "es da. Einen dauerhaften Ausschluss trifft DogFather, und er "
|
|
+ "begründet ihn. Jede Maßnahme wird mit Grund und Namen "
|
|
+ "festgehalten." },
|
|
{ art: "folge", titel: "Was passiert, wenn du dich falsch behandelt fühlst",
|
|
text: "Sag es. Nicht damit du dich rechtfertigst, sondern damit es "
|
|
+ "jemand nachlesen kann — genau dafür steht bei jeder Maßnahme, wer "
|
|
+ "sie verhängt hat und warum. Wenn wir daneben lagen, nehmen wir es "
|
|
+ "zurück." },
|
|
{ art: "folge", titel: "Warum manches gelöscht wird, ohne dass etwas passiert",
|
|
text: "Nicht jede Entfernung ist eine Strafe. Doppelte Beiträge, Sachen "
|
|
+ "im falschen Bereich, ein Bild, das nicht lädt — das räumt das Team "
|
|
+ "auf. Wenn es dich betrifft und du nicht weißt warum, frag nach." },
|
|
|
|
{ art: "hilfe", titel: "Wie du DogFather oder das Team erreichst",
|
|
text: "Im Rudel eine Frage stellen — dort liest immer jemand mit, und "
|
|
+ "DogFather selbst schaut regelmäßig rein. Wenn es nicht öffentlich "
|
|
+ "sein soll: im Bereich „Etwas stimmt nicht“ melden. Das sehen nur "
|
|
+ "die Leute, die hier moderieren." },
|
|
{ art: "hilfe", titel: "Wie du etwas meldest",
|
|
text: "An jedem Beitrag gibt es „melden“. Schreib in einem Satz dazu, "
|
|
+ "was los ist — „unangebracht“ hilft niemandem weiter, „er postet "
|
|
+ "seit einer Stunde denselben Link“ schon. Melden ist kein Petzen; "
|
|
+ "es ist der Weg, wie dieser Raum sauber bleibt." },
|
|
{ art: "hilfe", titel: "Wenn du selbst gerade nicht klarkommst",
|
|
text: "Wenn es dir wirklich schlecht geht, ist ein Community-Chat der "
|
|
+ "falsche Ort — und das ist nicht gegen dich gesagt. "
|
|
+ "Telefonseelsorge: 0800 111 0 111 oder 0800 111 0 222, rund um die "
|
|
+ "Uhr, kostenlos und anonym. Nummer gegen Kummer für Jüngere: "
|
|
+ "116 111." },
|
|
|
|
{ art: "frage", titel: "Wer ist DogFather überhaupt?",
|
|
text: "Filipe — der, der streamt. Drei Kanäle: **DogFather** (die "
|
|
+ "Streams), **DogFather Clips** (die Ausschnitte daraus) und "
|
|
+ "**HasiDog** (der zweite Account mit eigenem Ton). Und Casper, der "
|
|
+ "in den meisten Videos irgendwo auftaucht." },
|
|
{ art: "frage", titel: "Wer moderiert hier?",
|
|
text: "Ein Team aus Leuten, die selbst hier angefangen haben. Sie machen "
|
|
+ "das neben ihrem Alltag und sind nicht rund um die Uhr da — wenn "
|
|
+ "etwas ein paar Stunden stehen bleibt, heißt das nicht, dass es in "
|
|
+ "Ordnung ist." },
|
|
{ art: "frage", titel: "Kann ich meinen Beitrag wieder löschen?",
|
|
text: "Deinen eigenen ja. Was andere darauf geantwortet haben, bleibt — "
|
|
+ "sonst bekämen Gespräche Löcher." },
|
|
{ art: "frage", titel: "Warum sehe ich manche Bereiche nicht?",
|
|
text: "Manches ist nur für DogFather und sein Team, zum Beispiel die "
|
|
+ "Liste der Meldungen. Das ist keine Geheimniskrämerei: Dort stehen "
|
|
+ "Namen von Leuten, über die gerade entschieden wird." },
|
|
],
|
|
|
|
/* ===================================================================
|
|
MITMACHEN — der Weg in DogFathers Team
|
|
=================================================================== */
|
|
mitmachen: [
|
|
{ art: "gesucht", titel: "Schritt 1: Sei ein paar von DogFathers Streams dabei",
|
|
text: "Kein Bewerbungsschreiben, kein Formular. Wer mitmachen will, fängt "
|
|
+ "damit an, da zu sein — im Chat, im Rudel, bei den Wünschen. Fast "
|
|
+ "alle, die heute in DogFathers Team moderieren, sind so angefangen." },
|
|
{ art: "gesucht", titel: "Schritt 2: Sag im Rudel, dass du Lust hast",
|
|
text: "Ein Satz reicht: was du gern machen würdest und wann du ungefähr "
|
|
+ "Zeit hast. Du musst nichts können — alles, was hier gebraucht wird, "
|
|
+ "lernt man in ein paar Wochen nebenher." },
|
|
{ art: "gesucht", titel: "Schritt 3: Eine Schicht zum Reinschnuppern",
|
|
text: "Du sitzt einen Stream lang neben jemandem, der es schon macht. "
|
|
+ "Danach entscheidet ihr beide — du auch. Es ist völlig in Ordnung zu "
|
|
+ "sagen: doch nichts für mich." },
|
|
|
|
{ art: "gesucht", titel: "Chat-Moderation in DogFathers Streams",
|
|
text: "Während der Sendung im Chat mitlesen: Neue begrüßen, Fragen für "
|
|
+ "DogFather einsammeln, eingreifen wenn es kippt. Am wichtigsten ist "
|
|
+ "nicht Härte, sondern Ruhe." },
|
|
{ art: "gesucht", titel: "Clips schneiden für DogFather Clips",
|
|
text: "Aus einem Stream werden Ausschnitte für den Clips-Kanal. Wer ein "
|
|
+ "Schnittprogramm aufbekommt und Geduld für die ersten drei Sekunden "
|
|
+ "hat, kann das — den Rest zeigt dir jemand." },
|
|
{ art: "gesucht", titel: "Community betreuen",
|
|
text: "Wer war lange nicht da, wer ist neu, wer hat etwas gefragt und "
|
|
+ "keine Antwort bekommen. Die Arbeit, die niemand sieht und alle "
|
|
+ "merken — und die DogFather während des Streams nicht selbst machen "
|
|
+ "kann." },
|
|
{ art: "gesucht", titel: "Technik",
|
|
text: "Ton, Bild, Verbindung, Geräte. Meistens unsichtbar — und sofort "
|
|
+ "sichtbar, wenn im Stream etwas hakt." },
|
|
|
|
{ art: "frage", titel: "Was habe ich davon?",
|
|
text: "Ehrlich: kein Geld. Du lernst etwas, das anderswo bezahlt wird, "
|
|
+ "du hast Leute um dich, mit denen du etwas aufbaust, und du "
|
|
+ "entscheidest mit, wie DogFathers Community aussieht. Wenn du auf "
|
|
+ "schnelles Geld aus bist, ist das hier nichts." },
|
|
{ art: "frage", titel: "Wie viel Zeit muss ich haben?",
|
|
text: "Zwei Stunden in der Woche reichen für den Anfang. Wichtiger als "
|
|
+ "viel ist verlässlich: Eine Schicht, auf die man sich verlassen "
|
|
+ "kann, ist mehr wert als fünf spontane." },
|
|
{ art: "frage", titel: "Muss ich mein Gesicht zeigen?",
|
|
text: "Nein. Die meisten in DogFathers Team moderieren mit Namen und "
|
|
+ "ohne Kamera." },
|
|
{ art: "frage", titel: "Ich bin unter 18 — geht das?",
|
|
text: "Für vieles ja, für manches nicht. Sag einfach dazu, wie alt du "
|
|
+ "bist, dann sagen wir dir, was geht. Ausschlüsse und Meldungen "
|
|
+ "entscheidet nie jemand allein." },
|
|
],
|
|
|
|
/* ===================================================================
|
|
ANSCHLAGBRETT — was gerade gilt
|
|
Wenige, große Aushänge.
|
|
=================================================================== */
|
|
anschlag: [
|
|
{ art: "ansage", titel: "Willkommen bei DogFather",
|
|
text: "Das hier ist der Raum neben dem Stream. Fragen an DogFather "
|
|
+ "stellen, Hallo sagen, Wünsche eintragen, eure Clips zeigen. Wer "
|
|
+ "neu ist: Fang im Rudel an, ein Satz reicht." },
|
|
{ art: "ansage", titel: "So läuft ein Stream bei DogFather ab",
|
|
text: "Es geht pünktlich los, und wenn es anders kommt, steht es "
|
|
+ "vorher hier unter „Was ansteht“. Während der Sendung liest jemand "
|
|
+ "aus dem Team im Chat mit — wenn du etwas wissen willst, frag "
|
|
+ "einfach." },
|
|
{ art: "hinweis", titel: "Die drei Kanäle",
|
|
text: "**DogFather** sind die Streams. **DogFather Clips** sind die "
|
|
+ "Ausschnitte daraus. **HasiDog** ist der zweite Account mit eigenem "
|
|
+ "Ton — nicht dasselbe noch einmal. Bei den Highlights steht dabei, "
|
|
+ "wo etwas herkommt." },
|
|
{ art: "hinweis", titel: "Wo was hingehört",
|
|
text: "Termine unter „Was ansteht“, Wünsche an DogFather in die "
|
|
+ "Wunschliste, Clips zu den Highlights, alles andere ins Rudel. "
|
|
+ "Wenn du unsicher bist: Rudel. Das Team sortiert es dann." },
|
|
{ art: "danke", titel: "Danke, dass ihr da seid",
|
|
text: "Ohne die Leute, die jede Woche wiederkommen, wäre das hier ein "
|
|
+ "leerer Raum mit guter Beleuchtung. Das ist keine Floskel — "
|
|
+ "DogFather sieht den Unterschied an jedem einzelnen Abend." },
|
|
],
|
|
|
|
/* ===================================================================
|
|
DER TREFF — Gesprächsanfänge
|
|
Fragen, auf die man in einem Satz antworten kann.
|
|
=================================================================== */
|
|
treff: [
|
|
{ art: "hallo", titel: "Sag Hallo — über welchen Kanal bist du gekommen?",
|
|
text: "Ein Satz reicht. Über DogFather, über die Clips, über HasiDog, "
|
|
+ "über jemanden, zufällig? Das interessiert DogFather wirklich — und "
|
|
+ "es hilft zu verstehen, wo seine Videos ankommen." },
|
|
{ art: "frage", titel: "Was soll DogFather im nächsten Stream unbedingt machen?",
|
|
text: "Schreib es hier hin oder — noch besser — trag es in die "
|
|
+ "Wunschliste ein. Dort sieht man, wie viele dasselbe wollen, und "
|
|
+ "danach wird sortiert." },
|
|
{ art: "frage", titel: "Welches Spiel soll DogFather mal ausprobieren?",
|
|
text: "Gern auch etwas, das nicht jeder kennt. Seine besten Abende waren "
|
|
+ "meistens die, bei denen vorher niemand wusste, was passiert." },
|
|
{ art: "lob", titel: "Was war dein bester DogFather-Moment bisher?",
|
|
text: "Irgendeine Szene, die dir hängengeblieben ist — aus einem Stream, "
|
|
+ "aus einem Clip, mit Casper. Wenn sich der Ausschnitt finden lässt, "
|
|
+ "landet er bei den Highlights." },
|
|
{ art: "frage", titel: "Wann seid ihr da? DogFather plant danach",
|
|
text: "Die Sendezeiten richten sich nach euch — aber dafür muss DogFather "
|
|
+ "wissen, wann ihr überhaupt könnt. Wochentags spät? Am Wochenende "
|
|
+ "früher?" },
|
|
{ art: "hallo", titel: "Wie schaust du DogFather?",
|
|
text: "Handy auf dem Sofa, drei Bildschirme, Fernseher in der Küche, "
|
|
+ "nebenbei bei der Arbeit? Erzähl kurz, wie du dabei bist." },
|
|
{ art: "frage", titel: "Was soll Casper mal machen?",
|
|
text: "Er taucht in den meisten Videos irgendwo auf. Wenn du eine Idee "
|
|
+ "hast, bei der er die Hauptrolle spielt — immer her damit." },
|
|
],
|
|
|
|
/* ===================================================================
|
|
WUNSCHLISTE — Beispiele, die zeigen, wie ein guter Wunsch aussieht
|
|
=================================================================== */
|
|
wunsch: [
|
|
{ art: "gemeinsam", titel: "Ein Abend, an dem DogFather mit euch zusammen zockt",
|
|
text: "Nicht er vorne und ihr im Chat, sondern zusammen in einer Runde. "
|
|
+ "Braucht Vorlauf, damit es nicht im Chaos endet — aber es steht seit "
|
|
+ "Langem ganz oben auf der Liste." },
|
|
{ art: "stream", titel: "Ein Stream, in dem DogFather eure Fragen beantwortet",
|
|
text: "Eine Sendung, in der es nur um eure Fragen geht — vorher "
|
|
+ "gesammelt, live beantwortet, auch die unangenehmen." },
|
|
{ art: "stream", titel: "Mehr mit Casper",
|
|
text: "Ein Stream oder eine Clip-Reihe, in der Casper nicht nur "
|
|
+ "nebenher durchs Bild läuft. Er ist für viele der Grund, warum sie "
|
|
+ "überhaupt hängengeblieben sind." },
|
|
{ art: "technik", titel: "Besserer Ton, wenn mehrere reden",
|
|
text: "Wenn DogFather und ein Gast gleichzeitig sprechen, versteht man "
|
|
+ "beide schlecht. Steht auf der Liste; wer sich mit Mischpulten "
|
|
+ "auskennt, meldet sich gern." },
|
|
{ art: "sonstiges", titel: "Wie ein guter Wunsch aussieht",
|
|
text: "Sag WAS du willst und WARUM. „Mehr Technik-Streams“ ist ein "
|
|
+ "Anfang, „Mehr Technik-Streams, weil ich beim Aufnehmen nicht "
|
|
+ "weiterkomme“ ist einer, mit dem DogFather etwas anfangen kann. "
|
|
+ "Und drück bei Wünschen anderer auf „Will ich auch“ — danach wird "
|
|
+ "sortiert." },
|
|
],
|
|
|
|
/* ===================================================================
|
|
HIGHLIGHTS — HIER GIBT ES KEINE FERTIGEN VORSCHLÄGE MEHR
|
|
(24.09.2026)
|
|
|
|
Filipe: „nimm die sachen da weg bitte. da sollen nur die sachen
|
|
rein kommen die die modis, linke und rechte hand oder dogfather
|
|
reinsetzen."
|
|
|
|
Hier standen drei Vorschläge („Was hier hingehört", „Fanart von
|
|
DogFather und Casper ist ausdrücklich erwünscht", „Ein Ausschnitt,
|
|
der auf die Clips soll"). Jemand hat sie übernommen, und danach
|
|
standen sie zwischen den echten Clips — mit Datum, mit Verfasser,
|
|
äußerlich nicht von einem echten Eintrag zu unterscheiden.
|
|
|
|
WARUM DAS BEI DIESEM BRETT ANDERS IST ALS BEI DEN ÜBRIGEN: Auf
|
|
den anderen Brettern ist ein Vorschlag eine ANREGUNG, die man
|
|
ausfüllt („Der nächste Stream mit DogFather" → Datum eintragen).
|
|
Highlights dagegen ist eine SAMMLUNG von echten Sachen — Clips,
|
|
Bilder, Fanart. Ein vorgefertigter Text ist dort kein Anfang,
|
|
sondern ein Platzhalter, der aussieht wie Inhalt. Die Erklärung,
|
|
was hierher gehört, steht ohnehin schon oben auf der Seite.
|
|
|
|
Der Bereich fehlt in dieser Liste jetzt ganz. Das genügt:
|
|
`STARTKATALOG[bereich] || []` liefert eine leere Liste, der
|
|
Block bleibt unsichtbar, und ein POST beantwortet sich mit 404.
|
|
Eine leere Liste hier stehen zu lassen wäre dasselbe Ergebnis mit
|
|
einer Zeile mehr, an der man sich fragt, wozu sie da ist.
|
|
|
|
Die anderen Bretter behalten ihre Vorschläge — dazu hat er
|
|
nichts gesagt, und dort tun sie das, wofür sie gedacht waren.
|
|
=================================================================== */
|
|
|
|
/* ===================================================================
|
|
WAS ANSTEHT — Vorlagen für Termine
|
|
=================================================================== */
|
|
ansteht: [
|
|
{ art: "stream", titel: "Der nächste Stream mit DogFather",
|
|
text: "Trag Datum und Uhrzeit ein — dann steht oben auf der Seite ein "
|
|
+ "Countdown, und alle sehen auf einen Blick, wann es losgeht." },
|
|
{ art: "event", titel: "Community-Abend mit DogFather",
|
|
text: "Ein Abend, an dem die Zuschauer mitspielen statt zuzusehen. "
|
|
+ "Schreib dazu, wie man mitmacht und wie viele Plätze es gibt." },
|
|
{ art: "turnier", titel: "Turnier",
|
|
text: "Mit Anmeldung, Regeln und einem Ende. Schreib dazu, bis wann man "
|
|
+ "sich melden kann — sonst fragen es fünfzehn Leute einzeln." },
|
|
{ art: "pause", titel: "Keine Sendung",
|
|
text: "Auch das gehört hier hin. Wer nicht weiß, dass DogFather heute "
|
|
+ "ausfällt, wartet umsonst — und kommt beim nächsten Mal vielleicht "
|
|
+ "nicht wieder." },
|
|
],
|
|
};
|
|
|
|
/** Wie viele Vorschläge gibt es je Bereich? Für die Oberfläche, damit
|
|
* sie den Knopf nur zeigt, wenn es etwas zu holen gibt. */
|
|
export function startZahlen() {
|
|
const aus = {};
|
|
for (const [bereich, liste] of Object.entries(TREFF_START)) aus[bereich] = liste.length;
|
|
return aus;
|
|
}
|