From a6b37909ca841e3de22349c0ad3b5893a10ab79b Mon Sep 17 00:00:00 2001 From: Dogfather Date: Tue, 29 Sep 2026 13:18:42 +0200 Subject: [PATCH] Die Transportleiste steht am Handy in einer Reihe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Auf dem Bildschirmfoto nach dem Umbau lagen der runde Play-Knopf und seine Nachbarn uebereinander. `pruef-handy` meldete das nicht: Sie fragt, ob die MITTE eines Knopfes frei ist -- zwei Knoepfe koennen sich an den Raendern ueberlagern und beide „erreichbar" sein. Wer danebentippt, trifft trotzdem den falschen. GEMESSEN (neue Stelle in mess-reaktion, die jedes Knopfpaar der Leiste auf Ueberschneidung prueft): tempo-auf / v-spiel 21 x 44 px v-spiel / v-tauschen 21 x 38 px URSACHE: `grid-template-columns: auto 1fr auto`. Tempo links und „Wechseln zu " rechts nahmen so viel, dass die mittlere Spalte schmaler wurde als der 58 Pixel breite Play-Knopf -- und ein zentrierter Inhalt, der breiter ist als seine Spalte, ragt ueber BEIDE Raender. Jetzt `minmax(0, auto) max-content minmax(0, auto)`: Die Mitte ist so breit wie ihre drei Knoepfe zusammen und schrumpft nie, die Seiten geben nach. `min-content` war dabei die falsche Zwischenstufe -- damit war die Spalte so breit wie ihr BREITESTER Knopf, und „−10" und „+10" brachen darunter um. GEPRUEFT: pruef-handy, -tippziele, -css-klassen, -reaktion und mess-quer alle EXIT 0; mess-reaktion meldet „Kein Knopf der Transportleiste liegt ueber einem anderen" und 133 Pixel sichtbares Bild. --- server/mess-reaktion.mjs | 31 ++++++++++++++++++++++ workspace/anruf-probe.html | 10 +++---- workspace/app.webmanifest | 8 +++--- workspace/assets/css/reaktion.css | 19 ++++++++++++- workspace/aufgaben.html | 38 +++++++++++++------------- workspace/automation.html | 32 +++++++++++----------- workspace/befinden.html | 34 ++++++++++++------------ workspace/bereich.html | 44 +++++++++++++++---------------- workspace/bewerben.html | 38 +++++++++++++------------- workspace/bewerbungen.html | 36 ++++++++++++------------- workspace/buehne.html | 2 +- workspace/calls.html | 34 ++++++++++++------------ workspace/chat.html | 40 ++++++++++++++-------------- workspace/content.html | 34 ++++++++++++------------ workspace/crew-index.html | 12 ++++----- workspace/crew.webmanifest | 8 +++--- workspace/dateien.html | 34 ++++++++++++------------ workspace/entwicklung.html | 36 ++++++++++++------------- workspace/hilfe.html | 30 ++++++++++----------- workspace/index.html | 10 +++---- workspace/kalender.html | 34 ++++++++++++------------ workspace/leistung.html | 32 +++++++++++----------- workspace/material.html | 32 +++++++++++----------- workspace/notizen.html | 28 ++++++++++---------- workspace/personen.html | 32 +++++++++++----------- workspace/profil.html | 36 ++++++++++++------------- workspace/reaktion.html | 34 ++++++++++++------------ workspace/rechte.html | 34 ++++++++++++------------ workspace/report.html | 36 ++++++++++++------------- workspace/scouting.html | 32 +++++++++++----------- workspace/start.html | 32 +++++++++++----------- workspace/startcheck.html | 34 ++++++++++++------------ workspace/steckbrief.html | 36 ++++++++++++------------- workspace/support.html | 28 ++++++++++---------- workspace/tafel.html | 6 ++--- workspace/talente.html | 36 ++++++++++++------------- workspace/team.html | 32 +++++++++++----------- workspace/teamlage.html | 34 ++++++++++++------------ workspace/teilen.html | 30 ++++++++++----------- workspace/treff-moderation.html | 32 +++++++++++----------- workspace/treff-regeln.html | 32 +++++++++++----------- workspace/uebersicht.html | 32 +++++++++++----------- workspace/unsere-seiten.html | 30 ++++++++++----------- workspace/unterstuetzen.html | 32 +++++++++++----------- workspace/werdegang.html | 32 +++++++++++----------- workspace/willkommen.html | 30 ++++++++++----------- workspace/wissen.html | 34 ++++++++++++------------ 47 files changed, 715 insertions(+), 667 deletions(-) diff --git a/server/mess-reaktion.mjs b/server/mess-reaktion.mjs index 4bfb3400..50967082 100644 --- a/server/mess-reaktion.mjs +++ b/server/mess-reaktion.mjs @@ -2472,6 +2472,37 @@ await zuschauer.kontext.close(); console.log(` Handy offen: Saal ${platzHandy.saal} = Leiste ${platzHandy.leiste} ` + `+ Kino ${platzHandy.kino} + Regie ${platzHandy.pult}`); console.log(` Handy Zeilen: ${platzHandy.alle}`); + /* UEBERLAPPEN SICH DIE KNOEPFE DER LEISTE? + `pruef-handy` fragt nur, ob die MITTE eines Knopfes frei ist + -- zwei Knoepfe koennen sich an den Raendern ueberlagern und + trotzdem beide „erreichbar" sein. Auf dem Bildschirmfoto + sieht das aus wie ein Fehler, und wer danebentippt, trifft + den falschen. */ + const gedraengt = await chef.seite.evaluate(() => { + const knoepfe = [...document.querySelectorAll(".transport button, .transport input")] + .map((e) => ({ e, r: e.getBoundingClientRect() })) + .filter((x) => x.r.width > 0 && x.r.height > 0); + const raus = []; + for (let i = 0; i < knoepfe.length; i++) { + for (let j = i + 1; j < knoepfe.length; j++) { + const a = knoepfe[i].r, b = knoepfe[j].r; + const ueber = Math.min(a.right, b.right) - Math.max(a.left, b.left); + const hoch = Math.min(a.bottom, b.bottom) - Math.max(a.top, b.top); + if (ueber > 1 && hoch > 1) { + const n = (x) => x.e.id || x.e.className.split(" ")[0] || x.e.tagName; + raus.push(`${n(knoepfe[i])} / ${n(knoepfe[j])} (${Math.round(ueber)}x${Math.round(hoch)} px)`); + } + } + } + return raus; + }); + if (gedraengt.length) { + console.log(` ACHTUNG: ${gedraengt.length} Knopfpaar(e) in der Leiste ` + + `ueberlappen sich: ${gedraengt.slice(0, 4).join(", ")}`); + ausgang = 1; + } else { + console.log(" Kein Knopf der Transportleiste liegt ueber einem anderen."); + } const spur = await chef.seite.evaluate(() => { const saal = document.getElementById("saal"); const r = saal.getBoundingClientRect(); diff --git a/workspace/anruf-probe.html b/workspace/anruf-probe.html index 487a394a..d543f3da 100644 --- a/workspace/anruf-probe.html +++ b/workspace/anruf-probe.html @@ -16,8 +16,8 @@ verdeckt. Gefunden hat es pruef-struktur. Richtig sind `gate.css` (die Farbwerte des Hauses) und `haus.css`. --> - - + + - +