Files
dogfather-universe/workspace/talente.html
T
DogFatherGitandClaude Opus 5 cebdd88e8d Support: der Melder hat das letzte Wort -- und die Kachel bekommt ihren eigenen Stil
Filipe: "ich will dass die leute die mir was geschickt haben im support,
auch meine notiz bekommen wenn ich fertig bin. damit die bescheid wissen
und dan anklicken koennen, es funktioniert, oder noch nicht. und erst
wenn es funktioniert gedrueckt wird, will ich dass alles richtig fertig
ist. perfektionier den ganzen weg und mit dem gedanken das manchmal
sachen mehrmal nicht sofort perfekt sein werden."

DER GANZE WEG, nicht nur der Schlusspunkt:

1. Die Leitung drueckt "Behoben - nachfragen ...". Der Knopf hiess
   vorher "Erledigt ..." und tat auch das; jetzt stellt er eine Frage,
   also heisst er auch so. Eine Beschriftung, die etwas anderes sagt
   als der Knopf tut, glaubt man genau einmal.

2. Die Meldung steht auf "wartet" -- ein vierter Stand zwischen "wird
   bearbeitet" und "erledigt". Beim Melder heisst er "geht es wieder?",
   weil er aus SEINER Sicht keine Wartezeit ist, sondern eine Frage.

3. Er sieht die Notiz und zwei Knoepfe. "Geht wieder" ohne Rueckfrage
   (der haeufige, harmlose Fall). "Noch nicht" verlangt ein Wort --
   sonst faengt die Suche von vorn an und die naechste Runde waere
   dieselbe wie die letzte.

4. "Noch nicht" ist keine Beschwerde, sondern Runde 2: zurueck in
   Arbeit, Rundenzahl plus eins, Leitung bekommt eine Nachricht, und
   der Verlauf behaelt, was beim letzten Mal versucht wurde. Niemand
   faengt von vorn an -- genau der Fall, den Filipe genannt hat.

5. Erst sein "Geht wieder" schliesst die Meldung. Danach kann weder er
   noch die Leitung sie wieder aufmachen (409).

NUR DER MELDER darf bestaetigen, ausdruecklich nicht die Leitung
(`person_id !== req.person.id`, nicht "ist Leitung") -- sonst nickt sie
ihre eigene Arbeit ab und der ganze Umweg waere Zierde. Eine fremde
Meldung gibt 404, nicht 403: Wer sie nicht sehen darf, soll auch nicht
erfahren, dass es sie gibt.

DER VERLAUF STEHT UNTEREINANDER statt nur der letzten Antwort. Bei
Runde drei war sonst nicht mehr zu sehen, was beim ersten Mal versucht
wurde, und genau das loest einen wiederkehrenden Fehler. Meldungen von
vor diesem Umbau haben keinen Verlauf -- die zeigen wie bisher ihre
blosse Antwort, ein leerer Kasten waere schlechter als der alte Satz.

