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]>
This commit is contained in:
2026-10-07 23:46:41 +02:00
co-authored by Claude Opus 5
parent cadab24a5f
commit 2764aea61c
54 changed files with 1333 additions and 702 deletions
+162 -6
View File
@@ -104,13 +104,13 @@ const tag = (v) => tagLokal(v);
Missionsgruppe. Ohne ihn waeren diese drei Dinge hier gar
nicht pruefbar -- und ein Feld, das keine Pruefung ansieht,
ist ein Feld, das beim naechsten Umbau still ausfaellt. */
function evt(titel, von, bis, auf, reg, kampagneId = null, daten = null) {
function evt(titel, von, bis, auf, reg, kampagneId = null, daten = null, seite = null) {
d.prepare("INSERT INTO eintraege (titel, text, bereich, art, status, datum, event_ende,"
+ " event_aufgaben, event_regeln, dringlichkeit, erstellt, erstellt_von, kampagne_id,"
+ " kampagne_daten)"
+ " VALUES (?,?,'agentur','kampagne','offen',?,?,?,?,'mittel',?,?,?,?)")
+ " kampagne_daten, kampagne_seite)"
+ " VALUES (?,?,'agentur','kampagne','offen',?,?,?,?,'mittel',?,?,?,?,?)")
.run(titel, "Beschreibung zum Test.", von, bis, auf, reg, jetzt, idDogi, kampagneId,
daten === null ? null : JSON.stringify(daten));
daten === null ? null : JSON.stringify(daten), seite);
return d.prepare("SELECT last_insert_rowid() AS id").get().id;
}
/* Die drei Zustaende, die eventStand kennt -- jeder einzeln, nicht als
@@ -167,6 +167,22 @@ const struktText = [
"TEILNAHME",
"Länder: DE, CH, AT, LI, LU",
].join("\n");
/* ==== VON TIKTOK, ABER NICHT VON TIKTOK (07.10.2026) ========
Filipe: „das sind die von der agentur selbst. die krieg ich so,
... ich will auswaehlen koennen wo es hingehoert, zu tiktok oder
der agentur."
DAS IST DER FALL, UM DEN ES GEHT: Die Agentur schickt ihre
eigenen Events ebenfalls als TikTok-Link. Diese Kachel hat
also eine `kampagne_id` -- und gehoert trotzdem nach RECHTS.
Ohne sie liesse sich „die Wahl gewinnt gegen die Herkunft" gar
nicht messen: Bei einer Kachel ohne `kampagne_id` stuende
rechts ja ohnehin das Richtige. */
const agenturEvent = evt("Agentur-Aktion über TikTok", tag(-1), tag(14),
"Eigene Prämie einlösen", "· Nur für das eigene Team",
"7600000000000000009", null, "agentur");
const strukt = evt("Glow Up Struktur", tag(-2), tag(20),
"Tägliche Mission\nWöchentliche Mission", struktText,
"7690927903777262344", {
@@ -613,8 +629,11 @@ async function alsRolle(rolle, code, breite = 1280) {
ZUGEKLAPPTE GRUPPEN ZAEHLEN MIT: „Vorbei" steht von sich aus
zu, aber `hidden` entfernt ein Element nicht aus dem Baum.
Waere das anders, muesste hier erst aufgeklappt werden. */
/* FUENF SEIT DEM 07.10.2026 (zweite Runde): dazu kam
„Agentur-Aktion über TikTok" -- eine Kachel MIT kampagne_id,
die trotzdem rechts gehoert. */
const karten = await seite.$$('.eintrag-karte[data-eventkarte="ja"]');
ok(karten.length === 4, `4 Eventkarten (${karten.length}) -- die Schulung ist keine`);
ok(karten.length === 5, `5 Eventkarten (${karten.length}) -- die Schulung ist keine`);
/* GEGENPROBE: Die Schulung bleibt eine gewoehnliche Karte. Ohne sie
waere "nur Events sind umgebaut" unbelegt. */
@@ -1305,7 +1324,7 @@ melde("\n=== 4b. Die Gliederung auf dem Bildschirm ===");
durch. Ohne diese Zeile waere „es gibt Gruppen" vereinbar damit,
dass ein Event in keiner davon auftaucht. */
const summe = alleGruppen.reduce((s, g) => s + Number(g.zahl), 0);
ok(summe === 4, `alle 4 Events stehen in genau einer Gruppe (Summe ${summe})`);
ok(summe === 5, `alle 5 Events stehen in genau einer Gruppe (Summe ${summe})`);
/* GEGENPROBE: Links und rechts teilen sich den Zustand NICHT.
Dieser Fehler war bei den Zeitstufen schon einmal da.
@@ -1370,6 +1389,143 @@ melde("\n=== 4b. Die Gliederung auf dem Bildschirm ===");
await ctx.close();
}
/* =======================================================================
4c. WOHIN GEHÖRT DIE KACHEL? (07.10.2026)
Die Herkunft beantwortet „woher kam der Link“, die Frage auf dem
Brett ist aber „wem gehört das Event“. Gemessen wird deshalb
genau der Fall, in dem beide auseinandergehen.
======================================================================= */
melde("\n=== 4c. Die Seitenwahl ===");
{
const { ctx, seite } = await alsRolle("admin", "CODE-DOGI-0001", 1400);
const lage = await seite.evaluate(() => {
const seiten = [...document.querySelectorAll(".kv-seite")].map((s) => ({
seite: s.dataset.seite,
titel: [...s.querySelectorAll(".eintrag-titel")].map((x) => x.textContent.trim()),
}));
return { seiten };
});
melde(" -- Lage: " + JSON.stringify(lage));
const links = lage.seiten.find((s) => s.seite === "tiktok")?.titel || [];
const rechts = lage.seiten.find((s) => s.seite === "agentur")?.titel || [];
/* DIE EINE ZEILE, UM DIE ES GEHT. */
ok(rechts.includes("Agentur-Aktion über TikTok"),
`eine Kachel MIT kampagne_id steht rechts, weil sie dorthin gewählt wurde `
+ `(rechts: ${JSON.stringify(rechts)})`);
ok(!links.includes("Agentur-Aktion über TikTok"),
" und nicht zusätzlich links");
/* GEGENPROBE: Eine Kachel OHNE Wahl steht weiterhin nach ihrer
Herkunft. Ohne sie wäre „die Wahl gewinnt“ auch dann grün,
wenn gar nichts mehr links landet. */
ok(links.includes("Oktober Event") && links.includes("Glow Up Struktur"),
`ohne Wahl entscheidet weiterhin die Herkunft (links: ${JSON.stringify(links)})`);
/* ---- Die Auswahl im Kasten -------------------------------- */
const wahl = await seite.evaluate(() => {
const f = document.querySelector(".kampagneholen__wahl");
if (!f) return null;
const k = [...f.querySelectorAll('input[name="kampagne-seite"]')];
return {
werte: k.map((x) => x.value),
gewaehlt: k.find((x) => x.checked)?.value ?? null,
woerter: [...f.querySelectorAll("span")].map((x) => x.textContent.trim()),
sichtbar: f.getBoundingClientRect().height > 0,
};
});
melde(" -- Auswahl: " + JSON.stringify(wahl));
ok(wahl && wahl.werte.length === 3, `drei Möglichkeiten (${wahl?.werte.length})`);
ok(wahl?.werte.includes("tiktok") && wahl?.werte.includes("agentur"),
`TikTok und Agentur stehen zur Wahl: ${JSON.stringify(wahl?.werte)}`);
/* „Automatisch“ IST VORBELEGT. Eine Auswahl, die man jedes Mal
treffen muss, ist ein Hindernis -- und sie wäre eine
Verhaltensänderung für alles, was bisher funktioniert hat. */
ok(wahl?.gewaehlt === "", `„Automatisch“ ist vorbelegt (${JSON.stringify(wahl?.gewaehlt)})`);
ok(wahl?.sichtbar === true, "und der Kasten ist wirklich zu sehen");
/* ---- Der Knopf an der Kachel ------------------------------ */
const knopf = await seite.evaluate(() => {
const k = [...document.querySelectorAll('.eintrag-karte[data-eventkarte="ja"]')]
.find((x) => x.textContent.includes("Oktober Event"));
const b = [...(k?.querySelectorAll(".schritt--seite") || [])];
return { anzahl: b.length, wort: b[0]?.textContent.trim() || null };
});
/* „Oktober Event“ steht links -- der Knopf muss also nach rechts
führen und das auch sagen. Ein Knopf, der nur „wechseln“ heißt,
ließe offen, wohin. */
ok(knopf.anzahl === 1 && knopf.wort === "zur Agentur",
`der Knopf nennt sein Ziel: ${JSON.stringify(knopf.wort)}`);
await seite.evaluate(() => {
const k = [...document.querySelectorAll('.eintrag-karte[data-eventkarte="ja"]')]
.find((x) => x.textContent.includes("Oktober Event"));
k.querySelector(".schritt--seite").click();
});
await seite.waitForTimeout(1200);
const danach = await seite.evaluate(() => {
const s = [...document.querySelectorAll(".kv-seite")].map((x) => ({
seite: x.dataset.seite,
titel: [...x.querySelectorAll(".eintrag-titel")].map((y) => y.textContent.trim()),
}));
const k = [...document.querySelectorAll('.eintrag-karte[data-eventkarte="ja"]')]
.find((x) => x.textContent.includes("Oktober Event"));
return { s, wort: k?.querySelector(".schritt--seite")?.textContent.trim() || null };
});
melde(" -- nach dem Druck: " + JSON.stringify(danach));
const rechtsDanach = danach.s.find((x) => x.seite === "agentur")?.titel || [];
const linksDanach = danach.s.find((x) => x.seite === "tiktok")?.titel || [];
ok(rechtsDanach.includes("Oktober Event") && !linksDanach.includes("Oktober Event"),
`ein Druck verschiebt die Kachel wirklich `
+ `(links ${linksDanach.length}, rechts ${rechtsDanach.length})`);
/* UND DER KNOPF ZEIGT JETZT ZURÜCK. Ein Weg ohne Rückweg wäre
beim ersten Versehen ein Dauerzustand. */
ok(danach.wort === "zu TikTok",
`und führt jetzt zurück: ${JSON.stringify(danach.wort)}`);
await ctx.close();
}
/* ---- Und ein Creator sieht von alledem nichts ---------------- */
{
const { ctx, seite } = await alsRolle("creator", "CODE-CREA-0001", 1400);
/* GEMESSEN WIRD, WAS MAN SIEHT -- nicht, was im Baum steht
(berichtigt 07.10.2026). Hier stand `querySelectorAll(...).length`,
und das zählte 1: Der ganze Kasten `#kampagneholen` ist für einen
Creator `hidden`, aber `hidden` entfernt nichts aus dem Baum.
Die Prüfung meldete einen Schaden, den es nicht gab.
Es ist derselbe Fehlgriff wie zwei Stunden vorher bei den
zugeklappten Gruppen -- und deshalb wird hier GENAU dieselbe
Frage gestellt: Hat das Element ein Rechteck? */
const nix = await seite.evaluate(() => {
const sichtbar = (w) => !!w && w.getBoundingClientRect().height > 0;
const kasten = document.querySelector(".kampagneholen__wahl");
return {
kastenDa: !!kasten,
kastenSichtbar: sichtbar(kasten),
abschnittZu: document.getElementById("kampagneholen")?.hidden === true,
knoepfe: [...document.querySelectorAll(".schritt--seite")].filter(sichtbar).length,
karten: document.querySelectorAll('.eintrag-karte[data-eventkarte="ja"]').length,
};
});
melde(" -- Creator: " + JSON.stringify(nix));
/* DIE KARTENZAHL GEHÖRT IN DIE BEDINGUNG: Ohne sie wäre „ein
Creator sieht die Knöpfe nicht“ auch auf einer leeren Seite
grün (CLAUDE.md, 01.09.2026). */
ok(nix.karten > 0 && !nix.kastenSichtbar && nix.knoepfe === 0,
`ein Creator sieht ${nix.karten} Kacheln, aber keine Seitenwahl `
+ `(Kasten sichtbar: ${nix.kastenSichtbar}, ${nix.knoepfe} Knöpfe)`);
/* UND ZWAR, WEIL DER GANZE ABSCHNITT ZU IST -- nicht, weil die
Auswahl zufällig keine Höhe hat. Eine Begründung, die man nicht
mitprüft, kann beim nächsten Umbau wegfallen, ohne dass es
auffällt. */
ok(nix.abschnittZu === true,
`und der ganze Einlese-Kasten ist zu (hidden=${nix.abschnittZu})`);
await ctx.close();
}
melde("\n=== 5. Abhaken im Browser, mit Neuladen ===");
{
const { ctx, seite } = await alsRolle("creator", "CODE-CREA-0001", 1280);
+151
View File
@@ -149,11 +149,22 @@ const ID_GIPFEL = "7691493175936699143";
const ID_BEENDET = "7657456323453405959";
const ID_OHNEPREISE = "7670899782609996552";
const ID_TEXTBANNER = "7600000000000000001";
/* Die vierte gespeicherte Seite -- bis zum 07.10.2026 benutzte sie
nur pruef-kampagne-lesen.mjs. Hier wird sie gebraucht, weil die
Seitenwahl eine Kampagne braucht, die es noch NICHT gibt: Bei
einer schon eingelesenen kaeme „schon da", und dann entstuende
gar keine neue Kachel, an der sich etwas messen liesse. */
const ID_GLOWUP = "7690927903777262344";
/* Die Nummer aus Filipes echtem Agenturlink -- sie steht hier,
damit die Pruefung dieselbe Form misst, die wirklich ankommt
(snake_case `activity_id`, nicht `activityId`). */
const ID_TCN = "7691301069758087175";
const SEITEN = {
[ID_GIPFEL]: bannerHierher(seiteLesen("kampagne-gipfelstuermer.html.br")),
[ID_BEENDET]: bannerHierher(seiteLesen("kampagne-beendet.html.br")),
[ID_OHNEPREISE]: bannerHierher(seiteLesen("kampagne-ohne-preise.html.br")),
[ID_GLOWUP]: bannerHierher(seiteLesen("kampagne-aufgabengruppe.html.br")),
};
const ROH_GIPFEL = seiteLesen("kampagne-gipfelstuermer.html.br");
const SEITE_KAPUTT = seiteLesen("kampagne-kaputt.html");
@@ -207,7 +218,21 @@ const tikDienst = createServer((anfrage, antwort) => {
if (u.pathname === "/t/gipfel-zweiter-versand") return leite(`/falcon/home?activityId=${ID_GIPFEL}&campaign_traffic_id=2`);
if (u.pathname === "/t/beendet") return leite(`/falcon/home?activityId=${ID_BEENDET}`);
if (u.pathname === "/t/ohnepreise") return leite(`/falcon/home?activityId=${ID_OHNEPREISE}`);
if (u.pathname === "/t/glowup") return leite(`/falcon/home?activityId=${ID_GLOWUP}`);
if (u.pathname === "/t/textbanner") return leite(`/falcon/home?activityId=${ID_TEXTBANNER}`);
/* DAS CREATOR NETWORK (07.10.2026). Nachgemessen am echten
Agenturlink von Filipe: `vm.tiktok.com/ZSbACwAnK/` leitet auf
`www.tiktok.com/tcn/activity?activity_id=...` -- eine Seite,
die TikTok erst im Browser aufbaut, angemeldet. Von aussen
steht dort nichts.
Der Weg wird hier nachgebaut, damit die Pruefung nicht das
echte TikTok braucht: Sie misst dann fremde Verfuegbarkeit
statt unseren Code. Die ANTWORT auf diesen Weg ist
absichtlich eine leere Huelle -- genau wie draussen. */
if (u.pathname === "/t/agentur") {
return leite(`/tcn/activity?activity_id=${ID_TCN}&activity_type=ranklist`);
}
if (u.pathname === "/t/fremd") return leite("https://beispiel.de/ganz-woanders");
if (u.pathname === "/t/kreis") return leite("/t/kreis");
if (u.pathname === "/t/kaputt") return leite("/falcon/kaputt");
@@ -819,6 +844,132 @@ melde("=== 9. Was schiefgehen kann, wird verständlich gesagt ===");
"und die Kachel selbst sagt, dass etwas nachzutragen ist");
}
/* =====================================================================
9b. DER AGENTURLINK — UND WOHIN DIE KACHEL GEHÖRT (07.10.2026)
Filipe: „das sind die von der agentur selbst. die krieg ich so,
perfektioniere das und auch das ich auswählen kann wo es
hingehört, zu tiktok oder der agentur.“
===================================================================== */
melde("");
melde("=== 9b. Agenturlink und Seitenwahl ===");
{
/* AUS DEM ECHTEN MODUL, nicht nachgebaut: Geprüft wird die
Funktion, die im Betrieb läuft. Eine Abschrift hier wäre eine
zweite Fassung derselben Regel -- und die läuft auseinander. */
const { nummerAusAdresse, istCreatorNetwork } = await import("./workspace-kampagne.js");
/* ---- Die Nummer in BEIDEN Schreibweisen ------------------- */
ok(nummerAusAdresse(`${TIK}/falcon/home?activityId=${ID_GIPFEL}`) === ID_GIPFEL,
"activityId wird gelesen (die Kampagnenseite)");
ok(nummerAusAdresse(`${TIK}/tcn/activity?activity_id=${ID_TCN}`) === ID_TCN,
"activity_id ebenso (das Creator Network)");
/* GEGENPROBE: Etwas, das keine Nummer ist, gibt auch keine --
sonst wäre „beide Schreibweisen“ auch bei einer Funktion
grün, die immer irgendetwas zurückgibt. */
ok(nummerAusAdresse(`${TIK}/tcn/activity?activity_id=hallo`) === null,
" und Buchstaben sind keine Nummer");
ok(nummerAusAdresse(`${TIK}/tcn/activity`) === null,
" und ohne Angabe kommt nichts");
/* ---- Die Erkennung selbst, mit beiden Richtungen ---------- */
ok(istCreatorNetwork(`${TIK}/tcn/activity?activity_id=${ID_TCN}`),
"eine /tcn/-Adresse wird als Creator Network erkannt");
/* GEGENPROBE: Die echte Kampagnenseite NICHT -- sonst wäre jede
Einladung ein Agenturlink und nichts ließe sich mehr einlesen. */
ok(!istCreatorNetwork(`${TIK}/falcon/campaign/fusion_cosmic_runtime/home?activityId=${ID_GIPFEL}`),
" die echte Kampagnenseite dagegen nicht");
ok(!istCreatorNetwork(`${TIK}/tcnx/activity`),
" und ein Pfad, der nur so anfängt, auch nicht");
/* ---- Der Agenturlink wird ERKANNT, nicht blind geholt ----- */
const vorher = abrufe;
const tcn = await einlesen(`Hier die Einladung: ${TIK}/t/agentur`);
ok(tcn.code === 422,
`ein Creator-Network-Link gibt 422, nicht 502 (HTTP ${tcn.code})`);
ok(/Creator Network/.test(tcn.j.fehler || ""),
`und sagt, was für eine Seite das ist: „${tcn.j.fehler}“`);
/* DIE MELDUNG SAGT, WAS ZU TUN IST. Eine Ursache ohne Ausweg
lässt den Menschen davor stehen. */
ok(/von Hand/.test(tcn.j.fehler || ""),
" und was man stattdessen tun kann");
/* UND DIE SEITE WIRD GAR NICHT ERST GEHOLT. 233 KB für eine
Hülle, von der wir schon wissen, dass nichts drinsteht --
und danach eine falsche Ursache melden. Gezählt werden die
Abrufe beim nachgebauten Dienst: die Weiterleitung ja, die
Seite selbst nicht. */
const geholt = abrufe - vorher;
ok(geholt <= 2,
`nur der Weg wurde verfolgt, die Hülle nicht geholt (${geholt} Abrufe)`);
/* ---- DIE SEITENWAHL BEIM EINLESEN ------------------------- */
const mitSeite = await roh("/workspace/api/kampagne/einlesen", {
methode: "POST", keks: keksDogi, wirt: HOST,
rumpf: { text: `Klick: ${TIK}/t/glowup`, seite: "agentur" },
});
const neuId = JSON.parse(mitSeite.text || "{}").id;
ok(mitSeite.code === 201 && Number.isInteger(neuId),
`eine Kampagne mit Seitenwahl entsteht (HTTP ${mitSeite.code}, #${neuId})`);
const gz = dbLesen("SELECT kampagne_id, kampagne_seite FROM eintraege WHERE id = ?", neuId)[0];
ok(gz?.kampagne_seite === "agentur",
`und steht auf der gewählten Seite: ${JSON.stringify(gz?.kampagne_seite)}`);
/* GEGENPROBE: Sie kommt trotzdem von TikTok -- die Herkunft wird
nicht verfälscht, nur die Zuordnung gewählt. Das ist der
ganze Unterschied zwischen beiden Angaben. */
ok(gz?.kampagne_id === ID_GLOWUP,
`die Herkunft bleibt unberührt (${gz?.kampagne_id})`);
/* OHNE WAHL BLEIBT ES NULL -- „niemand hat gewählt“ ist etwas
anderes als „links“. Die zuerst eingelesene Kachel hatte keine
Wahl dabei. */
const alt = dbLesen("SELECT kampagne_seite FROM eintraege WHERE id = ?", kachelId)[0];
ok(alt?.kampagne_seite === null,
`ohne Wahl bleibt die Seite offen (${JSON.stringify(alt?.kampagne_seite)})`);
/* Ein erfundener Wert wird NICHT stillschweigend übernommen. */
const quatsch = await roh(`/workspace/api/bereich/agentur/${kachelId}`, {
methode: "PATCH", keks: keksDogi, wirt: HOST,
rumpf: { kampagne_seite: "mond" },
});
ok(quatsch.code === 400,
`ein erfundener Wert wird abgelehnt (HTTP ${quatsch.code})`);
const unberuehrt = dbLesen("SELECT kampagne_seite FROM eintraege WHERE id = ?", kachelId)[0];
ok(unberuehrt?.kampagne_seite === null,
" und die Kachel bleibt, wie sie war");
/* ---- NACHTRÄGLICH VERSCHIEBEN ----------------------------- */
const schieben = await roh(`/workspace/api/bereich/agentur/${kachelId}`, {
methode: "PATCH", keks: keksDogi, wirt: HOST,
rumpf: { kampagne_seite: "agentur" },
});
ok(schieben.code === 200, `die Seite lässt sich ändern (HTTP ${schieben.code})`);
const nachher = dbLesen("SELECT kampagne_seite FROM eintraege WHERE id = ?", kachelId)[0];
ok(nachher?.kampagne_seite === "agentur",
`und steht jetzt rechts (${nachher?.kampagne_seite})`);
/* ZURÜCKNEHMEN GEHT AUCH. Eine Wahl ohne Weg zurück ist beim
ersten Versehen ein Dauerzustand. */
const zurueck = await roh(`/workspace/api/bereich/agentur/${kachelId}`, {
methode: "PATCH", keks: keksDogi, wirt: HOST,
rumpf: { kampagne_seite: "" },
});
const offen = dbLesen("SELECT kampagne_seite FROM eintraege WHERE id = ?", kachelId)[0];
ok(zurueck.code === 200 && offen?.kampagne_seite === null,
`und wieder auf automatisch (${JSON.stringify(offen?.kampagne_seite)})`);
/* ---- EIN CREATOR DARF DAS NICHT --------------------------- */
/* Wo eine Kachel steht, ist eine Entscheidung über das Brett,
nicht über den eigenen Eintrag. */
const alsCreator = await roh(`/workspace/api/bereich/agentur/${kachelId}`, {
methode: "PATCH", keks: keksLuna, wirt: HOST,
rumpf: { kampagne_seite: "tiktok" },
});
const danach = dbLesen("SELECT kampagne_seite FROM eintraege WHERE id = ?", kachelId)[0];
ok(danach?.kampagne_seite === null,
`ein Creator verschiebt nichts (HTTP ${alsCreator.code}, `
+ `Seite ${JSON.stringify(danach?.kampagne_seite)})`);
}
/* =====================================================================
10. EIN STUMMER SERVER HÄNGT DIE ROUTE NICHT AUF
===================================================================== */
+38
View File
@@ -1522,6 +1522,13 @@ const SPALTEN = `
KEINE BACKTICKS IN DIESEM BLOCK: SPALTEN ist selbst ein Template.
Ein Backtick im Kommentar beendet es mitten im SQL. */
e.kampagne_id, e.kampagne_quelle,
/* AUF WELCHER SEITE DIE KACHEL STEHT (07.10.2026). NULL heisst
„niemand hat gewaehlt" -- dann entscheidet wie bisher
kampagne_id. Die Begruendung steht bei der Spalte in
workspace.js.
KEINE BACKTICKS IN DIESEM BLOCK, siehe oben. */
e.kampagne_seite,
/* DAS GELESENE SELBST (07.10.2026, zweite Runde). Daraus baut
der Server die Geschenkliste mit Coinpreisen, den Steckbrief
und die Beschreibung je Missionsgruppe. Die Spalte selbst
@@ -2265,6 +2272,29 @@ function pruefe(bereich, körper, { neu }) {
|| körper.nur_leitung === "1") ? 1 : 0;
}
/* ---- AUF WELCHE SEITE GEHÖRT DIESE KACHEL? (07.10.2026) ------
Filipe: „ich will auswählen können wo es hingehört, zu tiktok
oder der agentur." Beim Einlesen wird es gewählt; hier lässt
es sich NACHTRÄGLICH ändern -- eine Wahl, die man nur einmal
treffen darf, ist beim ersten Versehen ein Dauerzustand.
NUR IM AGENTUR-BEREICH: Auf jedem anderen Brett gibt es keine
zwei Seiten, und das Feld wäre dort eine Angabe über etwas,
das es nicht gibt -- genauso wie die Content-Felder unten.
DREI ERLAUBTE WERTE, und einer davon ist das Zurücknehmen:
"tiktok", "agentur" und leer (= wieder automatisch). Was
anders aussieht, ist ein Fehler und wird gemeldet, nicht
stillschweigend verworfen: Ein Feld, das Eingaben schluckt,
lässt den Menschen davor glauben, es sei gespeichert. */
if (bereich === "agentur" && körper.kampagne_seite !== undefined) {
const s = String(körper.kampagne_seite ?? "").trim().toLowerCase();
if (s === "") aus.kampagne_seite = null;
else if (s === "tiktok" || s === "agentur") aus.kampagne_seite = s;
else fehler.push("Die Seite muss „tiktok“ oder „agentur“ sein.");
}
/* Die vier Content-Felder gibt es nur in der Content-Planung. In jedem
anderen Bereich werden sie stillschweigend verworfen -- wie Bewertung
und Dringlichkeit auch. Sonst stuende irgendwann ein Aufhaenger an
@@ -3041,6 +3071,14 @@ bereicheRouter.patch("/workspace/api/bereich/:bereich/:id", gleicheHerkunft, (re
const { aus, fehler } = pruefe(bereich, req.body || {}, { neu: false });
if (fehler.length) return res.status(400).json({ fehler: fehler.join(" ") });
if (!istLeitung(req.person)) delete aus.creator_id;
/* UND DIE SEITE EBENSO (07.10.2026). Wo eine Kachel steht, ist
eine Entscheidung ueber das Brett, nicht ueber den eigenen
Eintrag -- dieselbe Ueberlegung wie bei `creator_id` eine Zeile
darueber. Stillschweigend entfernt und nicht abgelehnt: Wer das
Feld gar nicht sieht, kann es nicht absichtlich geschickt
haben, und eine Fehlermeldung ueber einen Knopf, den es fuer
ihn nicht gibt, verwirrt mehr als sie hilft. */
if (!istLeitung(req.person)) delete aus.kampagne_seite;
/* Zeitraum beim AENDERN -- genauso wichtig wie beim Anlegen und
leichter zu uebersehen: pruefe() sieht nur die Felder, die im
+83 -4
View File
@@ -179,11 +179,43 @@ const kurz = (s, n = 180) => String(s ?? "").slice(0, n);
* irgendwo im Text sucht, findet es auch in einem Pfadstück. */
export function nummerAusAdresse(roh) {
try {
const n = new URL(String(roh)).searchParams.get("activityId");
const p = new URL(String(roh)).searchParams;
/* ZWEI SCHREIBWEISEN (07.10.2026). Die Kampagnenseite nennt
es `activityId`, das Creator Network `activity_id` --
gemessen an `tiktok.com/tcn/activity?activity_id=769130...`.
Wer nur die erste kennt, hat bei einem Agenturlink gar keine
Nummer und kann nicht einmal sagen, um welche Kampagne es
geht. Die erste gewinnt, wenn beide dastehen: Sie steht auf
der Seite, die wir wirklich lesen koennen. */
const n = p.get("activityId") || p.get("activity_id");
return n && /^\d{6,25}$/.test(n) ? n : null;
} catch { return null; }
}
/** Ist das eine Seite des Creator Network statt einer Kampagne?
*
* GEMESSEN AM 07.10.2026, mit Gegenprobe: Der Agenturlink
* `vm.tiktok.com/ZSbACwAnK/` fuehrt auf
* `www.tiktok.com/tcn/activity?activity_id=7691301069758087175`
* und liefert 233 KB reine Huelle -- die Daten holt die Seite
* erst im Browser, angemeldet. Dieselbe Nummer auf dem Weg der
* oeffentlichen Kampagnenseite
* (`/falcon/campaign/fusion_cosmic_runtime/home?activityId=...`)
* gibt 42 KB ohne Datenpaket, waehrend eine echte Kampagne dort
* 967 KB MIT Datenpaket liefert. Die Kampagne existiert also
* nicht als oeffentliche Seite.
*
* DAS IST KEIN FEHLER, SONDERN EINE ANDERE SORTE LINK -- und
* dafuer gehoert eine andere Antwort hin als „TikTok hat nicht
* geantwortet". Wer eine Ursache nennt, die es nicht gibt,
* schickt jemanden in die falsche Richtung suchen. */
export function istCreatorNetwork(roh) {
try {
const u = new URL(String(roh));
return u.pathname === "/tcn" || u.pathname.startsWith("/tcn/");
} catch { return false; }
}
/** Wie viele Einlesevorgänge hatte diese Person in der letzten Stunde?
*
* GEZÄHLT WIRD IM PROTOKOLL, nicht in `eintraege`. Ein Versuch, der
@@ -321,6 +353,25 @@ kampagneRouter.post("/workspace/api/kampagne/einlesen", async (req, res) => {
"leerer Text");
}
/* ---- 0. Auf welche Seite gehört die Kachel? ------------------
Filipe: „ich will auswaehlen koennen wo es hingehoert, zu
tiktok oder der agentur." Die Auswahl kommt aus dem
Formular; fehlt sie oder steht etwas Fremdes darin, bleibt
es NULL -- und dann entscheidet wie bisher die Herkunft.
NICHT STILLSCHWEIGEND AUF 'tiktok' AUSWEICHEN: Das wäre
eine Entscheidung, die wie eine Auswahl aussieht. NULL
heißt „niemand hat gewählt", und das ist etwas anderes als
„links". */
const rohSeite = String(req.body?.seite ?? "").trim().toLowerCase();
/* `wunschSeite`, nicht `seite`: Weiter unten heisst die GEHOLTE
Seite so (`const seite = await holeSeite(...)`). Zwei Dinge mit
demselben Namen im selben Bereich sind genau die Sorte Falle,
die man beim naechsten Lesen nicht sieht -- hier hat sie der
Uebersetzer gefangen, beim naechsten Mal vielleicht nicht. */
const wunschSeite = rohSeite === "tiktok" || rohSeite === "agentur" ? rohSeite : null;
/* ---- 1. Den Link herauslösen -------------------------------- */
const link = linkAusText(text);
if (!link) {
@@ -392,6 +443,30 @@ kampagneRouter.post("/workspace/api/kampagne/einlesen", async (req, res) => {
}
/* ---- 6. Die Seite holen -------------------------------------- */
/* ---- IST DAS UEBERHAUPT EINE KAMPAGNENSEITE? ----------------
Vor dem Abruf, nicht danach: Wer eine Seite holt, von der er
schon weiss, dass sie nichts enthaelt, holt 233 KB und sagt
danach etwas Falsches („TikTok hat nicht geantwortet").
Die ausfuehrliche Messung steht bei `istCreatorNetwork`. Kurz:
Das Creator Network rendert nichts auf dem Server, und
dieselbe Kampagnennummer gibt es als oeffentliche Seite
nicht. Niemand kann das von aussen lesen -- auch kein
anderes Programm.
DIE MELDUNG SAGT, WAS ZU TUN IST. „Geht nicht" waere
richtig und nutzlos; was hilft, ist der Weg daneben: das
Event von Hand anlegen. */
if (istCreatorNetwork(adresse)) {
return schiefgegangen(422,
"Dieser Link führt ins Creator Network von TikTok. Diese Seiten "
+ "baut TikTok erst im Browser auf, angemeldet — von außen ist dort "
+ "nichts zu lesen. Leg das Event unten von Hand an und füge den "
+ "Link in die Beschreibung ein.",
`Creator Network: ${kurz(adresse)}`);
}
const seite = await holeSeite(adresse);
if (!seite.ok) {
if (seite.grund === "frist") {
@@ -482,8 +557,8 @@ kampagneRouter.post("/workspace/api/kampagne/einlesen", async (req, res) => {
event_aufgaben, event_regeln, dringlichkeit, status, nur_leitung,
erstellt, erstellt_von, haus,
kampagne_id, kampagne_quelle, kampagne_geholt_am, kampagne_zone,
kampagne_daten)
VALUES ('agentur','kampagne', ?,?,?,?, ?,?,?, 'offen', 0, ?,?,?, ?,?,?,?,?)`)
kampagne_daten, kampagne_seite)
VALUES ('agentur','kampagne', ?,?,?,?, ?,?,?, 'offen', 0, ?,?,?, ?,?,?,?,?,?)`)
.run(
gelesen.pflicht.titel.slice(0, 160),
kuerzen(gelesen.kuer.einleitung || ""),
@@ -502,7 +577,11 @@ kampagneRouter.post("/workspace/api/kampagne/einlesen", async (req, res) => {
Regel -- und die laufen auseinander. */
haus,
nummer, link, jetzt, gelesen.pflicht.zone,
JSON.stringify(gelesen.auszug));
JSON.stringify(gelesen.auszug),
/* NULL, wenn niemand gewaehlt hat -- dann entscheidet
wie bisher die Herkunft. Siehe die Begruendung bei
der Spalte in workspace.js. */
wunschSeite);
eintragId = Number(lastInsertRowid);
if (abgelegt) {
+30
View File
@@ -4582,6 +4582,36 @@ function umstellungen(d) {
["eintraege", "kampagne_zone", "TEXT"], // tz_location_name, z.B. Europe/Berlin
["eintraege", "kampagne_daten", "TEXT"], // JSON-Auszug der Rohwerte
/* ================================================================
AUF WELCHER SEITE STEHT DIESE KACHEL? (07.10.2026)
Filipe: „perfektioniere das und auch das ich auswaehlen kann
wo es hingehoert, zu tiktok oder der agentur."
Bis heute entschied das `kampagne_id`: Wer ueber eine
Einladung eingelesen wurde, stand links, alles andere
rechts. Das war eine Vermutung ueber die HERKUNFT, und sie
stimmte nicht immer: Die Agentur schickt ihre eigenen
Events ebenfalls als TikTok-Link -- gemessen am 07.10.2026
fuehrt `vm.tiktok.com/ZSbACwAnK/` auf
`tiktok.com/tcn/activity?...`, also ins Creator Network.
Herkunft und Zugehoerigkeit sind zwei verschiedene Fragen,
und nur die zweite entscheidet, wo die Kachel hingehoert.
DREI ZUSTAENDE, UND NULL IST EINER DAVON:
NULL niemand hat entschieden -> wie bisher nach
`kampagne_id`. Alle bestehenden Kacheln
behalten damit genau ihren Platz.
'tiktok' ausdruecklich links
'agentur' ausdruecklich rechts
KEIN CHECK AUF DIE WERTE in der Tabelle: Ein CHECK haette
einen Tabellenneubau verlangt (siehe oben), und genau dabei
sind in diesem Haus schon einmal drei Spalten verloren
gegangen. Die Werte prueft die Route -- an einer Stelle,
an der man den Fehler auch MELDEN kann. */
["eintraege", "kampagne_seite", "TEXT"], // NULL | tiktok | agentur
/* ================================================================
EIN EVENT NACH DRAUSSEN TEILEN (07.10.2026)
+14 -14
View File
@@ -7,17 +7,17 @@
<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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/anleitung.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/anleitung.css?v=202610072346" />
<!-- module.css an VORLETZTER, haus.css an LETZTER Stelle. Die
Reihenfolge ist keine Geschmacksfrage: haus.css setzt nur
Variablen, und bei Variablen entscheidet allein, wer zuletzt
kommt. pruef-css-klassen.mjs misst genau dieses Paar nach. -->
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start" data-buehne="halle">
@@ -289,16 +289,16 @@
Und anleitung.js braucht es doppelt: Symbol, Farbe, Name und
Adresse jeder Karte kommen von dort, nicht vom Server. -->
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<!-- wahl.js gehört zu kopf.js: Der Sicht-Umschalter baut daraus seine
Liste. pruef-css-klassen setzt das durch, und zwar auch die
Reihenfolge -- kopf.js fragt beim Aufbau nach dem fertigen
Bedienelement. -->
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/anleitung.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/anleitung.js?v=202610072346" defer></script>
</body>
</html>
+5 -5
View File
@@ -16,8 +16,8 @@
verdeckt. Gefunden hat es pruef-struktur.
Richtig sind `gate.css` (die Farbwerte des Hauses) und `haus.css`. -->
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
<!-- Ohne diese drei nimmt ein iPhone einen Bildschirmausschnitt als
Symbol, Android zeichnet die Leiste weiss, und die Seite oeffnet
ausserhalb der App -- auf einer Seite, die genau erklaeren soll,
@@ -33,7 +33,7 @@
schreibt jede Seite app.webmanifest -- auch die hier. -->
<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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<style>
/* Bewusst in der Seite und nicht in einer eigenen Datei: Diese Seite
soll auch dann noch etwas anzeigen, wenn genau das schiefgeht,
@@ -135,7 +135,7 @@
<script src="assets/js/anruf-probe.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/anruf-probe.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
</body>
</html>
+4 -4
View File
@@ -23,25 +23,25 @@
},
"icons": [
{
"src": "/assets/img/app-symbole/workspace-192.png?v=202610072238",
"src": "/assets/img/app-symbole/workspace-192.png?v=202610072346",
"sizes": "192x192",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/workspace-512.png?v=202610072238",
"src": "/assets/img/app-symbole/workspace-512.png?v=202610072346",
"sizes": "512x512",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202610072238",
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202610072346",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202610072238",
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202610072346",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
+82
View File
@@ -4140,3 +4140,85 @@ body[data-ton] .kopf-zeile::before {
@media (prefers-reduced-motion: reduce) {
.ev-mehr__knopf, .ev-gruppe__kopf { transition: none; }
}
/* =====================================================================
WOHIN GEHÖRT DIE KACHEL? (07.10.2026)
Filipe: „ich will auswählen können wo es hingehört, zu tiktok oder
der agentur."
Drei echte Radioknöpfe, als Reihe gesetzt. Der Knopf selbst bleibt
sichtbar und wird nicht durch ein nachgebautes Kästchen ersetzt:
Ein Schalter, den das Betriebssystem zeichnet, verhält sich auf
jedem Gerät so, wie der Mensch davor es gewohnt ist -- und bei
`forced-colors` ist er der einzige, den man dann noch sieht.
DIE FARBE KOMMT VON DER SEITE, nicht vom Zustand: Blau ist die
TikTok-Spalte, Gelb die der Agentur -- dieselben Töne wie in den
Spaltenköpfen (`--kv-ton`). So sieht man schon beim Wählen, wo die
Kachel landen wird.
===================================================================== */
.kampagneholen__wahl {
display: flex; flex-wrap: wrap; align-items: center;
gap: 8px 14px;
margin: 12px 0 0; padding: 0;
border: 0;
}
.kampagneholen__wahl > .feld-schild {
/* `legend` nimmt in einem Flex-Kasten sonst eine eigene Zeile und
lässt eine Lücke stehen. `float` ist hier der Weg, der in allen
Browsern dasselbe tut. */
float: left; width: 100%;
margin: 0 0 8px; padding: 0;
}
.kampagneholen__seite {
display: inline-flex; align-items: center; gap: 7px;
padding: 6px 12px 6px 10px;
border: 1px solid color-mix(in srgb, var(--rand) 85%, transparent);
border-radius: 999px;
background: rgba(255, 255, 255, .02);
font-size: .88rem; color: var(--text-leise);
cursor: pointer;
}
.kampagneholen__seite input { margin: 0; accent-color: var(--akzent, #3fbdf5); }
/* „Automatisch“ BEKOMMT EINEN EIGENEN, STUMPFEN TON (07.10.2026).
Ohne ihn fiel es auf `--akzent` zurueck -- und das ist auf dem
Agenturbrett genau das Gelb der rechten Spalte. Gemessen am Bild:
Die vorbelegte Moeglichkeit sah aus, als bedeute sie „Agentur“.
Drei Moeglichkeiten, drei Toene: stumpf, TikTok-Blau, Agenturgelb. */
.kampagneholen__seite[data-seite="auto"] { --wahl-ton: #8fa3b8; }
.kampagneholen__seite[data-seite="tiktok"] { --wahl-ton: #3fbdf5; }
.kampagneholen__seite[data-seite="agentur"] { --wahl-ton: #cace02; }
.kampagneholen__seite[data-seite] input { accent-color: var(--wahl-ton); }
/* GEWÄHLT SIEHT MAN AN RAHMEN UND SCHRIFT, nicht nur am Punkt im
Knopf: Auf einem kleinen Bildschirm ist der Punkt wenige Pixel
groß, und welche der drei Möglichkeiten gilt, soll man aus zwei
Metern sehen. `:has()` greift auf dem Elternteil -- dafür ist es
da, und es spart ein Merkmal, das JavaScript pflegen müsste. */
.kampagneholen__seite:has(input:checked) {
color: var(--text);
border-color: color-mix(in srgb, var(--wahl-ton, var(--akzent, #3fbdf5)) 55%, transparent);
background: color-mix(in srgb, var(--wahl-ton, var(--akzent, #3fbdf5)) 10%, transparent);
}
.kampagneholen__seite:hover { color: var(--text); }
.kampagneholen__seite:has(input:focus-visible) {
outline: 2px solid var(--akzent, #3fbdf5);
outline-offset: 2px;
}
/* Der Knopf an der Kachel, der sie auf die andere Seite schiebt.
Er tritt zurück: Er wird selten gebraucht und darf „Teilen“ nicht
die Aufmerksamkeit nehmen. */
.schritt--seite { color: var(--text-still); }
.schritt--seite:hover { color: var(--text); }
@media (max-width: 560px) {
/* 44 px Tippziel -- dieselbe Vorgabe wie überall im Haus. */
.kampagneholen__seite { min-height: 44px; padding: 6px 14px 6px 12px; }
}
@media (forced-colors: active) {
.kampagneholen__seite { border: 1px solid CanvasText; }
.kampagneholen__seite:has(input:checked) { border: 2px solid Highlight; }
}
+65 -2
View File
@@ -2253,6 +2253,48 @@
: `Link zum Kopieren: ${r.weg}`);
await laden();
}, 'schritt--teilen'));
/* ---- UND WOHIN GEHÖRT ES? (07.10.2026) --------------------
Beim Einlesen wird die Seite gewählt; hier lässt sie sich
ändern. Eine Wahl, die man nur einmal treffen darf, ist
beim ersten Versehen ein Dauerzustand -- und das Versehen
fällt oft erst auf, wenn die Kachel an der falschen Stelle
steht.
DER KNOPF NENNT DAS ZIEL, nicht die Handlung: „zur
Agentur“ sagt, wo die Kachel danach steht. „Seite
wechseln“ ließe offen, wohin -- und man müsste erst
drücken, um es zu erfahren. */
{
const jetztLinks = e.kampagne_seite
? e.kampagne_seite === 'tiktok' : !!e.kampagne_id;
const ziel = jetztLinks ? 'agentur' : 'tiktok';
const wort = jetztLinks ? 'zur Agentur' : 'zu TikTok';
knoepfe.append(tuKnopf(wort, async () => {
/* `${bereich}` UND NICHT „agentur“ FEST EINGETIPPT
(berichtigt 07.10.2026). pruef-struktur gleicht jeden Weg,
den der Browser ruft, gegen die Routen des Servers ab --
und konnte diesen nicht zuordnen: Mit dem Brettnamen im
Text sah der Pfad aus wie „/api/bereich/agentur/“ plus
etwas Unbekanntem. Dieselbe Schreibweise wie bei den
Nachbarn darüber macht ihn wieder prüfbar und nimmt
nebenbei den zweiten Ort weg, an dem „agentur“ steht. */
const a = await hole(`/workspace/api/bereich/${bereich}/${e.id}`, {
method: 'PATCH', headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ kampagne_seite: ziel }),
});
if (!a.ok) {
const r = await a.json().catch(() => ({}));
melde(sagWas(r.fehler, `Ging nicht (${a.status}).`));
return;
}
melde(ziel === 'agentur'
? 'Steht jetzt rechts bei der Agentur.'
: 'Steht jetzt links bei TikTok.');
await laden();
}, 'schritt--seite'));
}
if (geteilt) {
knoepfe.append(tuKnopf('nicht mehr teilen', async () => {
const a = await hole(`/workspace/api/eintrag/${e.id}/teilen`, { method: 'DELETE' });
@@ -2865,9 +2907,16 @@
if (!text) { freigeben('Da war kein Text. Füge die ganze Einladung ein.'); return; }
sperren();
try {
/* DIE AUSWAHL GEHT MIT (07.10.2026). Leer heisst
„automatisch" -- der Server macht daraus NULL und
entscheidet dann wie bisher nach der Herkunft. Fehlt
die Gruppe ganz (altes HTML im Zwischenspeicher),
kommt leer heraus, und alles verhaelt sich wie
vorher. */
const gewaehlt = form.querySelector('input[name="kampagne-seite"]:checked');
const a = await hole('/workspace/api/kampagne/einlesen', {
method: 'POST', headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ text }),
body: JSON.stringify({ text, seite: gewaehlt ? gewaehlt.value : '' }),
});
const r = await a.json().catch(() => ({}));
if (!a.ok) {
@@ -3674,7 +3723,21 @@
ist keine -- und man sieht dann auch nicht, dass dort
nichts ist. */
const istEvent = (e) => e.art === 'kampagne';
const vonTikTok = (e) => !!e.kampagne_id;
/* ERST DIE WAHL, DANN DIE HERKUNFT (07.10.2026).
`kampagne_seite` ist NULL, solange niemand gewaehlt hat
-- dann entscheidet wie bisher `kampagne_id`. Damit
behalten alle Kacheln, die es schon gibt, genau ihren
Platz, und es musste nichts umgestellt werden.
WARUM DIE WAHL GEWINNT: Die Herkunft beantwortet „woher
kam der Link", die Frage auf dem Brett ist aber „wem
gehoert das Event". Die Agentur schickt ihre eigenen
Events als TikTok-Link; wer nur die Herkunft kennt,
sortiert sie zwangslaeufig falsch ein. */
const vonTikTok = (e) => (e.kampagne_seite
? e.kampagne_seite === 'tiktok'
: !!e.kampagne_id);
const events = sichtbar.filter(istEvent);
const rest = sichtbar.filter((e) => !istEvent(e));
+19 -19
View File
@@ -12,19 +12,19 @@
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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<!-- 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=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start" data-buehne="garage">
@@ -430,22 +430,22 @@
<!-- TEXTFORM ZUERST (21.09.2026): Die Seite fragt beim Zeichnen nach
`window.Textform`. Kaeme sie spaeter, waere der erste Eintrag ohne
Gestaltung. Kein `defer`, damit sie wirklich vorher dasteht. -->
<script src="assets/js/textform.js?v=202610072238"></script>
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/hochladen.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/textform.js?v=202610072346"></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/hochladen.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/zuteilung.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/zuteilung.js?v=202610072346" defer></script>
<!-- Der Vorlagenkatalog stand bis zum 23.09.2026 mitten in
aufgaben.js. Er bedient jetzt zwei Seiten und hat deshalb eine
eigene Datei; hier zeigt er den Creator-Katalog.
Vor aufgaben.js, weil die Seite ihn beim Start einrichtet. -->
<script src="assets/js/vorlagenbrett.js?v=202610072238" defer></script>
<script src="assets/js/aufgaben.js?v=202610072238" defer></script>
<script src="assets/js/vorlagenbrett.js?v=202610072346" defer></script>
<script src="assets/js/aufgaben.js?v=202610072346" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,20 +12,20 @@
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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/automation.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/automation.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<!-- 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=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start" data-buehne="garage">
@@ -168,15 +168,15 @@
</main>
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/automation.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/automation.js?v=202610072346" defer></script>
</body>
</html>
+17 -17
View File
@@ -7,14 +7,14 @@
<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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start">
@@ -197,16 +197,16 @@
</main>
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/holen.js?v=202610072238" defer></script>
<script src="assets/js/befinden.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/holen.js?v=202610072346" defer></script>
<script src="assets/js/befinden.js?v=202610072346" defer></script>
</body>
</html>
+56 -24
View File
@@ -12,29 +12,29 @@
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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202610072346" />
<!-- Wegen des Blocks „Willst du dazugehoeren?" auf dem Brett
„Mitmachen". 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=202610072238" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610072346" />
<!-- Die Bildschau: ein Banner wird darin mittig gezeigt statt als nackte
Datei in einem neuen Tab. Sie ist seit dem 07.10.2026 eine eigene
Datei und keine Kopie aus chat.css -- dieselbe Schau im Chat und
hier, ein Stil. -->
<link rel="stylesheet" href="assets/css/bildschau.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/bildschau.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<!-- 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=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start">
@@ -367,6 +367,38 @@
<label class="feld-schild" for="kampagne-text">Einladung einfügen</label>
<textarea id="kampagne-text" rows="3" spellcheck="false"
placeholder="Einladung hier einfügen – der ganze Text reicht."></textarea>
<!-- WOHIN GEHÖRT DAS? (07.10.2026)
Filipe: „ich will auswählen können wo es hingehört, zu
tiktok oder der agentur." Die Agentur schickt ihre
eigenen Events ebenfalls als TikTok-Link — die Herkunft
sagt also nicht, wo die Kachel hingehört.
ECHTE RADIOKNÖPFE, kein Schalter aus div und JavaScript:
Damit funktionieren Tastatur, Vorleseprogramm und die
Beschriftung von selbst. Die drei Möglichkeiten sind
einander ausschließend, und genau dafür gibt es sie.
„Automatisch“ STEHT VORNE und ist vorbelegt: Es ist das,
was bisher passiert ist, und es ist in neun von zehn
Fällen richtig. Eine Auswahl, die man jedes Mal treffen
muss, ist ein Hindernis; eine, die man treffen KANN,
ist eine Möglichkeit. -->
<fieldset class="kampagneholen__wahl">
<legend class="feld-schild">Wohin gehört es?</legend>
<label class="kampagneholen__seite" data-seite="auto">
<input type="radio" name="kampagne-seite" value="" checked>
<span>Automatisch</span>
</label>
<label class="kampagneholen__seite" data-seite="tiktok">
<input type="radio" name="kampagne-seite" value="tiktok">
<span>TikTok</span>
</label>
<label class="kampagneholen__seite" data-seite="agentur">
<input type="radio" name="kampagne-seite" value="agentur">
<span>Agentur</span>
</label>
</fieldset>
<div class="kampagneholen__zeile">
<p class="feld-hinweis" id="kampagne-sagt" role="status" aria-live="polite">Titel, Zeitraum, Banner, Aufgaben und Preise kommen von selbst.</p>
<button type="submit" class="knopf knopf--klein" id="kampagne-holen">Kampagne holen</button>
@@ -381,20 +413,20 @@
<!-- TEXTFORM ZUERST (21.09.2026): Die Seite fragt beim Zeichnen nach
`window.Textform`. Kaeme sie spaeter, waere der erste Eintrag ohne
Gestaltung. Kein `defer`, damit sie wirklich vorher dasteht. -->
<script src="assets/js/textform.js?v=202610072238"></script>
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/textform.js?v=202610072346"></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/checkliste.js?v=202610072238" defer></script>
<script src="assets/js/ampel.js?v=202610072238" defer></script>
<script src="assets/js/schulung.js?v=202610072238" defer></script>
<script src="assets/js/holen.js?v=202610072238" defer></script>
<script src="assets/js/bildschau.js?v=202610072238"></script>
<script src="assets/js/bereich.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/checkliste.js?v=202610072346" defer></script>
<script src="assets/js/ampel.js?v=202610072346" defer></script>
<script src="assets/js/schulung.js?v=202610072346" defer></script>
<script src="assets/js/holen.js?v=202610072346" defer></script>
<script src="assets/js/bildschau.js?v=202610072346"></script>
<script src="assets/js/bereich.js?v=202610072346" defer></script>
</body>
</html>
+19 -19
View File
@@ -7,17 +7,17 @@
<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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start">
@@ -108,15 +108,15 @@
</main>
<!-- Der Fuß gehört zu jeder Seite - siehe pruef-css-klassen. -->
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/auskunft.js?v=202610072238" defer></script>
<script src="assets/js/bewerben.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/auskunft.js?v=202610072346" defer></script>
<script src="assets/js/bewerben.js?v=202610072346" defer></script>
</body>
</html>
+18 -18
View File
@@ -7,16 +7,16 @@
<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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start">
@@ -80,16 +80,16 @@
</main>
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/auskunft.js?v=202610072238" defer></script>
<script src="assets/js/bewerbungen.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/auskunft.js?v=202610072346" defer></script>
<script src="assets/js/bewerbungen.js?v=202610072346" defer></script>
</body>
</html>
+3 -3
View File
@@ -59,11 +59,11 @@
<!-- DIE WERBEEINBLENDUNG. Dieselbe Datei wie in der Reaction-Seite:
Zwei Fassungen altern unterschiedlich, und dann sieht der Stream
anders aus als das, worueber geredet wird. -->
<link rel="stylesheet" href="assets/css/werbung.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/werbung.css?v=202610072346" />
</head>
<body class="obs-buehne">
<div id="platz"></div>
<script src="assets/js/werbung.js?v=202610072238" defer></script>
<script src="assets/js/buehne.js?v=202610072238" defer></script>
<script src="assets/js/werbung.js?v=202610072346" defer></script>
<script src="assets/js/buehne.js?v=202610072346" defer></script>
</body>
</html>
+17 -17
View File
@@ -12,20 +12,20 @@
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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/calls.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/calls.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<!-- 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=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start" data-buehne="lounge">
@@ -89,15 +89,15 @@
</main>
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/ki.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/calls.js?v=202610072238" defer></script>
<script src="assets/js/ki.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/calls.js?v=202610072346" defer></script>
</body>
</html>
+21 -21
View File
@@ -12,31 +12,31 @@
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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<!-- aufgaben.css bringt die Dialog- und Formularstile mit (.dialog,
.neu__zeile, .dialog__knoepfe). Sie stehen dort seit dem
Aufgabenbrett; sie hierher zu kopieren hiesse, sie an zwei Stellen
zu pflegen. Dieselbe Lösung nutzen kalender.html und content.html.
Gemeldet von pruef-css-klassen.mjs, bevor jemand einen ungestylten
Dialog zu sehen bekam. -->
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/chat.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/chat.css?v=202610072346" />
<!-- Die Bildschau stand bis zum 07.10.2026 in chat.css. Sie wird jetzt
auch vom Event-Banner benutzt (bereich.html) und hat deshalb eine
eigene Datei. Sie steht GENAU HIER -- direkt hinter chat.css, also
an derselben Stelle im Ladeweg wie der Block vorher. -->
<link rel="stylesheet" href="assets/css/bildschau.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/bildschau.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<!-- 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=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start" data-buehne="lounge">
@@ -744,24 +744,24 @@
</form>
</dialog>
<script src="assets/js/bereiche.js?v=202610072238"></script>
<script src="assets/js/bereiche.js?v=202610072346"></script>
<!-- TEXTFORM VOR ALLEM ANDEREN (21.09.2026): chat.js und bereich.js
fragen beim Zeichnen nach `window.Textform`. Kaeme sie spaeter,
waere die erste gezeichnete Nachricht ohne Gestaltung -- und das
faellt nur dem auf, der genau hinsieht. KEIN `defer`, damit sie
wirklich vor den anderen dasteht. -->
<script src="assets/js/textform.js?v=202610072238"></script>
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/hochladen.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238"></script>
<script src="assets/js/glocke.js?v=202610072238"></script>
<script src="assets/js/textform.js?v=202610072346"></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/hochladen.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346"></script>
<script src="assets/js/glocke.js?v=202610072346"></script>
<!-- ANRUF VOR CHAT (18.09.2026): anruf.js stellt `window.anrufStarten`
bereit, und chat.js baut die Knoepfe nur, wenn es das gibt.
Andersherum waere die Reihenfolge eine stille Abhaengigkeit --
die Knoepfe fehlten, und niemand wuesste warum. -->
<script src="assets/js/anruf.js?v=202610072238"></script>
<script src="assets/js/anruf.js?v=202610072346"></script>
<!-- DIE BILDSCHAU (25.09.2026). Eigene Datei, weil sie nichts vom
Chat weiss: Sie bekommt einen Weg und einen Namen und zeigt ein
Bild. Jede andere Seite mit Fotos kann sie ebenso benutzen, ohne
@@ -772,8 +772,8 @@
sie beim ersten Foto noch nicht da -- und der erste Klick ginge
wie frueher in den Tab. Ein Fehler, der nur beim ERSTEN Mal
auftritt, ist der, den man nie nachstellen kann. -->
<script src="assets/js/bildschau.js?v=202610072238"></script>
<script src="assets/js/chat.js?v=202610072238"></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/bildschau.js?v=202610072346"></script>
<script src="assets/js/chat.js?v=202610072346"></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
</body>
</html>
+17 -17
View File
@@ -12,20 +12,20 @@
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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/content.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/content.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<!-- 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=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start" data-buehne="portal">
@@ -179,15 +179,15 @@
</main>
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/checkliste.js?v=202610072238" defer></script>
<script src="assets/js/content.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/checkliste.js?v=202610072346" defer></script>
<script src="assets/js/content.js?v=202610072346" defer></script>
</body>
</html>
+6 -6
View File
@@ -36,15 +36,15 @@
<link rel="preload" as="image" href="assets/img/buehne/crew-gate-hoch-580.webp"
type="image/webp" media="(max-width: 899px)" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/crew-32.png?v=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/crew-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<!-- Diese Wand steht NUR auf der Adresse von Team Dogi (ueberall sonst
404, siehe crewWeiche). Sie darf das Haus deshalb direkt nennen
statt ueber den Platzhalter haus.css zu gehen -- und sie MUSS es:
Eine Zugangswand, die sich erst nach dem Umbiegen faerbt, waere
die eine Seite, auf der man das Umfaerben sieht. -->
<link rel="stylesheet" href="assets/css/crew-haus.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/crew-haus.css?v=202610072346" />
</head>
<body class="gate gate--crew">
@@ -459,7 +459,7 @@
<script src="assets/js/gate.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/gate.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
</body>
</html>
+4 -4
View File
@@ -23,25 +23,25 @@
},
"icons": [
{
"src": "/assets/img/app-symbole/crew-192.png?v=202610072238",
"src": "/assets/img/app-symbole/crew-192.png?v=202610072346",
"sizes": "192x192",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/crew-512.png?v=202610072238",
"src": "/assets/img/app-symbole/crew-512.png?v=202610072346",
"sizes": "512x512",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/crew-192-maskable.png?v=202610072238",
"src": "/assets/img/app-symbole/crew-192-maskable.png?v=202610072346",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/assets/img/app-symbole/crew-512-maskable.png?v=202610072238",
"src": "/assets/img/app-symbole/crew-512-maskable.png?v=202610072346",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
+17 -17
View File
@@ -12,20 +12,20 @@
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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/dateien.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/dateien.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<!-- 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=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start" data-buehne="arena">
@@ -108,15 +108,15 @@
</main>
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/hochladen.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/hochladen.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/dateien.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/dateien.js?v=202610072346" defer></script>
</body>
</html>
+18 -18
View File
@@ -7,14 +7,14 @@
<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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start">
@@ -306,20 +306,20 @@
</main>
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/holen.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/holen.js?v=202610072346" defer></script>
<!-- VOR entwicklung.js: Die Seite richtet den Katalog beim Start ein,
also muss es ihn zu dem Zeitpunkt geben. Mit "defer" laufen beide
in Dokumentreihenfolge. -->
<script src="assets/js/vorlagenbrett.js?v=202610072238" defer></script>
<script src="assets/js/entwicklung.js?v=202610072238" defer></script>
<script src="assets/js/vorlagenbrett.js?v=202610072346" defer></script>
<script src="assets/js/entwicklung.js?v=202610072346" defer></script>
</body>
</html>
+15 -15
View File
@@ -7,13 +7,13 @@
<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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/hilfe.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/hilfe.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start">
@@ -146,14 +146,14 @@
</main>
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/hilfe.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/hilfe.js?v=202610072346" defer></script>
</body>
</html>
+5 -5
View File
@@ -30,9 +30,9 @@
<link rel="preload" as="image" href="assets/img/buehne/gate-hoch-580.webp"
type="image/webp" media="(max-width: 899px)" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
</head>
<body class="gate">
@@ -427,7 +427,7 @@
<script src="assets/js/gate.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/gate.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
</body>
</html>
+17 -17
View File
@@ -12,20 +12,20 @@
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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/kalender.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/kalender.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<!-- 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=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start" data-buehne="skyline">
@@ -383,15 +383,15 @@
</main>
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/kalender.js?v=202610072238" defer></script>
<script src="assets/js/kalender-abo.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/kalender.js?v=202610072346" defer></script>
<script src="assets/js/kalender-abo.js?v=202610072346" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,20 +12,20 @@
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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/leistung.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/leistung.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<!-- 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=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start" data-buehne="arena">
@@ -444,13 +444,13 @@
</form>
</dialog>
<script src="assets/js/meldung.js?v=202610072238"></script>
<script src="assets/js/nachfrage.js?v=202610072238"></script>
<script src="assets/js/wahl.js?v=202610072238"></script>
<script src="assets/js/bereiche.js?v=202610072238"></script>
<script src="assets/js/kopf.js?v=202610072238"></script>
<script src="assets/js/glocke.js?v=202610072238"></script>
<script src="assets/js/leistung.js?v=202610072238"></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072346"></script>
<script src="assets/js/nachfrage.js?v=202610072346"></script>
<script src="assets/js/wahl.js?v=202610072346"></script>
<script src="assets/js/bereiche.js?v=202610072346"></script>
<script src="assets/js/kopf.js?v=202610072346"></script>
<script src="assets/js/glocke.js?v=202610072346"></script>
<script src="assets/js/leistung.js?v=202610072346"></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
</body>
</html>
+14 -14
View File
@@ -7,17 +7,17 @@
<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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/manager-ziele.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/manager-ziele.css?v=202610072346" />
<!-- module.css an VORLETZTER, haus.css an LETZTER Stelle. Die
Reihenfolge ist keine Geschmacksfrage: haus.css setzt nur
Variablen, und bei Variablen entscheidet allein, wer zuletzt
kommt. pruef-css-klassen.mjs misst genau dieses Paar nach. -->
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start" data-buehne="arena">
@@ -230,16 +230,16 @@
kopf.js liest daraus die Leitungsrollen. Ohne sie stürzt jede
Seite ab, und zwar nur in der Browserkonsole -- die Kopfleiste
kommt trotzdem. -->
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<!-- wahl.js gehört zu kopf.js: Der Sicht-Umschalter baut daraus seine
Liste. pruef-css-klassen setzt das durch, und zwar auch die
Reihenfolge -- kopf.js fragt beim Aufbau nach dem fertigen
Bedienelement. -->
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/manager-ziele.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/manager-ziele.js?v=202610072346" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,13 +12,13 @@
vergessen wird. -->
<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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/material.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/material.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start" data-ton="42" data-buehne="studio">
@@ -138,14 +138,14 @@
<p class="m-laedt" id="laedt">Einen Moment …</p>
</main>
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/hochladen.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/material.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/hochladen.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/material.js?v=202610072346" defer></script>
</body>
</html>
+14 -14
View File
@@ -7,13 +7,13 @@
<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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/notizen.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/notizen.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start" data-ton="46">
@@ -181,12 +181,12 @@
<!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js
liest daraus die Leitungsrollen. -->
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/notizen.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/notizen.js?v=202610072346" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,20 +12,20 @@
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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/personen.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/personen.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<!-- 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=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start" data-buehne="halle">
@@ -453,14 +453,14 @@
</main>
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/personen.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/personen.js?v=202610072346" defer></script>
</body>
</html>
+18 -18
View File
@@ -12,20 +12,20 @@
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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/profil.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/profil.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<!-- 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=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start" data-buehne="halle">
@@ -214,16 +214,16 @@
</main>
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/hochladen.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/hochladen.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/steckbrief.js?v=202610072238" defer></script>
<script src="assets/js/profil.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/steckbrief.js?v=202610072346" defer></script>
<script src="assets/js/profil.js?v=202610072346" defer></script>
</body>
</html>
+19 -19
View File
@@ -7,15 +7,15 @@
<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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/reaktion.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/spendenkarte.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/werbung.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/reaktion.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/spendenkarte.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/werbung.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start reaktion-seite" data-stand="laedt">
@@ -905,15 +905,15 @@
<!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js
liest daraus die Leitungsrollen. -->
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/spendenkarte.js?v=202610072238" defer></script>
<script src="assets/js/werbung.js?v=202610072238" defer></script>
<script src="assets/js/reaktion.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/spendenkarte.js?v=202610072346" defer></script>
<script src="assets/js/werbung.js?v=202610072346" defer></script>
<script src="assets/js/reaktion.js?v=202610072346" defer></script>
</body>
</html>
+17 -17
View File
@@ -7,14 +7,14 @@
<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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start">
@@ -134,14 +134,14 @@
Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen
Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen,
die seit dem 07.09. jede Seite danach absucht. -->
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/holen.js?v=202610072238" defer></script>
<script src="assets/js/rechte.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/holen.js?v=202610072346" defer></script>
<script src="assets/js/rechte.js?v=202610072346" defer></script>
</body>
</html>
+18 -18
View File
@@ -12,20 +12,20 @@
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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/report.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/report.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<!-- 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=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start" data-buehne="showbuehne">
@@ -106,17 +106,17 @@
</main>
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/ki.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/holen.js?v=202610072238" defer></script>
<script src="assets/js/report.js?v=202610072238" defer></script>
<script src="assets/js/ki.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/holen.js?v=202610072346" defer></script>
<script src="assets/js/report.js?v=202610072346" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,20 +12,20 @@
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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/scouting.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/scouting.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<!-- 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=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start" data-buehne="wald">
@@ -194,14 +194,14 @@
</div>
</div>
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/scouting.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/scouting.js?v=202610072346" defer></script>
</body>
</html>
+19 -19
View File
@@ -12,26 +12,26 @@
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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<!-- Nur die Startseite: Begrüßungskachel, Uhr, Glockenmulde. Siehe
den Hinweis in start.css -- dort stand es bis zum 07.09.2026. -->
<link rel="stylesheet" href="assets/css/heim.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/heim.css?v=202610072346" />
<!-- Die Einweisung bringt ihr Aussehen mit. Sie steht in
anleitung.css, weil sie dorthin gehoert -- und nicht in
start.css, wo sie zwischen 48 Kachelfarben verschwinden
wuerde. -->
<link rel="stylesheet" href="assets/css/anleitung.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/anleitung.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<!-- 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=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start">
@@ -768,22 +768,22 @@
</p>
</main>
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/live.js?v=202610072238" defer></script>
<script src="assets/js/start.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/live.js?v=202610072346" defer></script>
<script src="assets/js/start.js?v=202610072346" defer></script>
<!-- Die Begruessung und der Rundgang beim ersten Anmelden.
EIGENE DATEI und nicht ein Stueck start.js: Sie laeuft auf der
meistbenutzten Seite des Hauses, und wenn hier etwas schiefgeht,
darf davon nichts anderes betroffen sein. -->
<script src="assets/js/rundgang.js?v=202610072238" defer></script>
<script src="assets/js/aufstieg.js?v=202610072238" defer></script>
<script src="assets/js/rundgang.js?v=202610072346" defer></script>
<script src="assets/js/aufstieg.js?v=202610072346" defer></script>
</body>
</html>
+17 -17
View File
@@ -12,20 +12,20 @@
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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/startcheck.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/startcheck.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<!-- 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=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start" data-buehne="wald">
@@ -85,16 +85,16 @@
</main>
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/ki.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/startcheck.js?v=202610072238" defer></script>
<script src="assets/js/ki.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/startcheck.js?v=202610072346" defer></script>
</body>
</html>
+18 -18
View File
@@ -12,20 +12,20 @@
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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/profil.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/profil.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<!-- 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=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start" data-buehne="halle">
@@ -150,16 +150,16 @@
</main>
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/hochladen.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/hochladen.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/auskunft.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/steckbrief.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/auskunft.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/steckbrief.js?v=202610072346" defer></script>
</body>
</html>
+14 -14
View File
@@ -7,13 +7,13 @@
<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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/support.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/support.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start" data-buehne="studio">
@@ -154,16 +154,16 @@
(reading 'LEITUNG')" ab -- gemessen am 24.09.2026, als diese
Zeile beim Anlegen der Seite fehlte. Die Kopfleiste kam
trotzdem, deshalb sah man es nur in der Browserkonsole. -->
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<!-- wahl.js gehoert zu kopf.js: Der Sicht-Umschalter in der
Kopfleiste baut daraus seine Liste. pruef-css-klassen setzt das
seit dem 07.09.2026 durch -- damals fehlte es auf chat.html und
uebersicht.html, und heute hier. -->
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/support.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/support.js?v=202610072346" defer></script>
</body>
</html>
+3 -3
View File
@@ -23,7 +23,7 @@
„Eigenes CSS" leer lassen (der Grund ist schon
durchsichtig).
====================================================================== -->
<link rel="stylesheet" href="assets/css/spendenkarte.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/spendenkarte.css?v=202610072346" />
<style>
/* DURCHSICHTIG BIS AUF DIE KARTEN. OBS legt die Quelle über das
Bild; jede Fläche, die hier steht, deckt dort etwas zu. */
@@ -80,7 +80,7 @@
<body>
<div class="obs-tafel spendentafel" id="tafel" aria-live="polite"></div>
<script src="assets/js/spendenkarte.js?v=202610072238" defer></script>
<script src="assets/js/tafel.js?v=202610072238" defer></script>
<script src="assets/js/spendenkarte.js?v=202610072346" defer></script>
<script src="assets/js/tafel.js?v=202610072346" defer></script>
</body>
</html>
+18 -18
View File
@@ -7,18 +7,18 @@
<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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610072346" />
<!-- 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=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start">
@@ -111,15 +111,15 @@
</main>
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/holen.js?v=202610072238" defer></script>
<script src="assets/js/talente.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/holen.js?v=202610072346" defer></script>
<script src="assets/js/talente.js?v=202610072346" defer></script>
</body>
</html>
+16 -16
View File
@@ -7,20 +7,20 @@
<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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/team.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/team.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<!-- 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=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start" data-buehne="halle">
@@ -110,15 +110,15 @@
</main>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/holen.js?v=202610072238" defer></script>
<script src="assets/js/team.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/holen.js?v=202610072346" defer></script>
<script src="assets/js/team.js?v=202610072346" defer></script>
</body>
</html>
+17 -17
View File
@@ -7,20 +7,20 @@
<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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/team.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/team.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<!-- 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=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<!-- `data-buehne` steht hier fest und nicht im Skript: Die Kachel zu
@@ -84,15 +84,15 @@
Kaputt ist dabei nichts -- er funktioniert. Genau deshalb faellt
es niemandem auf, und deshalb prueft pruef-css-klassen die
ABHAENGIGKEIT statt der Optik. Hier hat sie angeschlagen. -->
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/holen.js?v=202610072238" defer></script>
<script src="assets/js/teamlage.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/holen.js?v=202610072346" defer></script>
<script src="assets/js/teamlage.js?v=202610072346" defer></script>
</body>
</html>
+15 -15
View File
@@ -7,13 +7,13 @@
<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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start">
@@ -112,15 +112,15 @@
</main>
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/teilen.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/teilen.js?v=202610072346" defer></script>
</body>
</html>
+16 -16
View File
@@ -7,14 +7,14 @@
<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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start">
@@ -126,14 +126,14 @@
</main>
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/treff-moderation.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/treff-moderation.js?v=202610072346" defer></script>
</body>
</html>
+16 -16
View File
@@ -7,18 +7,18 @@
<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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<!-- haus.css MUSS die letzte Stilvorlage sein. Auf der Adresse des
Rudels 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=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start">
@@ -248,14 +248,14 @@
Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen
Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen,
die seit dem 07.09. jede Seite danach absucht. -->
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/auskunft.js?v=202610072238" defer></script>
<script src="assets/js/treff-regeln.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/auskunft.js?v=202610072346" defer></script>
<script src="assets/js/treff-regeln.js?v=202610072346" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,22 +12,22 @@
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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<!-- Formular- und Dialogstile: seit dem 07.09.2026 steht hier der
Dialog "Creator anlegen". -->
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<!-- 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=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start" data-buehne="showbuehne">
@@ -149,16 +149,16 @@
</main>
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/uebersicht.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/uebersicht.js?v=202610072346" defer></script>
</body>
</html>
+15 -15
View File
@@ -7,13 +7,13 @@
<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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/unsere-seiten.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/unsere-seiten.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start">
@@ -335,14 +335,14 @@
</main>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/live.js?v=202610072238" defer></script>
<script src="assets/js/unsere-seiten.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/live.js?v=202610072346" defer></script>
<script src="assets/js/unsere-seiten.js?v=202610072346" defer></script>
</body>
</html>
+16 -16
View File
@@ -7,13 +7,13 @@
<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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/unterstuetzen.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/unterstuetzen.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start">
@@ -106,17 +106,17 @@
<!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js
liest daraus die Leitungsrollen. Ohne sie stürzt jede Seite mit
„Cannot read properties of undefined (reading 'LEITUNG')" ab. -->
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/holen.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/holen.js?v=202610072346" defer></script>
<!-- Die Satz-Tafel. Ohne sie stand auf dieser Seite das Maschinenwort
des Servers (z.B. "nicht_gefunden") statt eines Satzes -- gemeldet
von pruef-meldungen, nicht beim Ansehen. -->
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/unterstuetzen.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/unterstuetzen.js?v=202610072346" defer></script>
</body>
</html>
+16 -16
View File
@@ -7,15 +7,15 @@
<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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/werdegang.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/werdegang.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start">
@@ -144,14 +144,14 @@
</main>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/werdegang.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/werdegang.js?v=202610072346" defer></script>
</body>
</html>
+1 -1
View File
@@ -56,7 +56,7 @@
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=202610072238" />
<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
+17 -17
View File
@@ -12,20 +12,20 @@
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=202610072238" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072238" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/wissen.css?v=202610072238" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072238" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610072346" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610072346" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/start.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/wissen.css?v=202610072346" />
<link rel="stylesheet" href="assets/css/module.css?v=202610072346" />
<!-- 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=202610072238" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610072346" />
</head>
<body class="start" data-buehne="arena">
@@ -190,15 +190,15 @@
</main>
<script src="assets/js/meldung.js?v=202610072238" defer></script>
<script src="assets/js/hochladen.js?v=202610072238" defer></script>
<script src="assets/js/nachfrage.js?v=202610072238" defer></script>
<script src="assets/js/meldung.js?v=202610072346" defer></script>
<script src="assets/js/hochladen.js?v=202610072346" defer></script>
<script src="assets/js/nachfrage.js?v=202610072346" defer></script>
<script src="assets/js/wahl.js?v=202610072238" defer></script>
<script src="assets/js/bereiche.js?v=202610072238" defer></script>
<script src="assets/js/installieren.js?v=202610072238" defer></script>
<script src="assets/js/kopf.js?v=202610072238" defer></script>
<script src="assets/js/glocke.js?v=202610072238" defer></script>
<script src="assets/js/wissen.js?v=202610072238" defer></script>
<script src="assets/js/wahl.js?v=202610072346" defer></script>
<script src="assets/js/bereiche.js?v=202610072346" defer></script>
<script src="assets/js/installieren.js?v=202610072346" defer></script>
<script src="assets/js/kopf.js?v=202610072346" defer></script>
<script src="assets/js/glocke.js?v=202610072346" defer></script>
<script src="assets/js/wissen.js?v=202610072346" defer></script>
</body>
</html>