/* ===================================================================== VORLAGEN FÜR DIE COMMUNITY (18.09.2026) Filipe: „ich will auch dass du fertige und beispiele machst für die community damit die auch start hilfe haben überall." --------------------------------------------------------------------- DAS IST NICHT DER STARTKATALOG Den gibt es seit dem 17.09. — und er ist für das TEAM: fertige Beiträge, die jemand aus dem Team übernimmt, damit kein Brett leer dasteht. Ein Mitglied bekommt ihn nie zu sehen (`darfSchreiben` entscheidet), und das ist richtig: Es sind Ansagen des Teams. Hier geht es um das andere Ende. Ein Mitglied steht vor einem leeren Feld und weiß nicht, was hineingehört — und schreibt deshalb gar nichts. Das ist der häufigste Grund, warum ein Brett still bleibt, obwohl viele mitlesen. --------------------------------------------------------------------- WARUM DIE TEXTE LÜCKEN HABEN Eine Vorlage, die man absenden KANN, wird abgesendet. Dann stehen dort zehnmal dieselben Sätze, und der elfte Mensch merkt, dass hier niemand wirklich schreibt. Jede Vorlage hat deshalb mindestens eine Stelle, die nur der Schreibende füllen kann — meist mit „…" markiert. Wer sie stehen lässt, merkt es beim Lesen, bevor er auf Absenden drückt. --------------------------------------------------------------------- UND WARUM NUR VIER BRETTER Auf `anschlag`, `ansteht` und `regeln` schreibt die Community nicht. Vorlagen dort wären ein Angebot für eine Tür, die zu ist. ===================================================================== */ /** @typedef {{art: string, titel: string, text: string}} Vorlage */ /** Vorlagen je Brett. Die `art` muss zu den Arten des Bretts passen — * `pruef-vorlagen.mjs` misst das, damit hier keine Art steht, die es * nicht gibt: Eine Vorlage mit unbekannter Art landet beim Absenden * in der ersten Art der Liste, und niemand merkt es. */ export const TREFF_VORLAGEN = { treff: [ { art: "hallo", titel: "Hallo, ich bin neu hier", text: "Ich schaue seit … und bin über … hergekommen. " + "Am liebsten mag ich … an den Streams.", }, { art: "frage", titel: "Frage zu …", text: "Mir ist aufgefallen, dass … Weiß jemand, wie das gemeint ist?", }, { art: "lob", titel: "Der Moment mit … war stark", text: "Im Stream vom … ging es um … — das ist mir hängengeblieben, weil …", }, { art: "problem", titel: "Etwas stimmt nicht: …", text: "Was passiert ist: … Wann: … " + "Ich schreibe es hier, weil es mir wichtig ist, dass es aufhört.", }, ], wunsch: [ { art: "stream", titel: "Ich wünsche mir … im Stream", text: "Was: … Warum: … " + "Für mich wäre das gut, weil …", }, { art: "gemeinsam", titel: "Etwas, das wir zusammen machen könnten", text: "Meine Idee: … Dafür bräuchte es … " + "Ich wäre auf jeden Fall dabei.", }, { art: "technik", titel: "Eine Kleinigkeit an der Technik", text: "Mir fällt auf, dass … Bei mir ist es … " + "(Gerät, Browser oder App: …)", }, ], highlight: [ { art: "moment", titel: "Der Moment, als …", text: "Wann: … Was passiert ist: … " + "Ich musste danach noch eine Weile lachen.", }, { art: "fanart", titel: "Ich habe etwas gemalt", text: "Gemacht mit … Gedauert hat es … " + "Wer es weiterverwenden will: bitte mit Namen.", }, ], mitmachen: [ { art: "lust", titel: "Ich hätte Lust bei … mitzumachen", text: "Das kann ich schon: … Zeit hätte ich … " + "Erfahrung habe ich damit … (auch ohne ist es eine Antwort).", }, { art: "frage", titel: "Frage dazu: …", text: "Bevor ich mich melde, würde ich gern wissen, ob …", }, ], }; /** Alle Bretter, für die es Vorlagen gibt. */ export const VORLAGEN_BRETTER = Object.keys(TREFF_VORLAGEN); /** Die Vorlagen eines Bretts — oder eine leere Liste. * * Als Funktion und nicht als direkter Zugriff, damit an einer Stelle * entschieden ist, was bei einem unbekannten Brett passiert: eine * leere Liste, kein `undefined`. Ein `undefined` hier wäre ein * Absturz dort, wo jemand `.length` liest. */ export function vorlagenFuer(bereich) { return TREFF_VORLAGEN[String(bereich)] || []; }