DIENE: "Beim Kalender laesst sich die Art noch nicht einstellen, das
Menue ploppt nur ganz kurz auf und verschwindet direkt wieder. Das
selbe bei den Wiederholungen."
In wahl.js stand `addEventListener('resize', schliessen)`. Auf dem
Rechner ist das harmlos -- dort aendert sich die Fenstergroesse nur,
wenn jemand sie aendert. Auf einem Handy aendert sie sich BEIM
BEDIENEN: Die Adressleiste faehrt beim kleinsten Scrollen ein und
aus, die Tastatur kommt und geht, und jedes Mal feuert `resize`. Die
Liste ging auf, der Browser meldete eine neue Hoehe, und sie war
wieder zu.
Es ist derselbe Fehler wie am 04.09. beim Scrollen ("wenn ich da
scollen will geht das immer zu"), nur eine Zeile tiefer: Ein
Ereignis, das beim BEDIENEN entsteht, wird als Grund zum Abbrechen
genommen. Jetzt wird die Liste neu ausgerichtet statt geschlossen --
`stelle()` kann das ohnehin, und nach einer Groessenaenderung muss
sie es sowieso.
pruef-suchfeld 8 -> 15, an Dienes genauem Fall: Kalenderformular,
beide Felder, echte Groessenaenderung dazwischen. Gemessen wird nicht
nur "offen", sondern auch "sitzt noch am Knopf" (6 px) -- offen, aber
verrutscht waere nur die halbe Antwort. Gegenprobe: mit der alten
Zeile 4 Fehler.
----------------------------------------------------------------------
MISS: "Wenn ich auf den Chat gehen, komme ich zuerst auf die erste
neue Nachricht, aber kurze Zeit spaeter springt er auf die zuletzt
geschrieben Nachricht."
In chat.js stand `unten = true; neuUnten = 0;` AUSSERHALB von
`if (!sanft)` -- es lief also bei jedem Nachladen, auch beim sanften,
das staendig passiert (Strom verbindet, jemand heftet etwas an, eine
Nachricht kommt).
Solange die Neu-Linie steht, faellt das nicht auf: Der Zweig darueber
springt dorthin und kehrt zurueck, bevor `unten` gelesen wird. Die
zweite Haelfte ist `wache` -- sie loescht den Sprung-Merker beim
ersten FINGERTIPP auf den Verlauf, und das ist richtig so. Ab da ist
der Weg frei, und das naechste sanfte Nachladen findet `unten ===
true` vor und reisst die Ansicht ans Ende. Genau ihre "kurze Zeit
spaeter".
Ein sanftes Nachladen ist kein Oeffnen. Wo jemand steht, weiss ab
jetzt allein der Scroll-Horcher -- und der misst es, statt es
anzunehmen.
DREI FEHLVERSUCHE BIS ZUR MESSUNG, und sie gehoeren ins Protokoll:
Erst sechs Sekunden Nichtstun, dann ein Fingertipp auf Koordinaten,
dann ein Verbindungsabriss -- alle drei waren mit dem ALTEN Code
gruen. Eine Pruefung, die den Fehler nicht herstellt, misst nichts,
und ich haette sie beinahe als Beweis genommen. Was fehlte: Der Griff
muss den Verlauf WIRKLICH treffen (Koordinaten gehen daneben), und es
braucht einen echten sanften Nachlauf -- hier das Anheften, das ein
`pin`-Ereignis an alle im Raum schickt.
Erst damit flippt die Gegenprobe: ohne Korrektur 500 -> 7054 px und
`amEnde: true`, mit Korrektur bleibt es bei 500.
pruef-chat-neu-stelle 62 -> 69.
Unterwegs wieder entfernt: ein Merker `schonGesprungen`, den ich
zuerst eingebaut hatte. Nach der echten Korrektur ist er
unerreichbar, und ich konnte ihn mit keiner Messung zum Greifen
bringen. Ein Zweig, den nichts erreicht, sieht beim Lesen aus wie ein
Fall, den es gibt.
Gegengemessen: pruef-chat 80, pruef-chat-optik 84, pruef-freie-namen
32 -- 0 Fehler.
Co-Authored-By: Claude Opus 5 <[email protected]>
123 lines
5.4 KiB
HTML
123 lines
5.4 KiB
HTML
<!doctype html>
|
||
<html lang="de">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||
<title>Unterstützen · Spicy & Dogi</title>
|
||
<meta name="robots" content="noindex, nofollow" />
|
||
<link rel="manifest" href="/workspace/app.webmanifest" />
|
||
<meta name="theme-color" content="#06090f" />
|
||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610052240" />
|
||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610052240" />
|
||
<link rel="stylesheet" href="assets/css/gate.css?v=202610052240" />
|
||
<link rel="stylesheet" href="assets/css/start.css?v=202610052240" />
|
||
<link rel="stylesheet" href="assets/css/unterstuetzen.css?v=202610052240" />
|
||
<link rel="stylesheet" href="assets/css/module.css?v=202610052240" />
|
||
<link rel="stylesheet" href="assets/css/haus.css?v=202610052240" />
|
||
</head>
|
||
|
||
<body class="start">
|
||
|
||
<div class="schleier" aria-hidden="true"></div>
|
||
|
||
<header class="kopfleiste">
|
||
<button type="button" class="zurueck-knopf" id="zurueck" hidden>
|
||
<svg class="zurueck-knopf__pfeil" viewBox="0 0 24 24" aria-hidden="true">
|
||
<path d="M14.5 5.5 8 12l6.5 6.5" />
|
||
</svg>
|
||
<span class="zurueck-knopf__text">Zurück</span>
|
||
</button>
|
||
<p class="marke"><span class="marke__text"><a class="zurueck" href="start.html">Creator Workspace</a> · Unterstützen</span></p>
|
||
<div class="kopfleiste__rechts">
|
||
<span class="wer" id="wer">…</span>
|
||
<button type="button" class="abmelden" id="abmelden">Abmelden</button>
|
||
</div>
|
||
</header>
|
||
|
||
<main class="inhalt inhalt--breit">
|
||
|
||
<!-- ==================================================================
|
||
DER KOPF SAGT ZUERST, DASS NIEMAND MUSS (24.09.2026)
|
||
|
||
Filipe: „wo die leute alle supporten können auf andere art
|
||
anstatt nur tiktok."
|
||
|
||
Eine Seite, die mit „unterstütze mich" anfängt, liest sich wie
|
||
eine hohle Hand. Der erste Satz sagt deshalb das Gegenteil: Es
|
||
gibt Wege, die nichts kosten, und keiner davon ist zweite Wahl.
|
||
Erst danach kommen die, bei denen Geld fließt.
|
||
|
||
Wer nichts geben kann, soll diese Seite nicht mit einem
|
||
schlechten Gefühl schließen — das ist die ganze Überlegung
|
||
hinter dem Aufbau.
|
||
============================================================== -->
|
||
<section class="kopf-zeile">
|
||
<div>
|
||
<p class="marke">Community</p>
|
||
<h1 class="titel" id="seiten-titel">Dogi etwas zurückgeben</h1>
|
||
<p class="unterzeile" id="seiten-unter">
|
||
Es geht auch ohne TikTok – und es geht auch ohne Geld.
|
||
Such dir aus, was zu dir passt. Niemand muss etwas geben, um dazuzugehören.
|
||
</p>
|
||
</div>
|
||
</section>
|
||
|
||
<p class="fehler" id="fehler" role="alert" aria-live="polite" hidden></p>
|
||
|
||
<!-- ==================================================================
|
||
NUR DOGFATHER: die Leiste zum Ändern und die Zahlen
|
||
|
||
„nur dogfather soll sie verändern können oder vieles mehr sehen."
|
||
|
||
Sie steht im Dokument und wird von unterstuetzen.js eingeblendet
|
||
— ausgeliefert bekommt sie jeder, das ist nur HTML. Die
|
||
ENTSCHEIDUNG trifft der Server: Er liefert `darf_aendern` und
|
||
weist jedes Schreiben ohne dieses Recht mit 404 ab. Ein
|
||
verstecktes Feld ist eine Bitte, keine Sperre.
|
||
============================================================== -->
|
||
<section class="u-leitung" id="leitung" hidden aria-labelledby="leitung-titel">
|
||
<div class="u-leitung__kopf">
|
||
<h2 class="u-leitung__titel" id="leitung-titel">Nur du siehst das hier</h2>
|
||
<button type="button" class="knopf knopf--klein" id="aendern-an">Ändern</button>
|
||
</div>
|
||
<p class="u-leitung__satz" id="leitung-satz"></p>
|
||
<div class="u-zahlen" id="zahlen" hidden></div>
|
||
</section>
|
||
|
||
<!-- Die Wege. unterstuetzen.js baut sie aus der Antwort des Servers —
|
||
hier steht nur, wo sie hingehören. -->
|
||
<div id="wege" aria-live="polite">
|
||
<p class="u-laedt" id="laedt">Wird geladen …</p>
|
||
</div>
|
||
|
||
<!-- ==================================================================
|
||
DER LETZTE SATZ IST KEIN SCHMUCK
|
||
|
||
Er steht fest im Dokument und nicht in der Datenbank: Was hier
|
||
zugesagt wird, soll nicht aus Versehen wegzuklicken sein.
|
||
============================================================== -->
|
||
<p class="u-fuss">
|
||
Nichts davon ist Pflicht, und niemand sieht, wer etwas gegeben hat.
|
||
Wer nur zuschaut, gehört genauso dazu.
|
||
</p>
|
||
|
||
</main>
|
||
|
||
<!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js
|
||
liest daraus die Leitungsrollen. Ohne sie stürzt jede Seite mit
|
||
„Cannot read properties of undefined (reading 'LEITUNG')" ab. -->
|
||
<script src="assets/js/bereiche.js?v=202610052240" defer></script>
|
||
<script src="assets/js/wahl.js?v=202610052240" defer></script>
|
||
<script src="assets/js/nachfrage.js?v=202610052240" defer></script>
|
||
<script src="assets/js/installieren.js?v=202610052240" defer></script>
|
||
<script src="assets/js/kopf.js?v=202610052240" defer></script>
|
||
<script src="assets/js/glocke.js?v=202610052240" defer></script>
|
||
<script src="assets/js/holen.js?v=202610052240" defer></script>
|
||
<!-- Die Satz-Tafel. Ohne sie stand auf dieser Seite das Maschinenwort
|
||
des Servers (z.B. "nicht_gefunden") statt eines Satzes -- gemeldet
|
||
von pruef-meldungen, nicht beim Ansehen. -->
|
||
<script src="assets/js/meldung.js?v=202610052240" defer></script>
|
||
<script src="assets/js/unterstuetzen.js?v=202610052240" defer></script>
|
||
</body>
|
||
</html>
|