VanVan im Support, Meldung #5, zweite Runde: „Man kann sich jetzt nur noch über die richtige Schaltfläche anmelden. Das funktioniert jetzt. Aber wenn man sich 2x versucht über den falschen Button anzumelden, dann kommt ein irreführender Text wo steht, dass die Auswahl oben nicht schuld ist." SIE HAT RECHT -- UND DER GRUND IST MEINE EIGENE AENDERUNG Auf der Crew-Wand stand ab dem zweiten Fehlversuch: „Zugangscode stimmt nicht. Achte auf die Bindestriche -- die Auswahl oben ist nicht schuld." Das war am 20.09.2026 richtig. Dort gab es den STILLEN ZUGANG: Die rechte Hand und die Modis kamen ueber die Codekennung herein, egal welche Kachel sie antippten. Der Satz „Stimmt die Auswahl oben?" haette sie in eine Schleife geschickt -- alle Kacheln durchprobieren, acht Fehlversuche, Adresse gesperrt. Ein Hinweis, der die Sperre herbeifuehrt, gegen die er helfen soll. Mit VanVans ERSTER Runde derselben Meldung ist der stille Zugang weggefallen („es soll fest sein"). Nachgemessen in workspace.js: Die Kandidaten kommen seither aus `WHERE rolle = ?`, auf beiden Waenden. Die Kachel entscheidet ueberall -- und der Satz sagte ab diesem Tag das Gegenteil der Wahrheit, genau an der Stelle, an der jemand feststeckt. DAS IST DIE SORTE FEHLER, DIE EIN UMBAU HINTERLAESST: Nicht der neue Code war falsch, sondern ein Satz drei Dateien weiter, dessen Voraussetzung er entfernt hat. Er stand sogar ausfuehrlich begruendet da -- und die Begruendung las sich beim Umbau wie eine Bestaetigung, weil sie von einem Zustand sprach, den es nicht mehr gab. Gefunden hat ihn kein Prueflauf, sondern VanVan beim Benutzen. GEAENDERT: Ein Satz fuer beide Waende. Die Fallunterscheidung nach Wand ist weg -- es gibt nur noch eine Regel, also auch nur noch eine Auskunft. Der Hinweis auf die Bindestriche bleibt; er galt nie nur fuer eine Wand. „Zugangscode stimmt nicht. Stimmt die Auswahl oben? Ein Code gehört immer zu genau einer davon – und achte auf die Bindestriche." GEPRUEFT -- pruef-modi-verborgen 87 -> 94 ok Im echten Browser, beide Waende (crew-index.html und index.html), je zweimal mit einem falschen Code: · die Waende sind wirklich verschieden (gate--crew true/false) · „nicht schuld" steht nirgends mehr · stattdessen die Frage nach der Auswahl -- die dort seit dem 01.10. wirklich gilt (Abschnitt 1 derselben Datei misst das) · derselbe Satz auf beiden Waenden · Gegenprobe: nach dem ERSTEN Versuch steht er noch nicht da, dort steht die kurze Absage. Ein Hinweis, der immer kommt, waere keiner. DIE VERSUCHSSPERRE WIRD VOR DER MESSUNG GELEERT. Acht Fehlversuche je Adresse in zehn Minuten -- die Abschnitte davor verbrauchen welche, und ab dem neunten stuende „Zu viele Versuche" statt des Satzes. Das waere ein roter Haken ueber die Messumgebung gewesen, nicht ueber das Programm. Dazu: pruef-struktur 102 ok. BEIDE HAEUSER BETROFFEN, und das ist hier richtig: Es ist dieselbe Anmeldung mit derselben Regel. Nachgewiesen wird genau das -- der Satz ist auf beiden Waenden derselbe, und er stimmt auf beiden. Co-Authored-By: Claude Opus 5 <[email protected]>
152 lines
6.6 KiB
HTML
152 lines
6.6 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>Dogi-Media · 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=202610030014" />
|
|
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610030014" />
|
|
<link rel="stylesheet" href="assets/css/gate.css?v=202610030014" />
|
|
<link rel="stylesheet" href="assets/css/start.css?v=202610030014" />
|
|
<link rel="stylesheet" href="assets/css/material.css?v=202610030014" />
|
|
<link rel="stylesheet" href="assets/css/module.css?v=202610030014" />
|
|
<link rel="stylesheet" href="assets/css/haus.css?v=202610030014" />
|
|
</head>
|
|
<body class="start" data-ton="42" data-buehne="studio">
|
|
|
|
<div class="schleier" aria-hidden="true"></div>
|
|
|
|
<header class="kopfleiste">
|
|
<button type="button" class="zurueck-knopf" id="zurueck" hidden>
|
|
<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> · Dogi-Media</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" id="haupt" aria-busy="true">
|
|
|
|
<section class="kopf-zeile">
|
|
<div>
|
|
<p class="marke" id="ober">Community</p>
|
|
<h1 class="titel">Dogi-Media</h1>
|
|
<p class="unterzeile">
|
|
Bilder und Videos zum Posten. <strong>Jedes nur einmal</strong> — wer es
|
|
nimmt, hat es; danach ist es für alle anderen weg.
|
|
</p>
|
|
</div>
|
|
</section>
|
|
|
|
<p class="fehler" id="fehler" role="alert" aria-live="polite"></p>
|
|
|
|
<!-- EINSTELLEN — nur für das Team. Der Kasten steht gar nicht erst
|
|
da, wenn jemand nicht darf: Ein Formular, das beim Absenden eine
|
|
Absage bringt, ist schlimmer als keines. -->
|
|
<section class="m-neu" id="neu-block" hidden>
|
|
<h2 class="m-neu__titel">Etwas bereitstellen</h2>
|
|
<p class="m-neu__satz">
|
|
Bild oder Video aussuchen, kurz dazuschreiben, wofür es gut ist.
|
|
Sobald jemand es nimmt, verschwindet es aus der Liste.
|
|
</p>
|
|
<div class="m-neu__zeile">
|
|
<label class="feld-schild" for="m-datei">Bild oder Video</label>
|
|
<input type="file" id="m-datei" accept="image/*,video/*" />
|
|
</div>
|
|
<div class="m-neu__zeile">
|
|
<label class="feld-schild" for="m-text">Wofür ist es? (freiwillig)</label>
|
|
<textarea id="m-text" rows="2"
|
|
placeholder="z. B. „Für TikTok, passt zum Stream von gestern“"></textarea>
|
|
</div>
|
|
<!-- VON WANN BIS WANN (22.09.2026). Filipe: "welche laufen von
|
|
wan bis wann, das muss man auch machen koennen."
|
|
BEIDES FREIWILLIG: Der haeufigste Fall ist "gilt einfach".
|
|
Ein Pflichtfeld erzwaenge ein erfundenes Datum, und ein
|
|
erfundenes Datum ist schlechter als keins.
|
|
|
|
STEHT AUSSERHALB VON .m-neu__knoepfe -- das ist eine
|
|
Flex-Reihe fuer Knopf und Stand. Zwei Datumsfelder und ein
|
|
Hinweissatz darin waeren vier Flex-Kinder nebeneinander und
|
|
auf dem Handy eine Treppe. -->
|
|
<div class="m-neu__zeile m-neu__fenster">
|
|
<div class="m-neu__fenster-feld">
|
|
<label class="feld-schild" for="m-ab">Gilt ab (freiwillig)</label>
|
|
<input type="date" id="m-ab" />
|
|
</div>
|
|
<div class="m-neu__fenster-feld">
|
|
<label class="feld-schild" for="m-bis">Gilt bis (freiwillig)</label>
|
|
<input type="date" id="m-bis" />
|
|
</div>
|
|
</div>
|
|
<p class="feld-hinweis m-neu__fenster-satz">
|
|
Ohne Datum gilt es einfach — bis es jemand nimmt.
|
|
</p>
|
|
|
|
<div class="m-neu__knoepfe">
|
|
<button type="button" class="knopf knopf--klein" id="m-hoch">Bereitstellen</button>
|
|
<span class="m-neu__stand" id="m-stand" aria-live="polite"></span>
|
|
</div>
|
|
<!-- Hierhin zeichnet der gemeinsame Hochlader seinen Balken. -->
|
|
<div id="m-fortschritt" hidden></div>
|
|
</section>
|
|
|
|
<!-- DIE FREIEN ZUERST. Wer hierherkommt, will etwas holen; was schon
|
|
weg ist, interessiert danach. -->
|
|
<section class="m-liste-block">
|
|
<div class="m-kopf">
|
|
<h2 class="m-kopf__titel" id="frei-titel">Zum Mitnehmen</h2>
|
|
<p class="m-kopf__satz" id="frei-satz"></p>
|
|
<!-- KATEGORIEN (22.09.2026). Filipe: "mach kategorien welche sind
|
|
benutzt welche nicht welche sind noch offen, welche laufen
|
|
von wan bis wann."
|
|
Die Knoepfe werden im Skript gebaut, damit die Zahl daneben
|
|
aus den echten Daten kommt und nicht aus dem HTML -- eine
|
|
Zahl im Markup waere die, die beim naechsten Stueck falsch
|
|
dasteht.
|
|
|
|
DIE LEISTE IST DIE DES HAUSES (.filter mit .schritt), nicht
|
|
eine eigene. Auf dateien.html und bereich.html steht dieselbe
|
|
Reihe; eine dritte Bauart haette dasselbe anders ausgesehen
|
|
und beim naechsten Umbau nur an zwei von drei Stellen
|
|
mitgeaendert. -->
|
|
<div class="filter" id="m-kat" role="group" aria-label="Kategorie"></div>
|
|
</div>
|
|
<div class="m-raster" id="frei" aria-busy="true"></div>
|
|
</section>
|
|
|
|
<section class="m-liste-block" id="weg-block" hidden>
|
|
<div class="m-kopf">
|
|
<h2 class="m-kopf__titel">Schon benutzt</h2>
|
|
<p class="m-kopf__satz" id="weg-satz">
|
|
Damit nichts zweimal gepostet wird.
|
|
</p>
|
|
</div>
|
|
<div class="m-raster m-raster--weg" id="weg"></div>
|
|
</section>
|
|
|
|
<p class="m-laedt" id="laedt">Einen Moment …</p>
|
|
</main>
|
|
|
|
<script src="assets/js/meldung.js?v=202610030014" defer></script>
|
|
<script src="assets/js/nachfrage.js?v=202610030014" defer></script>
|
|
<script src="assets/js/hochladen.js?v=202610030014" defer></script>
|
|
<script src="assets/js/wahl.js?v=202610030014" defer></script>
|
|
<script src="assets/js/bereiche.js?v=202610030014" defer></script>
|
|
<script src="assets/js/installieren.js?v=202610030014" defer></script>
|
|
<script src="assets/js/kopf.js?v=202610030014" defer></script>
|
|
<script src="assets/js/glocke.js?v=202610030014" defer></script>
|
|
<script src="assets/js/material.js?v=202610030014" defer></script>
|
|
</body>
|
|
</html>
|