Patrick ueber den Support: „Sophie kann Abschnitt 3 und 4 nicht
bestaetigen, beim druecken kommt ein schwarzer Bildschirm."
DER DIALOG WAR DIE GANZE ZEIT DA -- nur nicht im Bild. Nachgebaut auf
einer KOPIE der echten Datenbank, mit einem echten Browser, und dann
gemessen statt vermutet:
position absolute statt fixed
oben im Fenster -143 px also oberhalb des Sichtbaren
`module.css` setzte `.dialog { position: relative }`. Damit war die
Zentrierung des Browsers ueberschrieben: Ein Dialog aus `showModal()`
gehoert mit `position: fixed` in die Mitte des SICHTBAREN FENSTERS,
mit `relative` landet er im Dokumentfluss nahe dem SEITENANFANG. Wer
nach unten gescrollt hatte, sah nur noch den abdunkelnden Schleier --
einen schwarzen Bildschirm.
WARUM AUSGERECHNET „ABSCHNITT 3 UND 4"
Gar nicht wegen dieser beiden. Sophie hatte 1 und 2 schon bestaetigt,
dort gibt es keinen Knopf mehr -- 3 und 4 waren die einzigen, die sie
ueberhaupt noch druecken konnte, und sie stehen am weitesten unten.
Der Fehler hing nie an den Abschnitten, sondern an der Scrollhoehe.
Haette ich die Meldung woertlich genommen und in den Unterweisungen
gesucht, haette ich an der falschen Stelle gegraben.
ES BETRAF JEDEN DIALOG IM HAUS
22 Aufrufe von `showModal()` in 10 Dateien -- vom Loeschen einer Datei
ueber das Bearbeiten einer Aufgabe bis zum Eintragen eines
Monatsziels. Auf kurzen Seiten fiel es nie auf, weil dort niemand
scrollt. Keine einzige Pruefung im Haus hatte je einen Dialog
geoeffnet, NACHDEM sie gescrollt hat.
`relative` stand dort fuer die beiden Pseudo-Elemente (Leuchtschiene
und Lichtsaum) -- die brauchen einen positionierten Vorfahren, und
`fixed` ist ebenfalls einer. `inset: 0` und `margin: auto` schreiben
die Zentrierung jetzt ausdruecklich hin, statt sich auf eine Vorgabe
zu verlassen, die diese Datei selbst ueberschreibt.
WAS ICH FAST KAPUTT GEMACHT HAETTE
Mein erster Entwurf setzte zusaetzlich `max-height` und
`overflow: auto` auf den Dialog. Das waere ein Rueckschritt gewesen:
Das Rollen ist eine Ebene tiefer laengst geloest (`.dialog > form`),
gemessen am 25.09.2026 ueber vier Bildschirmgroessen, nachdem Miss
gemeldet hatte, dass sie aus einem Fenster nicht mehr herauskam. Dort
haengen auch die festen Kopf- und Fusszeilen -- und `position: sticky`
gilt immer zum naechsten rollenden Vorfahren. Ein zweiter Rollbereich
darueber haette genau die wieder geloest. Wieder entfernt;
`mess-dialog-ausgang` meldet unveraendert auf allen vier Groessen
„Kommt man heraus? JA".
NEU: pruef-dialog-sichtbar.mjs (18 Pruefungen, 0 Fehler)
Drei Ebenen, und die unterste allein waere zu wenig:
* Im Quelltext: keine Regel darf `.dialog` wieder aus dem Fenster
nehmen -- in ALLEN Stilvorlagen, nicht nur in module.css.
* Am echten Bildschirm: zwei verschiedene Dialoge auf zwei
verschiedenen Seiten, je auf Computer und Handy, jedes Mal ganz
nach unten gescrollt (663 bis 1216 px).
* Die Gegenprobe: Ein aus dem Fenster geschobener Dialog MUSS
auffallen. Ohne sie waere „er steht im Bild" womoeglich eine
Zeile, die immer wahr ist.
DREI MEINER EIGENEN MESSUNGEN WAREN ZUERST FALSCH, nicht der Code:
Die Textsuche fand Kommentare und `.dialog > *` (die Kinder DUERFEN
relativ sein); die Schulungstabellen entstehen erst beim ersten
Zugriff; und die Auswahl fuer den zweiten Dialog war seit dem
Schnell-Eintrag veraltet -- der erste Knopf oeffnet dort gar keinen
Dialog mehr. Alle drei berichtigt, bevor sie als Befund durchgingen.
NICHT VON MIR, aber beim Nachmessen aufgefallen: pruef-css-klassen
meldet 44 statt 42 Schriftgroessen unter 11,5 px (uebersicht.css,
wissen.css). Meine Aenderung fasst keine einzige Schriftgroesse an --
module.css hat vorher wie nachher denselben Wert. Der Befund ist
aelter und gehoert nicht hierher.
Co-Authored-By: Claude Opus 5 <[email protected]>
326 lines
15 KiB
HTML
326 lines
15 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>Eure Aufgaben · 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=202610051932" />
|
||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610051932" />
|
||
<link rel="stylesheet" href="assets/css/gate.css?v=202610051932" />
|
||
<link rel="stylesheet" href="assets/css/start.css?v=202610051932" />
|
||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610051932" />
|
||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610051932" />
|
||
<link rel="stylesheet" href="assets/css/module.css?v=202610051932" />
|
||
<link rel="stylesheet" href="assets/css/haus.css?v=202610051932" />
|
||
</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">Team Dogi</a> · Eure Aufgaben</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" id="ober">Entwicklung & Nachwuchs</p>
|
||
<!-- UMBENANNT AM 19.09.2026 (siehe workspace.js). Diese Seite ist
|
||
der Aufgabenkatalog: was ein Modi koennen soll und wo er
|
||
gerade steht. Der Name "Entwicklung" bleibt dem vorbehalten,
|
||
was Filipe darunter versteht -- einer Auswertung je Person. -->
|
||
<h1 class="titel" id="titel">Eure Aufgaben</h1>
|
||
<p class="unterzeile" id="unterzeile">
|
||
Anklicken statt tippen. Keine Noten, keine Punktzahl – ein Gesprächsanlass.
|
||
</p>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ==================================================================
|
||
DIE REIHENFOLGE AUF DIESER SEITE IST DAS EIGENTLICHE DESIGN
|
||
|
||
1. Die Ampel — sie betrifft Menschen, nicht Prozesse.
|
||
2. Die Personen — wen gehe ich heute durch.
|
||
3. Was er bekommt — das Formular und der Katalog.
|
||
4. Was bei ihm liegt — seine Aufgaben.
|
||
5. Die Karte — und darin die ABWEICHUNGEN zuerst.
|
||
6. Ganz unten der Weg zu den eigenen sechs Fragen — sie haben
|
||
seit dem 15.09.2026 eine eigene Seite.
|
||
|
||
Wer die Seite öffnet, soll die wichtigste Sache zuerst sehen, und
|
||
das ist nicht die Liste. Eine Ampel unter 34 Beobachtungen hätte
|
||
niemand je gelesen.
|
||
|
||
DIESE ORDNUNG WAR ZWISCHENZEITLICH VERLOREN (berichtigt
|
||
23.09.2026). Die Punkte 1 bis 3 standen hier schon seit dem
|
||
15.09. — nur nicht mehr in dieser Reihenfolge: Am 22.09. kam das
|
||
Verteilen auf die Seite, am 23.09. der Katalog, und beide sind
|
||
VOR die Ampel und die Personenwahl gerutscht.
|
||
|
||
Gemessen mit sechs Leuten und offenem Katalog: Am Handy begann
|
||
die Personenwahl erst bei Bildschirm 5,3 von 14,9. Man scrollte
|
||
also an allem vorbei, um überhaupt anzufangen — und das, was man
|
||
dabei überscrollte (Formular, Katalog), betrifft genau die
|
||
Person, die man noch gar nicht gewählt hatte.
|
||
|
||
Filipe: „ich will dass du die so krass übersichtlich machst."
|
||
|
||
Die Reihenfolge ist jetzt die, in der man denkt: Wie steht das
|
||
Team? → Wen nehme ich mir vor? → Was gebe ich ihm? → Was liegt
|
||
schon bei ihm? → Wie steht er da?
|
||
============================================================== -->
|
||
|
||
<section id="ampel" class="e-ampel" hidden></section>
|
||
|
||
<section id="personen-block" hidden>
|
||
<h2 class="e-abschnitt">Wen gehst du durch?</h2>
|
||
<div id="personen" class="e-personen" role="group" aria-label="Person wählen" aria-busy="true"></div>
|
||
</section>
|
||
|
||
<!-- VERTEILEN GEHOERT HIERHER (22.09.2026).
|
||
|
||
Filipe, zum wiederholten Mal: "ich will immer noch ... dass man
|
||
bei aufgaben nur die aufgaben sieht und bei eure aufgaben die
|
||
aufgaben verteilt."
|
||
|
||
Und so stand es schon im Auftrag vom 21.09. (Abschnitt 2): "Die
|
||
Kachel Eure Aufgaben soll erhalten bleiben. Innerhalb dieses
|
||
Bereichs soll zusaetzlich eine Funktion integriert werden, mit
|
||
der DogFather und die rechte Hand Aufgaben erstellen und
|
||
verteilen koennen."
|
||
|
||
ES IST EIN WEG, KEIN ZWEITES FORMULAR. Zwei Formulare fuer
|
||
dieselbe Sache waeren zwei Gelegenheiten, eines davon zu
|
||
vergessen -- und man wuesste nie, welches das richtige ist. Der
|
||
Knopf nimmt die gerade gewaehlte Person mit. -->
|
||
<!-- HIER STAND EIN LINK AUF EINE ANDERE SEITE (bis 22.09.2026).
|
||
|
||
Filipe: „dieser buttion da soll nicht einen zu der seite
|
||
aufgaben fuehren sondern da in dieser seite die aufgaben
|
||
erstellen und vergeben koennen. plus man soll die aufgaben hier
|
||
in dieser seite auch sehen."
|
||
|
||
Er hat recht, und der Grund liegt auf der Hand, sobald man es
|
||
einmal macht: Wer hier jemanden durchgeht, hat den Menschen vor
|
||
sich. Ihn dafuer auf eine andere Seite zu schicken heisst, den
|
||
Faden zu verlieren und danach zurueckzusuchen.
|
||
|
||
ES IST NICHT DAS GROSSE FORMULAR VON aufgaben.html.
|
||
Das hat zwoelf Felder -- Prioritaet, Kategorie, Kanal, Bereich,
|
||
Mehrfachauswahl. Die braucht man, wenn man eine Aufgabe fuer
|
||
irgendwen irgendwo anlegt. Hier steht die Person schon fest,
|
||
und was fehlt, sind drei Angaben: was, bis wann, und ob noch
|
||
jemand mitmacht. Alles andere waere dieselbe Maske zweimal --
|
||
und zwei Masken fuer dieselbe Sache sind zwei Gelegenheiten,
|
||
eine davon zu vergessen.
|
||
|
||
Wer mehr braucht, findet die Aufgabe danach auf dem Brett und
|
||
kann sie dort in Ruhe ausbauen. -->
|
||
<section class="e-verteilen" id="verteilen-band" hidden>
|
||
<div class="e-verteilen__text">
|
||
<h2 class="e-verteilen__titel">Aufgabe verteilen</h2>
|
||
<p class="e-verteilen__satz" id="verteilen-satz">
|
||
Aufgabe anlegen und an eine oder mehrere Personen geben.
|
||
</p>
|
||
</div>
|
||
<button type="button" class="knopf" id="verteilen-knopf">Aufgabe anlegen</button>
|
||
|
||
<form class="e-neu" id="e-neu" hidden>
|
||
<!-- FÜR WEN — DIE ERSTE FRAGE, UND SIE STEHT JETZT HIER.
|
||
---------------------------------------------------------
|
||
Bis zum 22.09.2026 abends stand oben „Wähl links jemanden
|
||
aus", und der Knopf war so lange tot. Gemessen: Die Auswahl
|
||
steht gar nicht links, sondern 206 Pixel WEITER UNTEN, bei
|
||
genau derselben linken Kante (130 px wie das Band). Links
|
||
war nichts. Wer der Anweisung folgte, schaute auf eine
|
||
leere Fläche und hatte einen Knopf, der nicht ging.
|
||
|
||
Filipe: „weil gerade hängt das und weiß nicht wieso."
|
||
|
||
Ein Knopf, der nichts tut, erklärt sich nie selbst. Also
|
||
steht die Frage jetzt dort, wo man sie beantwortet: im
|
||
Formular, als erste Zeile. Wer unten schon jemanden
|
||
angeklickt hat, findet ihn hier angehakt wieder — beides
|
||
führt zum selben Ziel, keins ist Pflicht. -->
|
||
<div class="e-neu__zeile" id="e-fuer-block">
|
||
<!-- DIE KOPFZEILE DER AUSWAHL (23.09.2026)
|
||
---------------------------------------------------------
|
||
Filipe: „auch die möglichkeit alle auf einmal auszuwählen
|
||
und so. mach es hoch krass profissionel, übersichtlich"
|
||
|
||
Links die Frage, rechts der Stand („3 von 6") und die
|
||
Schnellwahl. Der Zähler ist der Teil, der Übersicht
|
||
macht: Bei acht Kästchen sieht man nicht mehr, wie viele
|
||
angehakt sind — man zählt nach.
|
||
|
||
DIE SCHNELLWAHL WIRD GEBAUT, NICHT GESCHRIEBEN: Welche
|
||
Gruppen es gibt, steht in den Leuten selbst (regelZeile
|
||
in entwicklung.js). Eine Liste hier wäre die, die beim
|
||
nächsten Rollenzuschnitt eine Gruppe verschweigt. -->
|
||
<div class="e-fuer__kopf">
|
||
<p class="feld-schild" id="e-fuer-schild">Für wen ist das?</p>
|
||
<div class="e-fuer__rechts">
|
||
<span class="e-fuer__zahl" id="e-fuer-zahl" aria-live="polite"></span>
|
||
<div class="e-fuer__schnell" id="e-fuer-schnell" role="group"
|
||
aria-label="Schnell auswählen"></div>
|
||
</div>
|
||
</div>
|
||
<div id="e-fuer-leute" class="e-fuer__leute" role="group"
|
||
aria-labelledby="e-fuer-schild"></div>
|
||
<!-- WIE SOLL DAS LAUFEN — nur bei mehr als einer Person.
|
||
Bei einer gibt es nichts zu verteilen, dann wäre die
|
||
Frage Füllwerk. Der zweite Punkt ist die Bewerbung:
|
||
Filipe: „plus die option dass die modis sich für aufgaben
|
||
bewerben können." -->
|
||
<fieldset id="e-art" class="z-art" hidden>
|
||
<legend class="feld-schild">Wie soll das laufen?</legend>
|
||
<label class="z-art__wahl">
|
||
<input type="radio" name="e-verteilart" value="mehrere" checked />
|
||
<span><strong>Jede macht ihren Teil.</strong>
|
||
Alle sind gemeint, jede hat ihren eigenen Stand.</span>
|
||
</label>
|
||
<label class="z-art__wahl">
|
||
<input type="radio" name="e-verteilart" value="pool" />
|
||
<span><strong>Wer zuerst Zeit hat, übernimmt.</strong>
|
||
Sie bewerben sich, du nimmst an oder lehnst ab.</span>
|
||
</label>
|
||
</fieldset>
|
||
</div>
|
||
|
||
<div class="e-neu__zeile">
|
||
<label class="feld-schild" for="e-titel">Was ist zu tun?</label>
|
||
<input type="text" id="e-titel" maxlength="200" required
|
||
placeholder="z. B. Clips vom Samstag schneiden" />
|
||
</div>
|
||
<div class="e-neu__zeile">
|
||
<label class="feld-schild" for="e-frist">Bis wann? (freiwillig)</label>
|
||
<input type="date" id="e-frist" />
|
||
</div>
|
||
<!-- DAUERHAFT (30.09.2026) -- siehe aufgaben.html. Hier wird
|
||
verteilt, also gehoert der Schalter hierher; diese Seite
|
||
bekommt ohnehin nur, wer verteilen darf. -->
|
||
<div class="e-neu__zeile">
|
||
<label class="dauerhaft-schalter">
|
||
<input type="checkbox" id="e-dauerhaft" />
|
||
<span>Dauerhafte Aufgabe — wird nicht abgehakt, sie gehört dazu</span>
|
||
</label>
|
||
</div>
|
||
<div class="e-neu__zeile">
|
||
<label class="feld-schild" for="e-text">Worum geht es genau? (freiwillig)</label>
|
||
<textarea id="e-text" rows="2" maxlength="2000"></textarea>
|
||
</div>
|
||
|
||
<!-- HIER STAND „Noch jemanden dazunehmen" (bis 22.09.2026).
|
||
|
||
Zwei Personenlisten in einem Formular -- eine Hauptperson
|
||
oben, weitere hinter einem Klapp-Knopf -- waren zwei
|
||
Bedienungen fuer dieselbe Frage. Und die Bewerbungs-Option
|
||
steckte in der zweiten, zugeklappten: Sie war nur zu
|
||
finden, wenn man erst „Noch jemanden dazunehmen" oeffnete
|
||
UND dort jemanden ankreuzte. Eine Moeglichkeit, die man
|
||
nicht findet, gibt es nicht.
|
||
|
||
Jetzt ist es EINE Liste ganz oben. Wer einen anhakt, gibt
|
||
die Aufgabe an ihn; wer mehrere anhakt, wird gefragt, wie
|
||
es laufen soll. -->
|
||
|
||
<p class="fehler" id="e-neu-fehler" role="alert" aria-live="polite"></p>
|
||
<p class="e-neu__knoepfe">
|
||
<button type="submit" class="knopf knopf--klein" id="e-neu-speichern">Anlegen</button>
|
||
<button type="button" class="knopf-still" id="e-neu-abbrechen">Abbrechen</button>
|
||
</p>
|
||
</form>
|
||
</section>
|
||
|
||
<!-- DIE AUFGABEN DER PERSON, AUF DERSELBEN SEITE.
|
||
„plus man soll die aufgaben hier in dieser seite auch sehen."
|
||
Ohne sie legt man hier Aufgaben an und weiss nicht, was schon
|
||
da ist -- und traegt zum dritten Mal dieselbe ein. -->
|
||
<!-- AUFGABEN AUS DER VORLAGE (umgezogen am 23.09.2026)
|
||
|
||
Filipe: "das soll auch bitte nicht in der kategorie aufgaben
|
||
sondern eure aufgaben sein bitte."
|
||
|
||
ER STEHT ZWISCHEN DEM FORMULAR UND DER AUFGABENLISTE, und das
|
||
ist die Reihenfolge, in der man denkt: erst die Person, dann was
|
||
sie bekommt -- entweder selbst getippt (das Formular darueber)
|
||
oder eines der fertigen (hier) --, und darunter sofort, was
|
||
daraufhin bei ihr liegt.
|
||
|
||
Zwei Wege zur selben Handlung stehen damit nebeneinander, statt
|
||
auf zwei Seiten verteilt. -->
|
||
<section class="vorlagenbrett" id="vorlagenbrett" hidden></section>
|
||
|
||
<section class="e-aufgaben" id="e-aufgaben-block" hidden>
|
||
<h2 class="e-abschnitt" id="e-aufgaben-titel">Ihre Aufgaben</h2>
|
||
<p class="e-aufgaben__satz" id="e-aufgaben-satz"></p>
|
||
<div class="e-aufgaben__liste" id="e-aufgaben-liste" aria-live="polite"></div>
|
||
</section>
|
||
|
||
<p class="fehler" id="fehler" role="alert" aria-live="polite"></p>
|
||
|
||
<section id="karte" class="e-karte" hidden></section>
|
||
|
||
<!-- DEINE EIGENE KARTE.
|
||
|
||
Sie steht ÜBER den sechs Fragen und UNTER der Liste der anderen:
|
||
Wer diese Seite als DogFather öffnet, kommt zuerst zu seiner
|
||
Arbeit; wer beurteilt wird, sieht die Liste gar nicht und
|
||
landet direkt hier.
|
||
|
||
Sie erscheint erst, wenn alle gesetzt haben — eine halbe Karte
|
||
ist schlimmer als keine. -->
|
||
<section id="karte-block" class="e-meine" hidden>
|
||
<h2 class="e-abschnitt">Deine Karte</h2>
|
||
<p class="e-meine__satz" id="karte-satz">…</p>
|
||
<div id="meine-karte" aria-busy="true"></div>
|
||
</section>
|
||
|
||
<!-- ==== DIE SECHS FRAGEN STEHEN WOANDERS (15.09.2026) ==========
|
||
Sie hatten hier ihren Platz, solange es keine eigene Seite gab.
|
||
Jetzt gibt es eine – und zwei Stellen für dieselben sechs Fragen
|
||
wären zwei Stände, die auseinanderlaufen. Hier bleibt der Weg
|
||
dorthin, nicht eine Kopie. -->
|
||
<section class="e-meins e-meins--verweis" id="meins-block" hidden>
|
||
<h2 class="e-abschnitt">Und wie geht es dir?</h2>
|
||
<p class="e-meins__satz">
|
||
Ein paar Fragen über dich – die Antworten sieht niemand außer dir.
|
||
</p>
|
||
<a class="knopf knopf--klein" href="befinden.html">Zu deinen Fragen</a>
|
||
</section>
|
||
|
||
</main>
|
||
|
||
<script src="assets/js/meldung.js?v=202610051932" defer></script>
|
||
<script src="assets/js/nachfrage.js?v=202610051932" defer></script>
|
||
|
||
|
||
<script src="assets/js/wahl.js?v=202610051932" defer></script>
|
||
<script src="assets/js/bereiche.js?v=202610051932" defer></script>
|
||
<script src="assets/js/installieren.js?v=202610051932" defer></script>
|
||
<script src="assets/js/kopf.js?v=202610051932" defer></script>
|
||
<script src="assets/js/glocke.js?v=202610051932" defer></script>
|
||
<script src="assets/js/holen.js?v=202610051932" defer></script>
|
||
<!-- VOR entwicklung.js: Die Seite richtet den Katalog beim Start ein,
|
||
also muss es ihn zu dem Zeitpunkt geben. Mit "defer" laufen beide
|
||
in Dokumentreihenfolge. -->
|
||
<script src="assets/js/vorlagenbrett.js?v=202610051932" defer></script>
|
||
<script src="assets/js/entwicklung.js?v=202610051932" defer></script>
|
||
</body>
|
||
</html>
|