Filipe: "dan will ich auch dass nur die modis, rechte hand, linke hand
und dogfather, alle auch auf einmal markieren koennen im chat mit
einem, @rudel ,dann sollen alle eine benarichtigung bekommen."
DAS WAR EINE OFFENE FRAGE, UND ER HAT SIE BEANTWORTET
-----------------------------------------------------
In chat-erwaehnung.js stand seit dem 20.09. woertlich: "KEIN @alle. Es
waere in fuenf Minuten gebaut und ist der zuverlaessigste Weg, dass alle
die Benachrichtigungen abschalten -- und dann kommt auch die an, die
wirklich fuer einen bestimmten Menschen gedacht war. Wenn Filipe es
ausdruecklich will, gehoert dazu eine Entscheidung, WER es benutzen
darf; das ist eine Frage an ihn, keine, die ich hier beantworte."
Seine Antwort ist genau diese Entscheidung, und sie ist die Sicherung:
Team Dogi und DogFather duerfen rufen, sonst niemand.
WEN DER RUF ERREICHT: DAS TEAM IM RAUM, NICHT DEN RAUM
------------------------------------------------------
"Rudel" heisst das Team -- dieselben vier Gruppen, die auch rufen
duerfen. In einem Team-Kanal ist das jeder Anwesende, also "alle auf
einmal". Sichtbar wird der Unterschied im TREFF, und dort haette die
andere Lesart wehgetan: Dort sitzt die Community. Ein Ruf, der jeden
Zuschauer weckt, waere etwas anderes als der bestellte -- und beim
zweiten Mal haetten sie die Benachrichtigungen abgeschaltet.
WO WAS ENTSCHIEDEN WIRD
-----------------------
chat-erwaehnung.js bleibt ohne Abhaengigkeiten (die Pruefung soll sie
lesen koennen, ohne einen Server hochzufahren). Sie sagt nur, DASS
gerufen wurde; der Aufrufer sagt ihr, ob der Schreibende darf. Wer zum
Rudel gehoert, entscheidet workspace-chat.js ueber istTeamDogi().
Das Schluesselwort gewinnt gegen einen Menschen, der "Rudel" heisst.
Heute heisst niemand so -- aber das ist eine Tatsache von heute, kein
Gesetz. So herum verliert niemand eine Meldung (wer so heisst, ist im
Rudel dabei); andersherum haette ein einziger Zugang den Ruf ans Team
stillschweigend abgeschaltet.
istTeamDogi() NEU IN workspace.js
---------------------------------
Derselbe Ausdruck ("admin oder TEAM_DOGI_ROLLEN") stand dort dreimal
wortgleich: siehtModis, kanaeleFuer, kategorienFuer. Drei gleiche
Ausdruecke sind drei Gelegenheiten, dass einer beim naechsten
Rollenzuschnitt nicht mitgeht. Jetzt eine Stelle, die drei benutzen.
DIE NACHRICHT MERKT SICH DEN RUF (Spalte chat_nachrichten.rudel)
----------------------------------------------------------------
Beim Lesen muesste der Browser sonst wissen, ob der Absender es DAMALS
durfte. Er kennt nur dessen heutige Rolle -- wechselt jemand die Rolle,
verschwaende die Hervorhebung rueckwirkend aus einem Satz von vorletzter
Woche. Und es waere die zweite Rechnung ueber dieselbe Frage.
Vorgabe 0; alle alten Nachrichten haben kein Rudel gerufen, und das ist
keine Annahme, sondern eine Tatsache: Das Wort gab es noch nicht.
DIE MELDUNG SAGT, WAS LOS IST
-----------------------------
"X hat das Rudel gerufen", nicht "X hat dich erwaehnt" -- letzteres
stimmt beim Rudel nicht, und wer dreimal liest, dass er gemeint sei,
und jedes Mal merkt, dass es alle betraf, glaubt beim vierten Mal auch
dem echten nicht mehr. Auf DEMSELBEN Schalter wie die Erwaehnung: Ein
vierter Schalter waere der, den jemand abschaltet und der dann genau im
wichtigen Moment fehlt. Jeder Ruf steht im Protokoll (chat_rudel) --
"@rudel wird zu oft benutzt" soll eine Zahl sein koennen, kein Gefuehl.
DIE FARBE WIRD ABGELEITET, NICHT GESETZT
----------------------------------------
Eine Nachricht liegt in der Blase, deren Farbe ihr Absender AUSGESUCHT
hat -- siebzehn Moeglichkeiten. Eine feste Farbe darauf ist eine Wette,
und genau die habe ich am 22.09. beim Loeschknopf verloren (1,91:1 auf
Babyblau, gemessen, nachdem es live war). Die Marke nimmt deshalb
`--blase-text` -- die Schrift, die schriftFuer() fuer DIESE Blase mit
mindestens 7:1 ausgerechnet hat. Unterschieden wird ueber Form statt
Farbton: Toenung, Kante, Gewicht 700, ein Zeichen davor. In der
Auswahlliste darf es einen eigenen Ton haben -- sie liegt auf der
Flaeche des Hauses, deren Farbe feststeht.
DER VORSCHLAG ERSCHEINT NUR, WO ER ETWAS BEWIRKT
------------------------------------------------
In einem Zweier-Gespraech mit einem Creator ist ausser mir niemand aus
dem Team. `darf_rudel` fragt deshalb beides: darf ich, und sitzt hier
noch jemand aus dem Team. Dieselbe Ueberlegung wie beim eigenen Namen,
den die Liste auch nicht anbietet. Die Schranke beim Schreiben haengt
nicht daran -- wer es von Hand tippt, ruft eben niemanden.
GEPRUEFT
--------
pruef-erwaehnung: 119 Pruefungen, 0 Fehler (vorher 66).
Neu darin, und die zweite ist die wichtigere:
* der Modi ruft im Treff genau das Team -- die Liste wird aus der
Besetzung ABGELEITET, nicht abgeschrieben
* der Gast im selben Raum ruft NICHTS: kein Eintrag, kein Merkmal,
kein Vorschlag. Ohne diese Pruefung stuende Filipes "nur die
modis, rechte hand, linke hand und dogfather" bloss im Kommentar
* beide Fassungen der Regel (Server und Browser) an 14 zusaetzlichen
Proben nebeneinander, mit beiden Rechten -- samt Gegenprobe, dass
der Vergleich einen Unterschied ueberhaupt sehen kann
* am Bildschirm: der Ruf steht oben in der Liste, sagt daneben, was
er bedeutet, Enter setzt ihn ein, und im Satz ist er an Gewicht
und Rahmen erkennbar -- nicht nur an der Farbe
Beim Bauen gemessen statt vermutet: Ein Scout und ein Modi kommen gar
nicht in denselben Raum (403, Haeusertrennung) -- deshalb prueft der
Verhaltenstest im Treff. Und ein Gast meldet sich nur mit
Altersbestaetigung an (400 ohne).
Die Nachtruhe des Treffs wird in dieser Pruefung abgeschaltet (gleiche
Stunden = keine Nachtruhe). Sonst waere sie zwischen Mitternacht und
sechs rot und danach gruen -- ein Test, der die Wanduhr misst.
pruef-chat, pruef-treffchat (110), pruef-chat-kanaele (81),
pruef-chat-ausbau (64): alle unveraendert gruen.
Co-Authored-By: Claude Opus 5 <[email protected]>
277 lines
13 KiB
HTML
277 lines
13 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=202609230135" />
|
||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609230135" />
|
||
<link rel="stylesheet" href="assets/css/gate.css?v=202609230135" />
|
||
<link rel="stylesheet" href="assets/css/start.css?v=202609230135" />
|
||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609230135" />
|
||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609230135" />
|
||
<link rel="stylesheet" href="assets/css/module.css?v=202609230135" />
|
||
<link rel="stylesheet" href="assets/css/haus.css?v=202609230135" />
|
||
</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>
|
||
|
||
<!-- 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>
|
||
<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. -->
|
||
<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>
|
||
|
||
<!-- ==================================================================
|
||
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. Die Karte — und darin die ABWEICHUNGEN zuerst.
|
||
4. 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.
|
||
============================================================== -->
|
||
|
||
<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>
|
||
|
||
<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=202609230135" defer></script>
|
||
<script src="assets/js/nachfrage.js?v=202609230135" defer></script>
|
||
|
||
|
||
<script src="assets/js/wahl.js?v=202609230135" defer></script>
|
||
<script src="assets/js/bereiche.js?v=202609230135" defer></script>
|
||
<script src="assets/js/installieren.js?v=202609230135" defer></script>
|
||
<script src="assets/js/kopf.js?v=202609230135" defer></script>
|
||
<script src="assets/js/holen.js?v=202609230135" defer></script>
|
||
<script src="assets/js/entwicklung.js?v=202609230135" defer></script>
|
||
</body>
|
||
</html>
|