`pruef-nachfrage` und `pruef-call-kategorien` standen seit dem 28.09. rot und waren als „nicht angesehen" vermerkt. Nachgemessen sind es drei echte Befunde und eine Zeitbombe. ===================================================================== 1. FALSCHE FELDNAMEN -- die Erklaerung erschien NIE ===================================================================== Der Hausdialog kennt `was:` und `ja:`. An vier Stellen in `reaktion.js` stand `text:` und `knopf:`. Beides wird stillschweigend ignoriert. Wer „Sendung beenden?" las, bekam den Titel und zwei Knoepfe -- genau die Frage, die `confirm()` stellt und derentwegen `nachfrage.js` ueberhaupt gebaut wurde. Es stuerzt nichts ab, es fehlt nur; so etwas findet keine Syntaxpruefung und kein Blick auf den Bildschirm, wenn man den Satz nicht vermisst. Alle vier tragen jetzt `was` UND `bleibt`. Beim Beenden steht dabei das, was seit heute frueh dazugekommen ist: dass Titel, Video, Vorschaubild, Beginn und das zweite Video geleert werden -- wer das nicht weiss, traegt danach alles noch einmal ein und haelt es fuer einen Fehler. ===================================================================== 2. `window.frageNachText` GIBT ES NICHT ===================================================================== Nur EINE Zeile im ganzen Haus nennt es; gesetzt hat es niemand. Die Abfrage „Wie viele Dogen waren es?" lief damit IMMER ueber den nackten `prompt()` -- ausgerechnet die, die am haeufigsten vorkommt. Der Hausdialog kann das laengst besser: `zahl:` ist ein Zahlenfeld mit Obergrenze und eigener Fehlerzeile. ===================================================================== 3. DER DOPPELTE NOTNAGEL WAR TOTER CODE ===================================================================== `window.frageNach ? await frageNach(...) : confirm(...)` -- der Notnagel fuer Browser ohne <dialog> steckt schon IN `nachfrage.js`, und zwar mit DEMSELBEN Text. Meiner daneben zeigte im Ernstfall WENIGER und im Normalfall nie etwas. Im Notizblock stand sogar der nackte `window.confirm()`, ganz ohne Hausdialog. Er fragt „bist du sicher"; der Hausdialog sagt, was passiert und was bleibt. Beim endgueltigen Loeschen ist das `bleibt` der halbe Grund fuer die Rueckfrage: Der Papierkorb ist der Ort, an dem man etwas wiederfindet. ===================================================================== 4. EINE ZEITBOMBE IN pruef-call-kategorien ===================================================================== Sie legte eine Wiederholung „in vier Tagen" an -- im Quelltext stand woertlich „also mit grosser Wahrscheinlichkeit dieser Monat". Heute ist der 30.; vier Tage spaeter ist Oktober. Der Server verlangt kuenftig UND im laufenden Monat, und am Monatsende gibt es beides zusammen nicht. DIE ANWENDUNG HATTE RECHT. Dieselbe Art wie bei `pruef-kalender` am 29.09. Die nahe Auspraegung wird jetzt GERECHNET (letzter Tag des Monats, 23:59) statt gehofft -- plus ein benannter dritter Ausgang fuer die eine Minute im Monat, in der es keinen kuenftigen Termin mehr in diesem Monat gibt. Die drei anderen Aussagen werden auch dann geprueft; ein Ausstieg, der gar nichts mehr misst, waere ein stiller Aussetzer. Gemessen: pruef-nachfrage 53/0 (war 51/2), pruef-call-kategorien 22/0 (war 21/1), pruef-notizen 79/0, pruef-reaktion 407/0, mess-reaktion 0/0, pruef-css-klassen 37/0, pruef-struktur 44/0. Co-Authored-By: Claude Opus 5 <[email protected]>
88 lines
4.0 KiB
HTML
88 lines
4.0 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>Willkommen · Team Dogi</title>
|
|
<meta name="robots" content="noindex, nofollow" />
|
|
<!-- app.webmanifest, NICHT crew.webmanifest -- die Adresse biegt es um.
|
|
Der Server ersetzt den Pfad auf crew. an EINER Stelle
|
|
(crew-adresse.js). Wer hier das Crew-Manifest direkt nennt,
|
|
macht daraus eine zweite Stelle, die beim naechsten Umbau
|
|
vergessen wird. -->
|
|
<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=202609301110" />
|
|
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609301110" />
|
|
<link rel="stylesheet" href="assets/css/gate.css?v=202609301110" />
|
|
<link rel="stylesheet" href="assets/css/start.css?v=202609301110" />
|
|
<link rel="stylesheet" href="assets/css/willkommen.css?v=202609301110" />
|
|
<link rel="stylesheet" href="assets/css/module.css?v=202609301110" />
|
|
<link rel="stylesheet" href="assets/css/haus.css?v=202609301110" />
|
|
</head>
|
|
<!-- KOERPERKLASSE "start", NICHT "gate" (berichtigt 21.09.2026).
|
|
`body.gate` ist die Anmeldewand: `display:flex; align-items:center`,
|
|
gedacht fuer EINE zentrierte Karte. Damit standen Kopfleiste und
|
|
Inhalt NEBENEINANDER -- am Handy blieben dem Text 260 von 390
|
|
Pixeln, am Rechner klebte alles am rechten Rand. Gesehen hat das
|
|
kein gruener Haken, sondern das Bildschirmfoto. -->
|
|
<body class="start" data-ton="34" data-buehne="lounge">
|
|
|
|
<div class="schleier" aria-hidden="true"></div>
|
|
|
|
<header class="kopfleiste">
|
|
<button type="button" class="zurueck-knopf" id="zurueck">
|
|
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M15 5l-7 7 7 7"/></svg>
|
|
<span class="zurueck-knopf__text">Übersicht</span>
|
|
</button>
|
|
<p class="marke"><span class="marke__text"><a class="zurueck" href="start.html">Team Dogi</a> · Willkommen</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" id="haupt" aria-busy="true">
|
|
|
|
<!-- DIE BEGRÜSSUNG.
|
|
|
|
Der Name steht NICHT im HTML, sondern kommt vom Server -- eine
|
|
Seite, die jeder herunterlädt, soll keinen fremden Namen
|
|
enthalten. Bis er da ist, steht hier ein Satz, der auch ohne
|
|
Namen stimmt: "Willkommen!" ist nie falsch. -->
|
|
<section class="w-gruss">
|
|
<h1 class="w-gruss__titel" id="gruss">Willkommen!</h1>
|
|
<p class="w-gruss__rolle" id="rollentext" hidden></p>
|
|
<p class="w-gruss__was" id="einleitung-was"></p>
|
|
<p class="w-gruss__dazu" id="einleitung-dazu"></p>
|
|
</section>
|
|
|
|
<!-- Die Hinweise, die zur Rolle gehören und zu keiner Kachel. -->
|
|
<section class="w-hinweise" id="hinweise" hidden></section>
|
|
|
|
<!-- DIE KACHELN, ERKLÄRT. Sie werden aus derselben Liste gebaut wie
|
|
die Startseite -- deshalb steht hier nur der leere Behälter. -->
|
|
<section class="w-bereiche">
|
|
<h2 class="w-bereiche__titel">Was es hier gibt</h2>
|
|
<p class="w-bereiche__satz" id="bereiche-satz">
|
|
Jede Kachel, die für dich freigeschaltet ist — und wofür sie da ist.
|
|
Tipp eine an, um hinzugehen.
|
|
</p>
|
|
<div id="gruppen"></div>
|
|
</section>
|
|
|
|
<p class="w-laedt" id="laedt">Einen Moment …</p>
|
|
<p class="fehler" id="fehler" hidden></p>
|
|
</main>
|
|
|
|
<script src="assets/js/meldung.js?v=202609301110" defer></script>
|
|
<script src="assets/js/bereiche.js?v=202609301110" defer></script>
|
|
<script src="assets/js/wahl.js?v=202609301110" defer></script>
|
|
<script src="assets/js/nachfrage.js?v=202609301110" defer></script>
|
|
<script src="assets/js/installieren.js?v=202609301110" defer></script>
|
|
<script src="assets/js/kopf.js?v=202609301110" defer></script>
|
|
<script src="assets/js/glocke.js?v=202609301110" defer></script>
|
|
<script src="assets/js/willkommen.js?v=202609301110" defer></script>
|
|
</body>
|
|
</html>
|