Files
dogfather-universe/workspace/team.html
T
DogFatherGitandClaude Opus 5 418b6211e2 Ein Hinweis auf eine Seite, die es hier nicht gibt, ist kein Hinweis
Filipe, mit dem Bildschirmfoto auf crew.: "wieso steht es noch da?" --
"1 Punkt im Start-Check braucht Handlung", mit einem Pfeil auf eine
Seite, die seit einer Stunde dort gesperrt ist.

MEIN FEHLER VON HEUTE MITTAG. Ich hatte die Seiten gesperrt und
ausdruecklich dazugeschrieben "nur die Seiten, nicht die
Schnittstellen" -- und dabei uebersehen, dass es eine DRITTE Stelle
gibt. Die Hinweise auf der Startseite sind keine Seite und keine
Schnittstelle, sondern eine Liste von VERWEISEN. Der Satz im Kommentar
klang vollstaendig und war es nicht.

Nachgesehen, wer sonst noch Seitenziele ausliefert, statt zu raten:

  workspace-hinweise.js   alle 16 Hinweise, ueber dazu()   -> behoben
  workspace-suche.js      jeder Treffer traegt ein Ziel    -> behoben
  workspace-push.js       Benachrichtigungen tragen eines  -> OFFEN

Die ersten beiden bekommen dieselbe Regel wie die Seiten, nicht eine
zweite: gehoertAufDieseAdresse(). Was hier keine Seite hat, bekommt
hier auch keinen Hinweis und keinen Treffer. Bei der Suche fallen leere
Gruppen mit weg (eine Ueberschrift ohne Treffer sieht aus, als waere
etwas kaputt) und `gesamt` wird danach abgeleitet, sonst nennt die Zahl
Treffer, die gar nicht dastehen.

DIE ADRESSE IST IMMER DIE ECHTE: Beide Stellen benutzen `req.sicht ||
req.person`. Der Sicht-Umschalter aendert, WESSEN Zahlen dastehen --
nicht, auf welcher Wand man steht. Das Haus kommt deshalb aus
req.person.

PUSH BLEIBT OFFEN, und zwar bewusst: Eine Benachrichtigung entsteht,
wenn niemand auf einer Adresse steht. Sie geht an ein GERAET, und das
oeffnet die Adresse, als die es installiert wurde. Das ist eine andere
Frage als diese hier, und eine halbe Antwort waere schlechter als
keine. Gehoert eigens angesehen.

Was die Gegenprobe gefunden hat -- an mir selbst, zweimal:

  Der erste Entwurf der Pruefung legte die Tabelle `startcheck` mit
  erfundenen Spalten selbst an. Die echte war laengst da, das
  IF NOT EXISTS schwieg, der INSERT scheiterte. Die Pruefung haette
  gemeldet, der Hinweis stehe nirgends -- richtig und wertlos.

  Und "kein Suchtreffer zeigt dorthin" stand ueber NULL Treffern. Jetzt
  wird erst nachgewiesen, dass die Suche denselben Menschen auf der
  Agenturadresse wirklich findet (1 Treffer -> profil.html).

  server/pruef-haus-seiten.mjs   34 Pruefungen (vorher 24), 0 Fehler
  pruef-sicht, pruef-haus-trennung 66, pruef-betreuung,
  pruef-manager-sicht 43 -- alle 0 Fehler

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-09-15 14:30:31 +02:00

120 lines
5.2 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
<title>Team · Spicy &amp; 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=202609151430" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609151430" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609151430" />
<link rel="stylesheet" href="assets/css/start.css?v=202609151430" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609151430" />
<link rel="stylesheet" href="assets/css/team.css?v=202609151430" />
<link rel="stylesheet" href="assets/css/module.css?v=202609151430" />
<!-- 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=202609151430" />
</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">Creator&nbsp;Workspace</a> · Team</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">
<!-- ==== DER KOPF ================================================
Er sagt in einem Satz, was diese Seite ist UND was sie nicht
ist. Der zweite Teil ist der wichtigere: Eine Seite mit Zahlen
über Kollegen wird sonst als Überwachung gelesen -- und dann
arbeitet niemand mehr offen damit.
Aus der Recherche (Fachliteratur zu Arbeitslast-Dashboards):
Der Zweck ist, Stellen zu finden, an denen Unterstützung fehlt.
Wer das nicht dazuschreibt, baut ein Kontrollwerkzeug, auch wenn
er es nicht wollte. -->
<!-- ==== EINE ECHTE KACHEL, IM TON DER KATEGORIE (09.09.2026) ====
Filipe: "perfektionnir das in einer kachel in der farbe von der
kategorie bitte."
`t-kachel` steht in der Modulliste von module.css und bekommt
damit dieselbe Form wie jede Kachel im Haus: gefraeste Fase oben
links, Kantenlicht, Eckwinkel, Raster. Die FARBE kommt aus
`--ton` -- derselben Variablen, aus der die Kachel auf der
Startseite ihren Ton zieht, und dort ist es Ton 22 (#ffd166).
Beide lesen dieselbe Zahl; die Kachel auf der Startseite und die
Ueberschrift hier koennen also nicht auseinanderlaufen. -->
<section class="t-kachel" data-ton="22">
<div class="t-kopf">
<div class="t-kopf__text">
<p class="feldschild">Rund um das Team</p>
<h1 class="t-kopf__titel">Manager &amp; Scouts</h1>
<p class="t-kopf__unter" id="kopf-unter">
Wer betreut wen, wo staut sich etwas, wo fehlt jemand.
</p>
</div>
<p class="t-kopf__grenze">
Termine, Chats und Dateien kommen hier nicht vor – weder Inhalte
noch Zahlen. Das ist eine <strong>Arbeitslage</strong>, keine Überwachung.
</p>
</div>
</section>
<p class="fehler" id="fehler" role="alert" aria-live="polite"></p>
<!-- ==== DIE LÜCKEN ZUERST ======================================
Eine Kennzahl sagt, wie es läuft. Eine Lücke sagt, wo etwas
fehlt -- und nur das Zweite kann man heute abstellen. Deshalb
steht sie oben und nicht unter den Tabellen. -->
<section class="t-luecken" id="luecken" hidden></section>
<!-- ==== DIE LAGE IN ZAHLEN ===================================== -->
<section class="t-lage" id="lage" hidden></section>
<!-- ==== DIE LEUTE ==============================================
Jede Person einzeln, nicht als Durchschnitt: Zwei Scouts mit je
sechs Creators und einer mit achtzehn ergeben einen Schnitt von
zehn -- und der sagt nichts über den, bei dem es klemmt. -->
<section class="t-gruppe" id="manager-block" hidden>
<h2 class="feldschild">Manager</h2>
<div class="t-liste" id="manager-liste"></div>
</section>
<section class="t-gruppe" id="scout-block" hidden>
<h2 class="feldschild">Scouts</h2>
<div class="t-liste" id="scout-liste"></div>
</section>
<p class="leise" id="laedt">Die Arbeitslage wird geladen …</p>
</main>
<script src="assets/js/wahl.js?v=202609151430" defer></script>
<script src="assets/js/bereiche.js?v=202609151430" defer></script>
<script src="assets/js/kopf.js?v=202609151430" defer></script>
<script src="assets/js/glocke.js?v=202609151430" defer></script>
<script src="assets/js/team.js?v=202609151430" defer></script>
</body>
</html>