Files
dogfather-universe/workspace/content.html
T
DogFatherGitandClaude Opus 5 5707e22b45 Die Seite springt nicht mehr -- und die Kachel zaehlt mit
Zwei Meldungen von Filipe, und sie gehoeren zusammen: Er hat beides am
selben Klick gemerkt.

  "immer wenn ich auf was drücke dan geht das fenster wieder hoch. die
   seite soll sich nicht immer wieder bewegen wenn ich auf was drücke."

  "und wieso steht bei vanvan 0 von 28 obwohl ich alle durch habe."

DER SPRUNG: In karte() stand ein scrollIntoView OHNE Bedingung -- und
die Funktion wird an vier Stellen gerufen. Beim Oeffnen einer Person
ist es richtig; nach dem ersten Klick auf einen Punkt, beim Aufklappen
aller Kategorien und nach dem Anlegen eines Schritts ist es falsch. Man
tippt unten auf "Läuft" und steht wieder ganz oben. `springen` ist
jetzt Vorgabe NEIN, und genau eine Stelle sagt ja.

Und selbst ohne Sprung bewegte sich die Seite: Der Neuaufbau aendert
die Hoehe der Karte (eine Zeile "Schritt läuft" kommt dazu), der
Browser behaelt nur die Pixelzahl. Die Hoehe wird deshalb gehalten.

"Alle aufklappen" holt die Karte gar nicht mehr neu -- Aufklappen ist
eine Sache der Anzeige, dafuer braucht es den Server nicht.

DIE NULL: Die Kachel kommt aus /entwicklung/lage -- EINMAL, beim Laden
der Seite. Die Karte holt ihren Stand bei jedem Oeffnen neu. Wer 28
Punkte durchklickt, sieht in der Karte 28 von 28 und auf der Kachel
darueber die Zahl von vorhin. Zwei Wahrheiten auf einem Bildschirm, und
die falsche steht oben.

Die Liste NICHT neu zu holen ist Absicht -- jeder Neuaufbau bewegt die
Seite, und darueber ging die andere Meldung. Stattdessen wandert die
Zahl mit, zusammen mit dem Kopf der Karte und den Koepfen der
Kategorien ("3 / 7", "2 x hakt").

WAS DIE PRUEFUNG AN MIR SELBST GEFUNDEN HAT, dreimal:

  - Sie mass nach dem Sprung aufs Aufgabenbrett weiter und verglich
    zwei leere Texte. Zwei leere Texte sind gleich und beweisen nichts
    -- gemeldet hat es die Zahl in der Bedingung daneben.
  - Danach verglich sie Fridas Kachel mit Riekes Karte und meldete
    einen Unterschied zwischen zwei verschiedenen Menschen. Beinahe
    haette ich einen Fehler gesucht, den es nicht gab.
  - Und "wo etwas hakt, steht es im Kopf" waere ab heute auch ueber
    vier VERSTECKTEN Hinweisen gruen gewesen: Der Hinweis steht jetzt
    immer im Baum, damit er nachgezogen werden kann, ohne den Kopf neu
    zu bauen. Jetzt wird auf sichtbar geprueft, nicht auf vorhanden.

  server/pruef-schritt.mjs   65 Pruefungen (vorher 57), 0 Fehler
  Beide Meldungen werden am selben Klick nachgestellt: Hoehe und Zahl
  vorher merken, EINMAL druecken, beides nachsehen. Mit Gegenprobe --
  auf eine Person zu druecken DARF springen, sonst hiesse "springt
  nicht" nur, dass gar nichts mehr scrollt.

  pruef-css-klassen, pruef-entwicklung 43, pruef-neue-seiten 93 -- 0 Fehler

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