DIE KACHEL SIEHT ANDERS AUS (zweiter Wunsch: "viel geiler viel
profissioneller ... die hauptfarbe soll babyblau sein mit bissl lila").
`support-seite` traegt den Stil; alle Regeln haengen daran und gelten
damit nur hier. Zwei weiche Lichter, Pillen statt Kaesten als Filter,
eine leuchtende Naht ueber dem Meldefeld. Augenschonend: gedeckt, kein
Neon, Kontrast geprueft.

GEMESSEN:
- pruef-support: 45 -> 58 Pruefungen, 0 Fehler. Der ganze Weg einmal
  durch, MIT einer Runde, die schiefgeht. Dazu drei Gegenproben: die
  Leitung kann nicht fuer den Melder bestaetigen (404), "noch nicht"
  ohne Wort wird abgelehnt (400), eine geschlossene Meldung bleibt zu
  (409, aus beiden Richtungen).
- Die Schemaaenderung auf einer KOPIE der echten Datenbank
  durchgespielt: 72 Tabellen, keine Zeile und keine Spalte verloren,
  support_runden und `runde` da, 'wartet' in der CHECK-Regel.
- pruef-css-klassen, pruef-deutsche-texte, pruef-code, pruef-glocke:
  alle gruen.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-09-25 04:55:14 +02:00

126 lines
5.5 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>Talente · 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=202609250454" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609250454" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/start.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609250454" />
<!-- Wegen des Kastens „Anfragen“ ueber der Liste. Eine eigene Kopie
der Regel hier waere die zweite Stelle, an der dieselbe Sache
anders aussieht. -->
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/module.css?v=202609250454" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609250454" />
</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&nbsp;Dogi</a> · Talente</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">Entwicklung &amp; Nachwuchs</p>
<h1 class="titel">Talente</h1>
<p class="unterzeile">
Zuschauer, die ins Team passen könnten. Ein Trichter, keine Liste –
jede Stufe hat genau einen nächsten Schritt.
</p>
</div>
</section>
<p class="fehler" id="fehler" role="alert" aria-live="polite"></p>
<!-- DIE ANFRAGEN GEHOEREN AN DEN ANFANG DIESES TRICHTERS.
Wer sich selbst meldet, ist ein Kandidat wie jeder andere -- nur
dass er die erste Frage ("besteht ueberhaupt Interesse?") schon
beantwortet hat. Deshalb steht der Weg dorthin auf DIESER Seite
und nicht als eigene Kachel daneben: Sonst waere aus einem Weg
zwei Seiten geworden, die man abwechselnd aufmacht.
Der Kasten steht ueber der Liste, weil eine unbeantwortete
Anfrage dringender ist als ein Kandidat, der seit Wochen
beobachtet wird. -->
<section id="anfragen-tor" class="bw-tor" hidden></section>
<!-- ==================================================================
HIER STEHEN NAMEN VON MENSCHEN, DIE NICHTS DAVON WISSEN.
Diese Seite gehört DogFather und der rechten Hand — sonst niemand,
keine Agentur, und ganz sicher nicht die Community. Durchgesetzt
wird das in der Rechtetafel UND in workspace-entwicklung.js; der
Satz hier ist nur die Erinnerung daran, warum.
Deshalb gibt es auch keine Rückmeldung an einen Kandidaten und
keinen heimlichen Test mit einem Zweitkonto. Wer beobachtet wird,
ohne es zu wissen, hat ein Recht darauf, dass daraus nichts
Öffentliches wird.
============================================================== -->
<!-- DER ZUGANGSCODE STEHT AUSSERHALB DER LISTE, und das ist kein
Schönheitsgrund. Die Liste wird nach jeder Änderung neu
gezeichnet – stünde der Kasten darin, wäre der Code in genau dem
Moment wieder weg, in dem er entsteht: wenn die Karte auf „Im
Team“ springt.
DERSELBEN KLASSEN WIE IN „PERSONEN & ZUGÄNGE“. Ein Geheimnis
sieht im ganzen Haus gleich aus – zwei Gestaltungen für dieselbe
Sache wären zwei Gelegenheiten, eine davon falsch zu machen. -->
<div class="code-kasten" id="code-kasten" hidden role="status" aria-live="polite">
<p class="code-kasten__schild">Zugangscode für <span id="code-name"></span></p>
<p class="code-kasten__code" id="code-wert"></p>
<p class="code-kasten__hinweis">
Dieser Code wird <strong>nur jetzt</strong> angezeigt und ist danach nicht mehr
abrufbar. Persönlich weitergeben und in Bitwarden ablegen.
</p>
<div class="t-text__knoepfe">
<button type="button" class="knopf knopf--klein" id="code-kopieren">Kopieren</button>
<button type="button" class="abmelden" id="code-schliessen">Verstanden, schließen</button>
</div>
</div>
<section id="trichter" class="t-trichter" aria-busy="true"></section>
<section id="liste" class="t-liste" aria-busy="true">
<p class="leise">wird geladen …</p>
</section>
</main>
<script src="assets/js/meldung.js?v=202609250454" defer></script>
<script src="assets/js/nachfrage.js?v=202609250454" defer></script>
<script src="assets/js/wahl.js?v=202609250454" defer></script>
<script src="assets/js/bereiche.js?v=202609250454" defer></script>
<script src="assets/js/installieren.js?v=202609250454" defer></script>
<script src="assets/js/kopf.js?v=202609250454" defer></script>
<script src="assets/js/glocke.js?v=202609250454" defer></script>
<script src="assets/js/holen.js?v=202609250454" defer></script>
<script src="assets/js/talente.js?v=202609250454" defer></script>
</body>
</html>