Files
dogfather-universe/workspace/scouting.html
T
DogFatherGitandClaude Opus 5 77db1bcc2e Stufe 2: "Wann ist der naechste Stream?" steht jetzt oben
Aus dem Plan im Vault. Bei "Was ansteht" gibt es genau EINE Frage, die
ein Zuschauer hat -- und sie stand in Zeile vier einer Liste wie jede
andere Angabe auch.

Jetzt ganz oben, gross:

    ALS NAECHSTES
    in 12 Std 15 Min
    Abendstream
    17.09.2026 um 23:30 Uhr
    2 weitere Termine danach

Darunter wird die Liste zum ZEITSTRAHL: Heute und morgen · Diese Woche
· Spaeter · Ohne Datum · Vorbei. Vergangenes steht unten, nicht
dazwischen -- ein abgelaufener Termin zwischen kommenden liest sich wie
ein Fehler.

DER PLAN VERSPRACH ETWAS, DAS DIE DATEN NICHT HERGABEN.
"in 3 Std 12 Min" -- aber `eintraege.datum` ist ein TAG, und die
Pruefung im Server lehnte eine Uhrzeit ausdruecklich ab
(`^\d{4}-\d{2}-\d{2}$`). Ein Stundencountdown war unmoeglich.

Das ist die uebliche Sorte Planungsluecke: Sie steht nicht im Plan, sie
steht in der Datenbank. Neue Spalte `uhrzeit`, OPTIONAL -- viele
Termine haben keine ("diese Woche", "im Oktober"), und ein Pflichtfeld
haette dafuer eine erfundene erzwungen. Ohne Uhrzeit zaehlt der
Countdown in Tagen, und "morgen" ist eine ehrliche Antwort.

Der Ton folgt der NAEHE, nicht der Wichtigkeit: Was gleich anfaengt,
ist waermer. Das ist die einzige Information, die eine Farbe hier
tragen kann, ohne zu behaupten, ein Termin sei "besser" als ein
anderer. Kein Blinken, keine Animation -- auf dieser Seite steht
niemand unter Zeitdruck, er will es nur wissen.

NEU: pruef-countdown (22 Pruefungen)
Das Abnahmekriterium aus dem Plan, in Pixeln gemessen: Die Antwort MUSS
im ersten Bildschirm stehen (gemessen 458 px von 844) und groesser sein
als jede Fliesstextzeile (27 px). Dazu: Uhrzeit setzen, wiederfinden
und wieder ENTFERNEN; vier unmoegliche Zeiten; der Zeitstrahl mit
"Vorbei" ganz unten; und der leere Fall, in dem ein SATZ dasteht statt
einer leeren Flaeche.