191 lines
8.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>Content-Ideen · 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=202609151721" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609151721" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609151721" />
<link rel="stylesheet" href="assets/css/start.css?v=202609151721" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609151721" />
<link rel="stylesheet" href="assets/css/content.css?v=202609151721" />
<link rel="stylesheet" href="assets/css/module.css?v=202609151721" />
<!-- 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=202609151721" />
</head>
<body class="start">
<!-- Der Schleier ueber der Buehne (Casper und HasiDog in den unteren
Ecken, siehe start.css). Ein eigenes Element statt eines dritten
Pseudo-Elements -- body hat nur ::before und ::after. -->
<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> · Content</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">Betreuung</p>
<h1 class="titel">Content-Ideen</h1>
<p class="unterzeile" id="unterzeile">
Von der Idee bis zum Upload – eine Strecke, kein Terminkalender.
</p>
</div>
<button type="button" class="knopf knopf--klein" id="neu-oeffnen">Video anlegen</button>
</section>
<p class="fehler" id="fehler" role="alert" aria-live="polite"></p>
<!-- Kennzahlen. Bewusst wenige und jede mit einer Handlung dahinter –
eine Zahl ohne Vergleich ist eine Eitelkeitszahl. -->
<!-- Die Kennzahlen-Reihe stand hier bis zum 01.09.2026 ("diese Kisten
sind jetzt ueberall zu viel, die sollen weg"). Die Strecke darunter
zeigt dieselben Zahlen an jeder Spalte. -->
<!-- Säulen-Balance: gestapelter Balken, 90 Tage, nur Veröffentlichtes. -->
<section class="balance" id="balance" hidden>
<div class="klapp-kopf">
<p class="feldschild">Womit der Kanal gefüllt wird <span class="leise" id="balance-zeit"></span></p>
<button type="button" class="knopf-still" id="saeulen-oeffnen">Säulen verwalten</button>
</div>
<div class="balance__balken" id="balance-balken" role="img" aria-label="Verteilung auf die Content-Säulen"></div>
<ul class="legende" id="balance-legende"></ul>
<p class="balance__hinweis" id="balance-hinweis"></p>
</section>
<!-- Säulen verwalten. Zugeklappt, weil man das selten anfasst. -->
<section class="saeulen-kasten" id="saeulen-kasten" hidden>
<div class="klapp-kopf">
<p class="feldschild">Content-Säulen</p>
<button type="button" class="knopf-still" id="saeulen-zu">Schließen</button>
</div>
<p class="block__frage">
Drei bis fünf Themen, aus denen der Kanal besteht. Als Richtwert gilt
<strong>70 % Wert</strong> (Unterhaltung, Hilfe), <strong>20 % Community</strong>,
<strong>10 % Eigenwerbung</strong>. Eine Säule wird erst brauchbar, wenn Formate an ihr hängen.
</p>
<div id="saeulen-liste"></div>
<form class="saeule-neu" id="saeule-neu">
<div class="feld feld--saeule-creator" id="feld-saeule-creator" hidden>
<label class="feld-schild" for="s-creator">Für</label>
<select id="s-creator"></select>
</div>
<div class="feld">
<label class="feld-schild" for="s-name">Name der Säule</label>
<input id="s-name" maxlength="40" placeholder="z. B. Tutorials" required />
</div>
<div class="feld feld--schmal">
<label class="feld-schild" for="s-ziel">Ziel-Anteil %</label>
<input id="s-ziel" type="number" min="0" max="100" step="5" placeholder="z. B. 70" />
</div>
<button type="submit" class="knopf knopf--klein">Hinzufügen</button>
</form>
</section>
<!-- Formular für ein neues Video -->
<form class="neu" id="neu" hidden>
<div class="neu__raster">
<div class="feld feld--breit">
<label class="feld-schild" for="f-titel">Worum geht es?</label>
<input id="f-titel" name="titel" maxlength="160" required
placeholder="z. B. „3 Fehler beim ersten LIVE“" />
</div>
<div class="feld feld--breit">
<label class="feld-schild" for="f-hook">
Hook <span class="leise">– die ersten Sekunden, sie entscheiden über alles</span>
</label>
<input id="f-hook" name="hook" maxlength="300"
placeholder="z. B. „Ich hab 4 Monate gebraucht, um das zu kapieren.“" />
</div>
<div class="feld" id="feld-creator" hidden>
<label class="feld-schild" for="f-creator">Creator</label>
<select id="f-creator"></select>
</div>
<div class="feld">
<label class="feld-schild" for="f-art">Stufe</label>
<select id="f-art"></select>
</div>
<div class="feld">
<label class="feld-schild" for="f-saeule">Säule</label>
<select id="f-saeule"></select>
</div>
<div class="feld">
<label class="feld-schild" for="f-format">Format</label>
<input id="f-format" maxlength="60" list="formate" placeholder="z. B. Tutorial" />
<datalist id="formate">
<option value="Talking Head"></option>
<option value="Tutorial"></option>
<option value="Story"></option>
<option value="LIVE-Ausschnitt"></option>
<option value="Vorher/Nachher"></option>
<option value="Reaktion"></option>
<option value="Behind the Scenes"></option>
</datalist>
</div>
<div class="feld">
<label class="feld-schild" for="f-geplant">Soll raus am</label>
<input id="f-geplant" type="date" />
</div>
<div class="feld feld--breit">
<label class="feld-schild" for="f-text">Ablauf, Notizen (optional)</label>
<textarea id="f-text" rows="3" maxlength="6000"></textarea>
</div>
</div>
<p class="fehler" id="neu-fehler" role="alert" aria-live="polite"></p>
<div class="neu__knoepfe">
<button type="submit" class="knopf knopf--klein" id="neu-speichern">Anlegen</button>
<button type="button" class="abmelden" id="neu-abbrechen">Abbrechen</button>
</div>
</form>
<div class="filterzeile" id="filterzeile"></div>
<!-- Die Strecke. Fünf Spalten, auf dem Handy untereinander. -->
<!-- Fertige Ideen zum Uebernehmen. Steht VOR der Strecke: Wer noch
nichts hat, soll nicht erst an leeren Spalten vorbeiscrollen. -->
<div id="vorlagen" hidden></div>
<div class="strecke" id="strecke" aria-busy="true">
<p class="leise">Wird geladen …</p>
</div>
</main>
<script src="assets/js/wahl.js?v=202609151721" defer></script>
<script src="assets/js/bereiche.js?v=202609151721" defer></script>
<script src="assets/js/kopf.js?v=202609151721" defer></script>
<script src="assets/js/glocke.js?v=202609151721" defer></script>
<script src="assets/js/checkliste.js?v=202609151721" defer></script>
<script src="assets/js/vorlagen.js?v=202609151721" defer></script>
<script src="assets/js/content.js?v=202609151721" defer></script>
</body>
</html>