`pruef-chat-ausbau` stand seit dem 28.09. rot:
FEHL die Stelle bleibt stehen (0 -> 3574)
FEHL der Knopf sagt, wie viel wartet ("Zum neuesten")
FEHL er zaehlt mit ("Zum neuesten")
FEHL pruef-chat-ausbau: unbehandelter Fehler (der Knopf blieb verborgen)
WAS WIRKLICH PASSIERTE: Man liest weiter oben im Verlauf, jemand
schreibt -- und man wird ans Ende gerissen. Der Zaehler „1 neue
Nachricht" wurde dabei zurueckgesetzt, der Knopf blieb verborgen.
DIE URSACHE STAND AN DER FALSCHEN STELLE. Die Zuhoerer, die „der
Mensch hat selbst gescrollt" feststellen (Rad, Finger, Taste,
Zeiger), hingen INNERHALB des Sprung-Blocks zur Neu-Linie -- wurden
also erst angehaengt, NACHDEM einmal gesprungen worden war.
In einem ruhigen Gespraech passiert das nie: Wer alles gelesen hat,
bekommt keine Neu-Linie, der Block laeuft nicht, die Zuhoerer gibt es
nicht. Scrollt er hoch und es kommt eine Nachricht, entsteht die
Linie ZUM ERSTEN MAL -- der Block laeuft, haengt die Zuhoerer an und
springt im selben Atemzug. Das Hochscrollen von vorhin hat nie jemand
bemerkt.
Das ist der haeufigste Fall ueberhaupt: ein stiller Chat, man liest
etwas weiter oben nach, jemand schreibt.
Die Wache steht jetzt beim Aufbau, bei den uebrigen Zuhoerern des
Verlaufs. Ausdruecklich NICHT am `scroll`-Ereignis: Der Sprung
scrollt selbst, und `scroll` unterscheidet nicht, wer gescrollt hat.
Rad, Finger, Taste und Zeiger tut nur ein Mensch.
UND DIE PRUEFUNG HAT SELBST GEMOGELT. Sie schrieb `e.scrollTop = 0`
-- das setzt die Bildlaufposition zu, ohne dass ein Rad gedreht
wurde. Damit haette sie den Fehler auch nach der Behebung noch
gemeldet. Sie dreht jetzt das Rad (`mouse.wheel`) und prueft, dass
sie oben angekommen ist. Dieselbe Lehre wie bei den Fingergeraeten:
`setViewportSize` macht aus einer Maus keinen Finger, und
`scrollTop = 0` macht aus einem Programm keinen Leser.
Nachher: 70 Pruefungen, 0 Fehler (vorher 24/4).
die Stelle bleibt stehen (0 -> 0)
der Knopf sagt, wie viel wartet ("1 neue Nachricht")
er zaehlt mit ("2 neue Nachrichten")
wer unten steht, wird weiterhin mitgenommen -- ohne Knopf
Alle sieben Chatpruefungen gruen: anhaenge 123/0, aufloesen 126/0,
ausbau 70/0, kanaele 81/0, neu-stelle 63/0, neu 36/0, optik 62/0.
Co-Authored-By: Claude Opus 5 <[email protected]>
187 lines
8.4 KiB
HTML
187 lines
8.4 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>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=202609301122" />
|
||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609301122" />
|
||
<link rel="stylesheet" href="assets/css/gate.css?v=202609301122" />
|
||
<link rel="stylesheet" href="assets/css/start.css?v=202609301122" />
|
||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609301122" />
|
||
<link rel="stylesheet" href="assets/css/scouting.css?v=202609301122" />
|
||
<link rel="stylesheet" href="assets/css/module.css?v=202609301122" />
|
||
<!-- 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=202609301122" />
|
||
</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 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 & 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 & 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/meldung.js?v=202609301122" defer></script>
|
||
<script src="assets/js/nachfrage.js?v=202609301122" defer></script>
|
||
|
||
<script src="assets/js/wahl.js?v=202609301122" defer></script>
|
||
<script src="assets/js/bereiche.js?v=202609301122" defer></script>
|
||
<script src="assets/js/installieren.js?v=202609301122" defer></script>
|
||
<script src="assets/js/kopf.js?v=202609301122" defer></script>
|
||
<script src="assets/js/glocke.js?v=202609301122" defer></script>
|
||
<script src="assets/js/scouting.js?v=202609301122" defer></script>
|
||
</body>
|
||
</html>
|