UND EIN EIGENER FEHLER, gefunden von der eigenen Gegenprobe: Der
Testtitel war "X" -- ein Zeichen, der Server verlangt zwei. Vier
"wird abgelehnt"-Haken waren damit halb aus dem falschen Grund gruen.
Aufgefallen ist es nur, weil die Gegenprobe ("der gueltige Fall muss
durchgehen") danebenlag. Ohne sie haette die Pruefung vier Haken
gesetzt und nichts geprueft.

pruef-treff 66, pruef-bereiche-lesend, pruef-css-klassen gruen -- die
anderen sieben Bretter teilen sich diese Datei.

Der Plan im Vault fuehrt jetzt einen Abschnitt 12: "Was beim Bauen
herauskam, das im Plan nicht stand". Plaene altern, Befunde nicht.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-09-17 11:17:01 +02:00

183 lines
8.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>Scouting · 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=202609171113" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609171113" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609171113" />
<link rel="stylesheet" href="assets/css/start.css?v=202609171113" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609171113" />
<link rel="stylesheet" href="assets/css/scouting.css?v=202609171113" />
<link rel="stylesheet" href="assets/css/module.css?v=202609171113" />
<!-- 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=202609171113" />
</head>
<body class="start">
<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> · Scouting</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">Scout-CRM</p>
<h1 class="titel">Pipeline</h1>
<p class="unterzeile" id="unterzeile">Vom ersten Fund bis zur Übergabe – nachvollziehbar statt im Kopf.</p>
</div>
<div class="steuerung">
<div id="scoutwahl-block" hidden>
<label class="feld-schild" for="f-scout">Scout</label>
<select id="f-scout"><option value="">Alle Scouts</option></select>
</div>
<button type="button" class="knopf knopf--klein" id="neu-auf">Neuer Kontakt</button>
</div>
</section>
<p class="fehler" id="fehler" role="alert" aria-live="polite"></p>
<!-- Follow-ups: der Teil, der ohne System am ehesten untergeht. -->
<section class="faellig" id="faellig" hidden>
<p class="faellig__titel">Follow-up fällig</p>
<ul class="faellig__liste" id="faellig-liste"></ul>
</section>
<section class="neu" id="neu-block" hidden>
<h2 class="neu__titel">Neuer Kontakt</h2>
<form id="neu-form">
<div class="neu__raster">
<div class="feld feld--breit">
<label class="feld-schild" for="n-name">Name</label>
<input id="n-name" maxlength="120" required placeholder="Wie heißt die Person?" />
</div>
<div class="feld">
<label class="feld-schild" for="n-plattform">Plattform</label>
<input id="n-plattform" maxlength="60" placeholder="z. B. TikTok" />
</div>
<div class="feld">
<label class="feld-schild" for="n-handle">Profil / Handle</label>
<input id="n-handle" maxlength="120" placeholder="@…" />
</div>
<div class="feld">
<label class="feld-schild" for="n-prio">Priorität</label>
<select id="n-prio">
<option value="hoch">Hoch</option>
<option value="mittel" selected>Mittel</option>
<option value="niedrig">Niedrig</option>
</select>
</div>
<div class="feld" id="n-scout-block" hidden>
<label class="feld-schild" for="n-scout">Scout</label>
<select id="n-scout"><option value="">– niemandem zugeordnet –</option></select>
</div>
<div class="feld feld--breit">
<label class="feld-schild" for="n-aktivitaet">Aktivität &amp; LIVE-Fokus</label>
<input id="n-aktivitaet" maxlength="3000" placeholder="Wie oft LIVE? Welche Zeiten? Welches Format?" />
</div>
<div class="feld feld--breit">
<label class="feld-schild" for="n-potenzial">Potenzial &amp; Stil</label>
<input id="n-potenzial" maxlength="3000" placeholder="Was macht die Person besonders?" />
</div>
<div class="feld">
<label class="feld-schild" for="n-followup">Nächster Follow-up</label>
<input id="n-followup" type="date" />
</div>
<!-- DIE DREI QUALIFIZIERENDEN FRAGEN (11.09.2026).
Sie stehen schon beim Anlegen da, weil sie sonst nie
gestellt werden: "Schon im Netzwerk?" entscheidet, ob sich
der ganze Rest lohnt, und wer sie erst nach drei Nachrichten
stellt, hat drei Nachrichten zu viel geschrieben.
Alle drei sind freiwillig. Ein Pflichtfeld beim Anlegen
wäre die sichere Art, dafür zu sorgen, dass Kontakte gar
nicht erst eingetragen werden. -->
<div class="feld">
<label class="feld-schild" for="n-netzwerk">Schon im Netzwerk?</label>
<select id="n-netzwerk">
<option value="">– noch nicht gefragt –</option>
<option value="nein">frei</option>
<option value="ja">schon im Netzwerk</option>
<option value="unbekannt">noch nicht gefragt</option>
</select>
</div>
<div class="feld">
<label class="feld-schild" for="n-land">Land</label>
<select id="n-land">
<option value="">– nicht angegeben –</option>
<option value="DE">Deutschland</option>
<option value="AT">Österreich</option>
<option value="CH">Schweiz</option>
<option value="LU">Luxemburg</option>
<option value="andere">anderes Land</option>
</select>
</div>
<div class="feld">
<label class="feld-schild" for="n-follower">Follower</label>
<input id="n-follower" maxlength="14" inputmode="numeric" placeholder="z. B. 12400 oder 12,4k" />
</div>
</div>
<p class="fehler" id="n-fehler" role="alert" aria-live="polite"></p>
<div class="neu__knoepfe">
<button type="submit" class="knopf knopf--klein" id="n-speichern">Aufnehmen</button>
<button type="button" class="knopf-still" id="neu-zu">Abbrechen</button>
</div>
</form>
</section>
<div id="pipeline" aria-busy="true"><p class="leise">Pipeline wird geladen …</p></div>
</main>
<!-- Zugangscode nach dem Onboarding: genau einmal sichtbar. -->
<div class="schleier" id="code-schleier" hidden>
<div class="code-fenster" role="dialog" aria-modal="true" aria-labelledby="code-titel">
<p class="marke">Onboarding gestartet</p>
<h2 class="code-fenster__titel" id="code-titel">Zugangscode</h2>
<p class="code-fenster__text">
Dieser Code wird <strong>genau einmal</strong> angezeigt und ist danach nicht mehr
abrufbar. Gib ihn persönlich weiter, nicht über einen offenen Kanal.
</p>
<p class="code-fenster__code" id="code-wert">—</p>
<div class="neu__knoepfe">
<button type="button" class="knopf knopf--klein" id="code-kopieren">Kopieren</button>
<button type="button" class="knopf-still" id="code-zu">Habe ich notiert</button>
</div>
</div>
</div>
<script src="assets/js/wahl.js?v=202609171113" defer></script>
<script src="assets/js/bereiche.js?v=202609171113" defer></script>
<script src="assets/js/kopf.js?v=202609171113" defer></script>
<script src="assets/js/glocke.js?v=202609171113" defer></script>
<script src="assets/js/scouting.js?v=202609171113" defer></script>
</body>
</html>