diff --git a/server/pruef-chat-optik.mjs b/server/pruef-chat-optik.mjs index 9764e164..24ceb6ea 100644 --- a/server/pruef-chat-optik.mjs +++ b/server/pruef-chat-optik.mjs @@ -591,6 +591,72 @@ melde("\n=== Man sieht, mit wem man schreibt ==="); await luna.ctx.close(); await pat.ctx.close(); +/* ======================================================================= + DAS SCHREIBFELD BLEIBT BREIT GENUG -- AUCH BEIM ANTWORTEN + ======================================================================= + + Filipes Bildschirmfoto vom 21.09.2026: Die Antwortleiste nimmt die + ganze Breite, und daneben steht ein Schreibfeld von der Breite eines + einzigen Buchstabens. Der Text laeuft senkrecht: "defi / niti / v / + hah / a". + + URSACHE: `.chat__eingabe` ist eine Reihe OHNE Umbruch, und die + Antwortleiste ist darin ein gleichberechtigtes Element. Das + Schreibfeld hatte `min-width: 0` -- also woertlich die Erlaubnis, + auf nichts zu schrumpfen. + + Das `margin-bottom` an der Leiste sagte seit jeher, dass sie + DARUEBER gehoert. Durchgesetzt wurde es nie. Wieder ein Fall von: + Die Absicht stand da, die Regel nicht. + + GEMESSEN WIRD AN DER SCHMALSTEN BREITE, die das Haus kennt -- wenn + es dort passt, passt es ueberall. + ======================================================================= */ +melde("\n=== Antworten quetscht das Schreibfeld nicht ==="); +{ + for (const breite of [320, 430]) { + const p2 = await alsRolle("admin", "CODE-DOGI-0001", "chat.html?raum=treff", breite); + try { + await p2.seite.waitForTimeout(900); + const mass = await p2.seite.evaluate(() => { + const l = document.getElementById("antwort-leiste"); + const t = document.getElementById("text"); + if (!l || !t) return null; + /* Die Leiste wird eingeblendet wie beim Antworten -- mit einem + langen Text, denn genau der hat sie breit gemacht. */ + l.hidden = false; + const von = document.getElementById("antwort-von"); + const txt = document.getElementById("antwort-text"); + if (von) von.textContent = "Diene"; + if (txt) { + txt.textContent = "Ohaaa, da bin ich voll dabei. Das waere ein " + + "Unterschied wie Tag und Nacht, wirklich jedes Mal wieder."; + } + const r = t.getBoundingClientRect(); + const rl = l.getBoundingClientRect(); + return { feld: Math.round(r.width), leiste: Math.round(rl.width), + fenster: window.innerWidth }; + }); + ok(!!mass, `${breite} px: Schreibfeld und Antwortleiste sind da`); + if (mass) { + /* 8rem = 128 px ist die Untergrenze aus der Stilvorlage. Ein + Feld darunter ist kein Schreibfeld mehr, sondern ein Spalt. */ + ok(mass.feld >= 128, + `${breite} px: das Schreibfeld ist ${mass.feld} px breit (mindestens 128)`); + /* UND DIE LEISTE HAT IHRE EIGENE ZEILE. Waere sie schmaler als + das Fenster, saesse sie wieder neben dem Feld -- dann waere + die Zeile darueber nur zufaellig gruen, weil der Text kurz + genug war. */ + ok(mass.leiste > mass.feld, + `${breite} px: die Antwortleiste nimmt die ganze Zeile ` + + `(${mass.leiste} gegen ${mass.feld} px)`); + } + } finally { + await p2.ctx.close(); + } + } +} + await browser.close(); try { rmSync(ordner, { recursive: true, force: true }); } catch { /* egal */ } diff --git a/workspace/anruf-probe.html b/workspace/anruf-probe.html index b460c072..2292549d 100644 --- a/workspace/anruf-probe.html +++ b/workspace/anruf-probe.html @@ -16,15 +16,15 @@ verdeckt. Gefunden hat es pruef-struktur. Richtig sind `gate.css` (die Farbwerte des Hauses) und `haus.css`. --> - - + + - +