Community: Starthilfe beim Schreiben -- und vier Funde aus den Bildern
Filipe: "perfektioniere jede einzelne kategorie der community ... ich will auch dass du fertige und beispiele machst fuer die community damit die auch start hilfe haben ueberall." STARTHILFE: Wer zum ersten Mal schreibt, steht vor einem leeren Feld -- der haeufigste Grund, warum ein Brett still bleibt, obwohl viele mitlesen. Im Formular stehen jetzt Beispiele: ein Klick fuellt Art, Ueberschrift und Text. Auf treff, wunsch, highlight und mitmachen -- nicht auf anschlag, ansteht, regeln, denn dort schreibt die Community nicht, und ein Angebot fuer eine verschlossene Tuer ist keins. JEDE VORLAGE HAT LUECKEN. Eine, die man absenden KANN, wird abgesendet; dann steht dort zehnmal derselbe Satz, und der elfte Mensch merkt, dass hier niemand wirklich schreibt. Die Pruefung misst das: keine Vorlage ohne "…". NICHT ZU VERWECHSELN MIT DEM STARTKATALOG. Der ist fuers Team (fertige Beitraege zum Uebernehmen), das hier fuer die Mitglieder. --- Vier Funde, drei davon nur aus dem Bild ------------------------- 1. ZWEI KNOPFREIHEN MIT DENSELBEN WOERTERN. Auf "Regeln & Hilfe" standen "Regel · Haeufige Frage · Hilfe · Was passiert, wenn" zweimal untereinander -- die eine filterte, die andere sprang zur Ueberschrift, und beide sahen gleich aus. Wo nach Art gegliedert wird, entfaellt jetzt der Filter; die Sprungmarken sind Links geworden, mit "Springe zu" davor und der Anzahl dahinter. 2. "MELDEN" UNTER JEDER REGEL. Siebzehn Melden-Knoepfe unter Texten des Teams -- man meldet keine Regel. Steht jetzt nur noch an Beitraegen von Mitgliedern. Die Gegenprobe im Messwerkzeug legt dafuer eigens einen Beitrag eines zweiten Mitglieds an: Ohne ihn saehe ein abgeschaffter Meldeweg genauso aus wie ein funktionierender. 3. DER HINWEIS LAG AUF DER NAECHSTEN BESCHRIFTUNG. Auf 412 px stand "Gehoert allen hier - wer Der Treff sieht ..." quer ueber "UEBERSCHRIFT". Der Hinweis haengt absolut unter dem Feld, und darunter sind 30 px Luft -- genug fuer EINE Zeile. Unter 560 px steht ohnehin nur ein Feld je Zeile; dort gibt es nichts auszurichten, und er darf einfach im Fluss stehen. 4. UND MEIN EIGENER FEHLER, der alles unsichtbar machte: `vorlagen` gab es hier schon -- als Checkliste fuer Creator, mit demselben Behaelter `#vorlagen`. Die spaetere Funktionsdeklaration gewinnt, zwei Elemente trugen dieselbe Kennung, und die Starthilfe erschien NIE. Keine Fehlermeldung, keine rote Pruefung, nichts in der Konsole. Gefunden nur durch einen Blick auf das Bild. Deshalb prueft pruef-vorlagen jetzt im Browser mit, dass keine Kennung doppelt vorkommt -- derselbe Fehler wie am 17.09. mit `.teilen`, und beim naechsten Mal soll ihn nicht der Zufall finden. Nebenbei messbar: "Regeln & Hilfe" ist von 4569 auf 3623 px geschrumpft, die Karten sind 54 px niedriger. Geprueft: pruef-vorlagen (neu, 24), pruef-video unveraendert 67. Gegenproben: unbekannte Art -> rot; Vorlage ohne Luecke -> rot. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -65,6 +65,11 @@ kind.kill();
|
||||
await new Promise((r) => setTimeout(r, 600));
|
||||
personAnlegen("Filipe", "admin", "CODE-DOGI-0001");
|
||||
personAnlegen("Mara", "gast", "CODE-GAST-0001");
|
||||
/* Ein ZWEITES Mitglied. Den eigenen Beitrag meldet niemand -- er
|
||||
laesst sich loeschen, das ist der kuerzere Weg. Ohne dieses zweite
|
||||
Konto misst die Gegenprobe unten also nicht den Meldeweg, sondern
|
||||
diese Regel. */
|
||||
personAnlegen("Jonas", "gast", "CODE-GAST-0002");
|
||||
await start();
|
||||
|
||||
/** Meldet an -- mit Host-Kopfzeile, weil die Rolle davon abhaengt.
|
||||
@@ -117,6 +122,32 @@ for (const b of BRETTER) {
|
||||
console.log(` ${b.padEnd(11)} ${a.status} ${r.angelegt ?? r.anzahl ?? ""}`);
|
||||
}
|
||||
|
||||
/* ---- EIN BEITRAG VON EINEM MITGLIED --------------------------------
|
||||
|
||||
GEGENPROBE ZUM MELDEWEG. „melden" steht seit dem 18.09.2026 nicht
|
||||
mehr unter Beitraegen des Teams -- unter einer Regel ergab der Knopf
|
||||
keinen Sinn. Die Gefahr dabei: dass er dadurch auch dort
|
||||
verschwindet, wo er gebraucht wird.
|
||||
|
||||
Deshalb bekommt der Treff hier einen Beitrag, der von einem
|
||||
MITGLIED stammt. Unter ihm muss der Knopf stehen. Ohne diesen
|
||||
Eintrag saehe eine abgeschaffte Meldefunktion genauso aus wie eine
|
||||
funktionierende: Im Test schreibt sonst nur das Team.
|
||||
|
||||
Direkt in die Datenbank und nicht ueber die Schnittstelle: Ein
|
||||
frisches Mitglied darf sieben Tage lang nicht schreiben, und diese
|
||||
Regel soll gelten bleiben. */
|
||||
{
|
||||
const d = new DatabaseSync(DB);
|
||||
const wer = d.prepare("SELECT id FROM personen WHERE rolle = 'gast' AND name = 'Jonas'").get();
|
||||
d.prepare(`INSERT INTO eintraege (bereich, art, titel, text, datum, status, erstellt, erstellt_von)
|
||||
VALUES ('treff','frage',?,?,?, 'offen', ?, ?)`)
|
||||
.run("Kommt Casper auch mal in den Stream?",
|
||||
"Ich schaue meistens abends und habe ihn noch nie live gesehen.",
|
||||
new Date().toISOString().slice(0, 10), new Date().toISOString(), wer.id);
|
||||
d.close();
|
||||
}
|
||||
|
||||
/* ---- Und jetzt als Mitglied hinsehen ------------------------------ */
|
||||
const pw = await import("file:///C:/Users/qciga/Documents/Obelix/Analyse/node_modules/playwright/index.mjs");
|
||||
/* DIE ECHTE ADRESSE, nicht 127.0.0.1.
|
||||
@@ -170,6 +201,9 @@ for (const b of BRETTER) {
|
||||
arten: [...new Set([...document.querySelectorAll('.eintrag-art, .art')].map((e) => e.textContent.trim()))].length,
|
||||
knoepfeJeKarte: document.querySelector('.eintrag-karte')
|
||||
? document.querySelector('.eintrag-karte').querySelectorAll('button, a.schritt').length : 0,
|
||||
/* Steht „melden" dort, wo es hingehoert -- und nur dort? */
|
||||
meldenGesamt: [...document.querySelectorAll('.eintrag-karte button')]
|
||||
.filter((b) => b.textContent.trim() === 'melden').length,
|
||||
schreibfeld: !!document.querySelector('#neu-form, .neu-form, form#neu'),
|
||||
hoeheJeKarte: document.querySelector('.eintrag-karte')
|
||||
? Math.round(document.querySelector('.eintrag-karte').getBoundingClientRect().height) : 0,
|
||||
@@ -181,7 +215,7 @@ for (const b of BRETTER) {
|
||||
}));
|
||||
console.log(`${b.padEnd(11)} „${z.titel}" · ${z.karten} Karten`
|
||||
+ ` · Schreibfeld: ${z.schreibfeld ? "ja" : "NEIN"}`
|
||||
+ ` · Arten: ${z.arten} · Karte ${z.hoeheJeKarte}px/${z.knoepfeJeKarte} Knöpfe`
|
||||
+ ` · Karte ${z.hoeheJeKarte}px · melden: ${z.meldenGesamt}`
|
||||
+ (z.sternchen ? ` · STERNCHEN: ${z.sternchen}` : "")
|
||||
+ (z.leerText ? ` · „${z.leerText}"` : ""));
|
||||
const pfad = `C:/Users/qciga/AppData/Local/Temp/comm-${b}${BREITE < 700 ? "-handy" : ""}.png`;
|
||||
|
||||
Reference in New Issue
Block a user