Files
dogfather-universe/workspace/willkommen.html
T
DogFatherGitandClaude Opus 5 2764aea61c Kampagnen: auswaehlen, wo die Kachel hingehoert -- TikTok oder Agentur
Filipe, mit einem Bild des Einlesekastens: "das sind die von der
agentur selbst. die krieg ich so, perfektioniere das und auch das ich
auswaehlen kann wo es hingehoert, zu tiktok oder der agentur." Dazu
sein echter Link: https://vm.tiktok.com/ZSbACwAnK/

ZWEI FRAGEN, DIE BISHER EINE WAREN. "Woher kam der Link" und "wem
gehoert das Event" wurden beide aus `kampagne_id` beantwortet: Wer
ueber eine Einladung eingelesen wurde, stand links. Die Agentur
schickt ihre eigenen Events aber ebenfalls als TikTok-Link -- damit
war die Zuordnung zwangslaeufig falsch.

Neue Spalte `kampagne_seite` mit DREI Zustaenden, und NULL ist einer
davon: niemand hat gewaehlt -> wie bisher nach der Herkunft. Alle
bestehenden Kacheln behalten dadurch genau ihren Platz, ohne dass
etwas umgestellt werden musste. Gewaehlt wird im Einlesekasten
(Automatisch / TikTok / Agentur, "Automatisch" vorbelegt) und
nachtraeglich an der Kachel ("zur Agentur" / "zu TikTok"). Nur die
Leitung; bei einem Creator wird das Feld stillschweigend entfernt.

GEMESSEN AN SEINEM ECHTEN LINK, mit Gegenprobe:
  vm.tiktok.com/ZSbACwAnK/
    -> www.tiktok.com/tcn/activity?activity_id=7691301069758087175
    -> 233 KB reine Huelle, kein __MODERN_ROUTER_DATA__
  dieselbe Nummer auf dem Weg der oeffentlichen Kampagnenseite
    -> 42 KB, ebenfalls ohne Datenpaket
  eine echte Kampagne auf demselben Weg
    -> 967 KB MIT Datenpaket
Die Kampagne existiert also nicht als oeffentliche Seite: Das Creator
Network baut seine Seiten erst im Browser auf, angemeldet. Von aussen
kann das niemand lesen -- auch kein anderes Programm.

Daraus zwei Dinge:
  - `nummerAusAdresse` liest jetzt BEIDE Schreibweisen (`activityId`
    auf der Kampagnenseite, `activity_id` im Creator Network).
  - `istCreatorNetwork` erkennt solche Links VOR dem Abruf. Statt 502
    "TikTok hat nicht geantwortet" (eine Ursache, die es nicht gibt)
    kommt 422 mit dem, was wirklich los ist -- und mit dem Weg
    daneben: das Event von Hand anlegen, Link in die Beschreibung.

BERICHTIGT: Der PATCH-Weg stand als '/workspace/api/bereich/agentur/'
+ e.id im Browser und war fuer pruef-struktur nicht mehr zuzuordnen
-- jetzt `${bereich}` wie bei den Nachbarn, was nebenbei den zweiten
Ort mit "agentur" im Text wegnimmt. Und "Automatisch" hatte keinen
eigenen Ton und fiel auf `--akzent` zurueck: auf dem Agenturbrett
genau das Gelb der rechten Spalte, die vorbelegte Moeglichkeit sah
also aus wie "Agentur".

GEPRUEFT: 169 (Route, +22), 170 (Kachel, +12), 67 (Agentur), 67
Messungen (Bild), 107 (Haus-Trennung, unveraendert), dazu struktur,
css-klassen, zeichen, deutsche-texte, formulare, tippziele. Drei
Gegenproben: Auswahl verwerfen, Creator-Network durchlassen, Kachel
wieder nur nach Herkunft -- alle drei werden bemerkt, alle Dateien
byte-gleich wiederhergestellt.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-10-07 23:46:41 +02:00

90 lines
3.7 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>Willkommen &amp; Anleitung · Team Dogi</title>
<meta name="robots" content="noindex, nofollow" />
<!-- ====================================================================
DIESE SEITE IST UMGEZOGEN (06.10.2026)
Bauplan „Willkommen & Anleitung — Einweisung je Rolle", Kapitel 03:
„Adresse: bleibt willkommen.html. Alte Verweise funktionieren
weiter."
Die Einweisung selbst liegt auf `anleitung.html` — dort war sie für
die Agentur schon gebaut, und am 06.10. hat Team Dogi ihre vier
Fassungen dazubekommen. Zwei Seiten mit demselben Zweck
nebeneinander wären zwei Stände, von denen einer irgendwann
veraltet; was hier stand (eine Liste ALLER Bereiche, gleich
behandelt), ist genau das, was Kapitel 01 des Bauplans als Problem
beschreibt.
DREI WEGE, DAMIT KEINER INS LEERE LÄUFT:
1. `http-equiv="refresh"` — wirkt auch ohne JavaScript.
2. `location.replace` — sofort, und OHNE Eintrag im Verlauf:
Sonst landete man beim Zurückgehen wieder hier und würde
erneut weitergeleitet. Eine Falle, aus der man nicht
herauskommt.
3. Ein sichtbarer Verweis — falls beides nicht greift.
Die Suchparameter werden mitgenommen: Wer mit `?schritt=…` kommt,
soll dort landen, wohin er wollte.
==================================================================== -->
<meta http-equiv="refresh" content="0; url=anleitung.html" />
<link rel="canonical" href="anleitung.html" />
<!-- DIE DREI, DIE JEDE SEITE DIESES HAUSES BRAUCHT (07.10.2026).
pruef-struktur hat sie hier vermisst, und das zu Recht -- auch
wenn diese Seite nur einen Wimpernschlag zu sehen ist:
theme-color sonst zeichnet Android die Fensterleiste WEISS,
und wer aus einem alten Lesezeichen kommt,
bekommt einen hellen Balken ueber einer
durchweg dunklen Seite.
manifest sonst oeffnet die Seite auf dem Handy AUSSERHALB
der App -- die Weiterleitung landet dann im
Browser statt im Workspace.
apple-touch-icon sonst nimmt das iPhone einen Bildschirmabzug,
wenn jemand diese alte Adresse auf den
Startbildschirm legt.
Drei Zeilen sind hier billiger und haltbarer als eine Ausnahme
in der Pruefung: Eine Ausnahmeliste muesste gepflegt werden und
veraltet beim naechsten Umbau. -->
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<style>
/* Bewusst ohne eigenes Stilblatt: Die Seite ist in aller Regel nur
einen Wimpernschlag zu sehen. Ein Stilblatt nachzuladen hiesse,
die Weiterleitung dafuer warten zu lassen. */
body {
margin: 0; min-height: 100svh;
display: grid; place-items: center;
background: #06090f; color: #e8f1fa;
font: 1rem/1.6 system-ui, -apple-system, "Segoe UI", sans-serif;
padding: 24px; text-align: center;
}
a { color: #8ec9ff; min-height: 44px; display: inline-block; padding: 10px 4px; }
</style>
</head>
<body>
<p>
Diese Seite heißt jetzt <strong>Willkommen &amp; Anleitung</strong>.<br />
<a href="anleitung.html" id="weiter">Hier geht es weiter</a>
</p>
<script>
(() => {
const ziel = 'anleitung.html' + (location.search || '');
document.getElementById('weiter').href = ziel;
location.replace(ziel);
})();
</script>
</body>
</html>