VanVan im Support, Meldung #15: „Die Modis können die Antworten auf die Bewerbungen im Bereich eure Aufgaben noch nicht einklappen. Das wird mit der Zeit unübersichtlich." WARUM ES NICHT EINFACH EIN SCHALTER GEWORDEN IST Am 30.09. habe ich diesen Kasten absichtlich NICHT einklappbar gebaut, und die Begruendung steht woertlich im Quelltext: „Eine Antwort, die man erst aufklappen muss, ist wieder keine." Sie ist richtig -- fuer eine Antwort, die man noch nicht gelesen hat. Danach ist sie falsch herum, und genau das meldet VanVan. Ein Schalter, der alles wegklappt, haette die naechste Absage mitversteckt: die Zeile, derentwegen der Kasten ueberhaupt entstanden ist. Deshalb nicht „einklappbar", sondern GELESEN: · Was noch niemand quittiert hat, steht offen da -- wie bisher. · „Verstanden" schiebt eine Zeile hinter „N ältere Antworten", zugeklappt, jederzeit wieder aufzumachen. Nichts wird geloescht; eine Absage samt Begruendung wegzuwerfen, weil jemand sie einmal gelesen hat, waere das Gegenteil des Umbaus vom 30.09. · Ab zwei offenen Antworten gibt es „Alle N verstanden" -- wer nach dem Urlaub sieben vorfindet, soll nicht siebenmal tippen, und sieben Anfragen waeren sieben Gelegenheiten, dass eine verloren geht. AM MENSCHEN, NICHT AM GERAET `gesehen_am` steht in `vorlagen_bewerbungen`, nicht im Browserspeicher. „Habe ich das gelesen?" ist eine Frage ueber die Person: Sonst waere dieselbe Antwort auf dem Handy wieder neu, nachdem man sie am Rechner gelesen hat -- und das waere genau die Unuebersichtlichkeit, die gemeldet wurde, nur eine Tuer weiter. Das AUFKLAPPEN der aelteren bleibt dagegen im Augenblick: kein Zustand, den man mitschleppt. Nach dem Neuladen ist wieder zu. GEGEN FREMDE ZEILEN GESCHUETZT: Nur die eigenen, nur die beantworteten, 404 statt 403 -- wie ueberall im Haus. Ein zweites „Verstanden" zaehlt nicht noch einmal, sonst wanderte die Zeile bei jedem Klick ans Ende und man saehe nicht mehr, wann man sie wirklich gelesen hat. WAS ICH FALSCH ERWARTET HATTE: Meine erste Pruefung verlangte, dass nach einem „Verstanden" OBEN NICHTS mehr steht. Sie wurde rot -- Frida hatte zwei Antworten, und der Knopf gilt je Zeile. Die Pruefung hatte recht; dass er nur seine eigene Zeile nimmt, ist das gewollte Verhalten und steht jetzt als Aussage dort. NEBENBEI: Ein 11,2-px-Pfeil (gemeldet von pruef-css-klassen). Unter 11,5 px faengt im Haus die Grenze an, ab der man zusammenkneift -- dass es „nur ein Zeichen" ist, aendert daran nichts. GEPRUEFT pruef-bewerbung-aufgaben 164 -> 178 ok Im echten Browser, am Handy (390 px): die ungelesene Antwort steht offen mit „Verstanden", danach ist genau diese eine Zeile weg (2 -> 1), sie liegt hinter „1 ältere Antwort", zugeklappt wird sie gar nicht erst gebaut, aufgeklappt steht sie samt Begruendung wieder da, „Alle verstanden" raeumt den Rest, nach dem Neuladen gilt beides weiter als gelesen und ist wieder zu. Am Server: fremde Antwort 404, erfundene Nummer 404, zweites „Verstanden" zaehlt 0. pruef-struktur 102 ok, 414 Routen (eine neue) · pruef-css-klassen · pruef-zeichen 7 · pruef-modi-katalog 150 · pruef-vorlagen 24 · pruef-aufgaben-vorlagen 60 NUR DAS AGENTURHAUS. „Eure Aufgaben" liegt unter `/workspace`; am Crew-Haus aendert sich keine Zeile. Co-Authored-By: Claude Opus 5 <[email protected]>
165 lines
7.2 KiB
HTML
165 lines
7.2 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>Dashboard · Spicy & Dogi</title>
|
||
<meta name="robots" content="noindex, nofollow" />
|
||
<link rel="manifest" href="/workspace/app.webmanifest" />
|
||
<!-- Die Farbe der Fensterleiste, wenn der Workspace als App laeuft.
|
||
Stand auf #0674b9 (kraeftiges Blau) und stach damit als einziger
|
||
heller Balken ueber einer durchweg dunklen Seite. Jetzt derselbe
|
||
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
|
||
eine Flaeche sind statt zweier. -->
|
||
<meta name="theme-color" content="#06090f" />
|
||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610030008" />
|
||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610030008" />
|
||
<link rel="stylesheet" href="assets/css/gate.css?v=202610030008" />
|
||
<link rel="stylesheet" href="assets/css/start.css?v=202610030008" />
|
||
<!-- Formular- und Dialogstile: seit dem 07.09.2026 steht hier der
|
||
Dialog "Creator anlegen". -->
|
||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610030008" />
|
||
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202610030008" />
|
||
<link rel="stylesheet" href="assets/css/module.css?v=202610030008" />
|
||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||
<link rel="stylesheet" href="assets/css/haus.css?v=202610030008" />
|
||
</head>
|
||
|
||
<body class="start">
|
||
|
||
<!-- Der Schleier ueber der Buehne (Casper und HasiDog in den unteren
|
||
Ecken, siehe start.css). Ein eigenes Element statt eines dritten
|
||
Pseudo-Elements -- body hat nur ::before und ::after. -->
|
||
<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> · Dashboard</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">
|
||
|
||
<section class="kopf-zeile">
|
||
<div>
|
||
<p class="marke">Alles zentral</p>
|
||
<h1 class="titel" id="titel">Dashboard</h1>
|
||
<p class="unterzeile" id="unterzeile">
|
||
Eine Karte je Creator – mit einem Blick sehen, wo es hakt und wo es läuft.
|
||
</p>
|
||
</div>
|
||
<!-- Der Knopf steht HIER und nicht in der Personenverwaltung
|
||
(07.09.2026). Ein Manager kommt dort gar nicht hinein, und er
|
||
soll es auch nicht -- dahinter liegen Rollen, Codes, Sperren und
|
||
das Protokoll. Hier dagegen sieht er ohnehin seine Creator; der
|
||
neue erscheint eine Zeile weiter unten. Das Skript blendet den
|
||
Knopf für Scouts und Creator aus, der Server lässt sie ohnehin
|
||
nicht durch. -->
|
||
<button type="button" class="knopf knopf--klein" id="creator-neu" hidden>Creator anlegen</button>
|
||
</section>
|
||
|
||
<p class="fehler" id="fehler" role="alert" aria-live="polite"></p>
|
||
|
||
<!-- Creator anlegen. Derselbe Dialog-Aufbau wie überall sonst. -->
|
||
<dialog class="dialog" id="creator-dialog">
|
||
<form method="dialog" class="neu neu--blank" id="creator-form">
|
||
<h2 class="dialog__titel">Creator anlegen</h2>
|
||
<p class="dialog__unter">
|
||
Der Zugangscode erscheint genau einmal – danach ist er weg und
|
||
kann nur neu gesetzt werden.
|
||
</p>
|
||
|
||
<div class="neu__zeile">
|
||
<label class="feld-schild" for="cn-name">Name</label>
|
||
<input id="cn-name" maxlength="60" required autocomplete="off" />
|
||
</div>
|
||
|
||
<div class="neu__zeile" id="cn-scout-zeile" hidden>
|
||
<label class="feld-schild" for="cn-scout">Betreuung</label>
|
||
<select id="cn-scout"></select>
|
||
<p class="feld-hinweis">
|
||
Ohne Auswahl betreust du ihn selbst. Zur Auswahl stehen nur
|
||
deine eigenen Scouts.
|
||
</p>
|
||
</div>
|
||
|
||
<!-- Der Code. Steht erst nach dem Anlegen da und wird nie
|
||
nachgeladen -- die Seite ist die einzige Stelle, an der er je
|
||
zu sehen ist. -->
|
||
<div class="neu__zeile" id="cn-code-zeile" hidden>
|
||
<p class="feld-schild">Zugangscode für <span id="cn-code-name"></span></p>
|
||
<p class="code-anzeige" id="cn-code"></p>
|
||
<p class="feld-hinweis">
|
||
Jetzt weitergeben. Nach dem Schließen ist er nicht mehr abrufbar.
|
||
</p>
|
||
</div>
|
||
|
||
<p class="fehler" id="cn-fehler" role="alert" aria-live="polite"></p>
|
||
|
||
<div class="dialog__knoepfe">
|
||
<button type="submit" class="knopf knopf--klein" id="cn-speichern">Anlegen</button>
|
||
<button type="button" class="abmelden" id="cn-zu">Schließen</button>
|
||
</div>
|
||
</form>
|
||
</dialog>
|
||
|
||
<!-- FRÜHWARNUNG (06.09.2026).
|
||
|
||
Steht GANZ OBEN, noch vor den Summen. Die Summen beantworten "wie
|
||
steht es insgesamt", die Karten "wie steht es bei jedem" – aber
|
||
die Frage, mit der ein Betreuer morgens ankommt, ist eine dritte:
|
||
"wo muss ich HEUTE hin?" Sie stand bis jetzt nirgends.
|
||
|
||
Bewusst OHNE Punktzahl. Ein Wert wie "Abwanderungsrisiko 73"
|
||
klingt nach Wissenschaft und ist eine Behauptung: Man kann ihn
|
||
nicht prüfen, nicht widersprechen und nicht erklären. Hier stehen
|
||
stattdessen die einzelnen Beobachtungen im Klartext, jede mit
|
||
ihrem Beleg – dann entscheidet ein Mensch.
|
||
|
||
Ein Creator sieht diesen Block nie (der Server liefert ihm gar
|
||
keine Daten). Zu lesen, dass ein System einen für gefährdet hält,
|
||
ist keine Mitteilung an die betroffene Person. -->
|
||
<section class="warnblock" id="fruehwarnung" hidden aria-labelledby="warn-titel">
|
||
<div class="klapp-kopf">
|
||
<h2 class="feldschild" id="warn-titel">Wo ich diese Woche nachfassen würde</h2>
|
||
</div>
|
||
<div class="warnliste" id="warnliste"></div>
|
||
</section>
|
||
|
||
<!-- Summen über alle sichtbaren Creator. Steht oben, weil die Frage
|
||
"wie steht es insgesamt" vor der Frage "bei wem" kommt. -->
|
||
<section class="summen" id="summen" hidden></section>
|
||
|
||
<div id="liste" aria-busy="true"><p class="leise">Übersicht wird geladen …</p></div>
|
||
|
||
<p class="stand" id="stand" hidden></p>
|
||
|
||
</main>
|
||
|
||
<script src="assets/js/meldung.js?v=202610030008" defer></script>
|
||
<script src="assets/js/nachfrage.js?v=202610030008" defer></script>
|
||
|
||
|
||
<script src="assets/js/bereiche.js?v=202610030008" defer></script>
|
||
|
||
<script src="assets/js/wahl.js?v=202610030008" defer></script>
|
||
<script src="assets/js/installieren.js?v=202610030008" defer></script>
|
||
<script src="assets/js/kopf.js?v=202610030008" defer></script>
|
||
<script src="assets/js/glocke.js?v=202610030008" defer></script>
|
||
<script src="assets/js/uebersicht.js?v=202610030008" defer></script>
|
||
</body>
|
||
</html>
|