Bei "An alle" sieht man jetzt, wer sie hat und wer nicht
Filipe: "wenn ich eine aufgabe an alle verteile will ich dass dogfather und die rechte hand individuel von jedem sehen wer es gemacht hat oder nicht." Vier Fehler, die zusammenhingen -- alle gemessen, keiner geraten: 1. "Alle" waehlen, "An alle" druecken, nichts passiert. Die Zeile verglich verantwortlich_id !== "alle"; niemand heisst so, also wurde jede Aufgabe uebersprungen und die Liste blieb leer. Die Aufgaben entstanden, man sah es nur nicht. 2. Der Vermerk an der Karte haette bei "alle" den Stand EINER fremden Person gezeigt -- welcher, haengt von der Reihenfolge der Daten ab. Jetzt steht dort, wie weit es ist, und darunter namentlich, wer sie hat: Offen / Erledigt / ueberfaellig / hat sie nicht. Das Wort steht immer dabei, die Farbe ist nur die Abkuerzung. 3. Die "An wen"-Reihe zeigte SECHS Personen, der Server belieferte VIER. Rechte und linke Hand gingen leer aus, ohne ein Wort; einzeln angeschrieben kam "Das gibt es nicht mehr, lade die Seite neu" zu jemandem, den es sehr wohl gibt. Empfaenger sind jetzt Modis UND linke Hand (Filipes Regel vom 22.09.), und die Menge steht EINMAL in workspace.js -- SQL-Abfrage, Annahme und Browserliste leiten sich daraus ab und koennen nicht mehr auseinanderlaufen. 4. Zweimal "An alle" legte alles doppelt an. Der Kommentar im Server behauptete das Gegenteil; aktiv war die Sperre nur beim Massenknopf. "An alle" fuellt jetzt Luecken. Die bewusste Wiederholung bleibt: Steht am Knopf "Nochmal" (weil wirklich alle sie haben), sagt der Browser das ausdruecklich, und dann legt der Server neu an. Geprueft: pruef-modi-katalog 144 statt 133, 0 Fehler -- elf neue Pruefungen fuer Empfaenger, Luecken und die Gegenprobe, dass ein gewolltes "Nochmal" sehr wohl anlegt. Dazu mess-alle-einzelsicht.mjs (eigene Wegwerf-Datenbank, nie die echte) mit Bildern bei 412 und 1280 px. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -0,0 +1,246 @@
|
||||
/* =====================================================================
|
||||
WER HAT SIE, WER NICHT — die Einzelansicht bei „An alle" (24.09.2026)
|
||||
|
||||
---------------------------------------------------------------------
|
||||
WARUM ES DIESE DATEI GIBT
|
||||
|
||||
Filipe: „wenn ich eine aufgabe an alle verteile will ich dass
|
||||
dogfather und die rechte hand individuel von jedem sehen wer es
|
||||
gemacht hat oder nicht. aufgabe an alle verteilen aber individuel
|
||||
sehen wir das."
|
||||
|
||||
Gebaut ist das in `vorlagenbrett.js`. Ob es AUSSIEHT wie gedacht,
|
||||
beantwortet kein Quelltext: Die Marken stehen in einer Reihe, die
|
||||
umbricht, in einer Karte, die schmaler wird — und auf einem Handy
|
||||
ist die Karte 380 px breit, nicht 400.
|
||||
|
||||
SIE PRUEFT NICHTS und meldet keinen Fehlschlag. Sie macht ein Bild,
|
||||
auf dem man nachsehen kann. Deshalb `mess-` und nicht `pruef-`: Die
|
||||
Portvergabe leitet sich aus den `pruef-`-Namen ab, und eine
|
||||
Messdatei darf die Nummern der Pruefungen nicht verschieben.
|
||||
|
||||
---------------------------------------------------------------------
|
||||
EIGENE WEGWERF-DATENBANK, NIE DIE ECHTE
|
||||
|
||||
Es entstehen echte Aufgaben — vier Stueck, damit alle vier Zustaende
|
||||
im Bild sind. In einem laufenden System waeren das Testdaten, und die
|
||||
sind verboten. Hier liegt die Datenbank in einem `mktemp`-Ordner und
|
||||
wird am Ende geloescht.
|
||||
|
||||
Aufrufen mit: node server/mess-alle-einzelsicht.mjs
|
||||
===================================================================== */
|
||||
import { mkdtempSync, rmSync, readFileSync } from "node:fs";
|
||||
import { tmpdir } from "node:os";
|
||||
import { join } from "node:path";
|
||||
import { execFileSync } from "node:child_process";
|
||||
import { request as httpAnfrage } from "node:http";
|
||||
import { createServer as httpsServer } from "node:https";
|
||||
|
||||
const PORT = 5397, HP = 5398;
|
||||
const CREW = "crew.dogfather-universe.com";
|
||||
const ordner = mkdtempSync(join(tmpdir(), "ws-alle-sicht-"));
|
||||
process.env.WORKSPACE_DB = join(ordner, "workspace.db");
|
||||
process.env.PORT = String(PORT);
|
||||
process.env.SITE_ACCESS_SECRET = "lokaler-test";
|
||||
process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00";
|
||||
|
||||
const express = (await import("express")).default;
|
||||
const ec = express.response.cookie;
|
||||
express.response.cookie = function (n, w, o) {
|
||||
return ec.call(this, n, w, { ...(o || {}), secure: false });
|
||||
};
|
||||
import { notbremse } from "./helfer-notbremse.mjs";
|
||||
await import("./index.js");
|
||||
notbremse(240_000, "mess-alle-einzelsicht");
|
||||
await new Promise((r) => setTimeout(r, 900));
|
||||
|
||||
process.on("uncaughtException", (f) => { console.error("ABSTURZ:", f); process.exit(7); });
|
||||
process.on("unhandledRejection", (f) => { console.error("ABSTURZ (Versprechen):", f); process.exit(7); });
|
||||
|
||||
const { DatabaseSync } = await import("node:sqlite");
|
||||
const { scryptSync, randomBytes, createHmac } = await import("node:crypto");
|
||||
const d = new DatabaseSync(process.env.WORKSPACE_DB);
|
||||
const jetzt = new Date().toISOString();
|
||||
const sch = randomBytes(32).toString("hex");
|
||||
d.prepare("INSERT INTO einstellungen (schluessel, wert, geaendert, von)"
|
||||
+ " VALUES (?,?,?,NULL) ON CONFLICT(schluessel) DO NOTHING")
|
||||
.run("code_kennung_schluessel", sch, jetzt);
|
||||
|
||||
const anlegen = (name, rolle, code) => {
|
||||
const s = randomBytes(16).toString("hex");
|
||||
const h = scryptSync(code, s, 64,
|
||||
{ N: 32768, r: 8, p: 1, maxmem: 96 * 1024 * 1024 }).toString("hex");
|
||||
return d.prepare("INSERT INTO personen"
|
||||
+ " (name, rolle, code_hash, code_salt, code_n, code_kennung, aktiv, erstellt)"
|
||||
+ " VALUES (?,?,?,?,?,?,1,?) RETURNING id")
|
||||
.get(name, rolle, h, s, 32768,
|
||||
createHmac("sha256", sch).update(code).digest("hex"), jetzt).id;
|
||||
};
|
||||
|
||||
/* Vier Empfaenger und eine rechte Hand — genau die Besetzung, um die es
|
||||
geht: Die Haende sind getrennt (eine verteilt, eine bekommt). */
|
||||
const idDogi = anlegen("Filipe", "admin", "CODE-DOGI-0001");
|
||||
const idHand = anlegen("VanVan", "hand", "CODE-HAND-0001");
|
||||
const idLinke = anlegen("Kessi", "linke", "CODE-LINKE-0001");
|
||||
const idM1 = anlegen("Diene", "modi", "CODE-MODI-0001");
|
||||
const idM2 = anlegen("Marina", "modi", "CODE-MODI-0002");
|
||||
const idM3 = anlegen("Ghost", "modi", "CODE-MODI-0003");
|
||||
void idDogi; void idHand;
|
||||
d.close();
|
||||
|
||||
const anfrage = (pfad, art, koerper, keks) => new Promise((fertig, schief) => {
|
||||
const a = httpAnfrage({
|
||||
host: "127.0.0.1", port: PORT, path: pfad, method: art,
|
||||
headers: {
|
||||
Host: CREW, "Content-Type": "application/json",
|
||||
...(keks ? { Cookie: keks } : {}),
|
||||
},
|
||||
}, (r) => {
|
||||
let t = ""; r.on("data", (x) => { t += x; });
|
||||
r.on("end", () => fertig({ code: r.statusCode, kopf: r.headers, text: t }));
|
||||
});
|
||||
a.on("error", schief);
|
||||
if (koerper) a.write(JSON.stringify(koerper));
|
||||
a.end();
|
||||
});
|
||||
|
||||
const an = await anfrage("/workspace/api/anmelden", "POST",
|
||||
{ rolle: "admin", code: "CODE-DOGI-0001" });
|
||||
if (an.code !== 200) {
|
||||
console.log(`ABBRUCH: DogFather ließ sich nicht anmelden (HTTP ${an.code}).`);
|
||||
process.exit(2);
|
||||
}
|
||||
const keks = (an.kopf["set-cookie"] || []).map((x) => x.split(";")[0]).join("; ");
|
||||
|
||||
/* ---- Ein Stand, auf dem man ALLE VIER Zustaende sieht ----------------
|
||||
Sonst zeigt das Bild nur „hat sie nicht", und man weiss nachher
|
||||
nicht, ob die Farben stimmen. */
|
||||
/* Der Katalog steckt UNTER `katalog` in der Antwort -- die Route
|
||||
liefert daneben noch Bewerbungen und Rechte. */
|
||||
const kat = JSON.parse((await anfrage("/workspace/api/vorlagen", "GET", null, keks)).text);
|
||||
const liste = kat?.katalog?.aufgaben;
|
||||
if (!Array.isArray(liste) || !liste.length) {
|
||||
console.log("ABBRUCH: kein Katalog in der Antwort --",
|
||||
JSON.stringify(kat).slice(0, 300));
|
||||
process.exit(3);
|
||||
}
|
||||
const v0 = liste.map((v, i) => ({ ...v, nr: i }))[0];
|
||||
const verteilt = await anfrage("/workspace/api/vorlagen/uebernehmen", "POST",
|
||||
{ art: "katalog", nr: v0.nr, gruppe: v0.gruppe, person_id: "alle" }, keks);
|
||||
console.log(`Verteilt an alle: HTTP ${verteilt.code} ${verteilt.text.slice(0, 80)}`);
|
||||
|
||||
const d2 = new DatabaseSync(process.env.WORKSPACE_DB);
|
||||
/* Einer hat sie erledigt, einer ist ueberfaellig, einer hat sie gar
|
||||
nicht — die Linke Hand behaelt ihr schlichtes „Offen". */
|
||||
d2.prepare("UPDATE aufgaben SET status = 'erledigt' WHERE vorlage = ? AND verantwortlich_id = ?")
|
||||
.run(v0.schluessel, idM1);
|
||||
d2.prepare("UPDATE aufgaben SET frist = '2026-09-01' WHERE vorlage = ? AND verantwortlich_id = ?")
|
||||
.run(v0.schluessel, idM2);
|
||||
d2.prepare("DELETE FROM aufgaben WHERE vorlage = ? AND verantwortlich_id = ?")
|
||||
.run(v0.schluessel, idM3);
|
||||
const stand = d2.prepare(
|
||||
"SELECT verantwortlich_id AS w, status, frist FROM aufgaben WHERE vorlage = ?")
|
||||
.all(v0.schluessel);
|
||||
d2.close();
|
||||
console.log("Stand:", JSON.stringify(stand),
|
||||
`\n (${idLinke}=Kessi/linke, ${idM1}=Diene, ${idM2}=Marina, ${idM3}=Ghost)`);
|
||||
|
||||
const schl = join(ordner, "b.key"), zert = join(ordner, "b.crt");
|
||||
execFileSync("openssl", ["req", "-x509", "-newkey", "rsa:2048", "-nodes", "-keyout", schl,
|
||||
"-out", zert, "-days", "2", "-subj", `/CN=${CREW}`, "-addext", `subjectAltName=DNS:${CREW}`],
|
||||
{ stdio: "ignore" });
|
||||
const vorbau = httpsServer({ key: readFileSync(schl), cert: readFileSync(zert) },
|
||||
(von, nach) => {
|
||||
const w = httpAnfrage({
|
||||
host: "127.0.0.1", port: PORT, path: von.url, method: von.method,
|
||||
headers: { ...von.headers, host: `${CREW}:${HP}` },
|
||||
}, (a) => { nach.writeHead(a.statusCode || 502, a.headers); a.pipe(nach); });
|
||||
von.pipe(w);
|
||||
});
|
||||
await new Promise((r) => vorbau.listen(HP, "127.0.0.1", r));
|
||||
|
||||
const pw = await import(
|
||||
"file:///C:/Users/qciga/Documents/Obelix/Analyse/node_modules/playwright/index.mjs");
|
||||
const browser = await pw.chromium.launch({
|
||||
args: [`--host-resolver-rules=MAP ${CREW} 127.0.0.1`, "--ignore-certificate-errors"],
|
||||
});
|
||||
try {
|
||||
/* ZWEI BREITEN. 412 px ist die haeufigste Android-Breite; an ihr ist
|
||||
am 06.09. die Kopfleiste gescheitert. 1280 px ist der kleinste
|
||||
Rechner, an dem noch jemand arbeitet. */
|
||||
for (const [wie, breite, hoehe] of [["handy", 412, 1400], ["computer", 1280, 1600]]) {
|
||||
const kontext = await browser.newContext({ viewport: { width: breite, height: hoehe } });
|
||||
await kontext.addCookies(keks.split("; ").map((k) => {
|
||||
const [n, ...r] = k.split("=");
|
||||
return { name: n, value: r.join("="), domain: CREW, path: "/" };
|
||||
}));
|
||||
const seite = await kontext.newPage();
|
||||
const konsole = [];
|
||||
seite.on("console", (e) => {
|
||||
if (e.type() === "error" && !/favicon|ERR_CERT|net::ERR/i.test(e.text())) {
|
||||
konsole.push(e.text().slice(0, 140));
|
||||
}
|
||||
});
|
||||
await seite.goto(`https://${CREW}:${HP}/workspace/entwicklung.html`,
|
||||
{ waitUntil: "networkidle" });
|
||||
await seite.waitForTimeout(1200);
|
||||
|
||||
/* Das Brett startet zugeklappt — aufklappen, sonst ist das Bild leer. */
|
||||
await seite.evaluate(() => {
|
||||
const kopf = document.querySelector('.vorlagenbrett__kopf[aria-expanded="false"]');
|
||||
if (kopf) kopf.click();
|
||||
});
|
||||
await seite.waitForTimeout(700);
|
||||
|
||||
/* Den Alle-Knopf waehlen -- das ist der Fall, um den es geht. */
|
||||
const traf = await seite.evaluate(() => {
|
||||
const k = document.querySelector('.stufenleiter--wer [data-alle="ja"]');
|
||||
if (!k) return false;
|
||||
k.click(); return true;
|
||||
});
|
||||
await seite.waitForTimeout(1400);
|
||||
|
||||
const gesehen = await seite.evaluate(() => {
|
||||
const karte = document.querySelector('.vorlagenbrett__karte .vorlagenbrett__wer')
|
||||
?.closest('.vorlagenbrett__karte');
|
||||
const reihe = [...(karte?.querySelectorAll('.vorlagenbrett__wer-p') || [])]
|
||||
.map((m) => ({
|
||||
wer: m.querySelector('.vorlagenbrett__wer-name')?.textContent,
|
||||
stand: m.querySelector('.vorlagenbrett__wer-stand')?.textContent,
|
||||
art: m.dataset.stand,
|
||||
}));
|
||||
return {
|
||||
wen: [...document.querySelectorAll('.stufenleiter--wer .stufenleiter__knopf')]
|
||||
.map((k) => k.textContent.trim().replace(/\s+/g, ' ')),
|
||||
titel: karte?.querySelector('.vorlagenbrett__titel')?.textContent,
|
||||
fuss: karte?.querySelector('.vorlagenbrett__schon')?.textContent,
|
||||
knopf: karte?.querySelector('.knopf')?.textContent,
|
||||
hinweis: karte?.querySelector('.knopf')?.title,
|
||||
reihe,
|
||||
mitReihe: document.querySelectorAll('.vorlagenbrett__wer').length,
|
||||
};
|
||||
});
|
||||
|
||||
console.log(`\n=== ${wie} (${breite} px) ===`);
|
||||
console.log(" Alle-Knopf getroffen:", traf);
|
||||
console.log(" An wen:", JSON.stringify(gesehen.wen));
|
||||
console.log(" Karte :", gesehen.titel);
|
||||
console.log(" Fuss :", gesehen.fuss, "| Knopf:", gesehen.knopf);
|
||||
console.log(" Hinweis:", gesehen.hinweis);
|
||||
console.log(" Karten mit Namensreihe:", gesehen.mitReihe);
|
||||
for (const r of gesehen.reihe) console.log(` ${r.wer} -> ${r.stand} [${r.art}]`);
|
||||
if (konsole.length) console.log(" FEHLER IN DER KONSOLE:", konsole);
|
||||
|
||||
const karte = seite.locator('.vorlagenbrett__karte', { has: seite.locator('.vorlagenbrett__wer') }).first();
|
||||
if (await karte.count()) {
|
||||
await karte.screenshot({ path: `server/mess-alle-${wie}.png` });
|
||||
console.log(` Bild: server/mess-alle-${wie}.png`);
|
||||
}
|
||||
await kontext.close();
|
||||
}
|
||||
} finally {
|
||||
await browser.close();
|
||||
vorbau.close();
|
||||
try { rmSync(ordner, { recursive: true, force: true }); } catch { /* egal */ }
|
||||
process.exit(0);
|
||||
}
|
||||
@@ -444,7 +444,15 @@ console.log("\n=== 4. DogFather trägt für einen Modi ein ===\n");
|
||||
method: "POST", headers: jsonKopf,
|
||||
body: JSON.stringify({ art: "katalog", nr, gruppe: "monat", person_id: idCreat }),
|
||||
});
|
||||
ok(b.status === 404, `an einen Creator dagegen nicht (${b.status})`);
|
||||
/* STRENGER ALS VORHER (24.09.2026). Hier stand nur `status === 404`.
|
||||
Das war zugleich die Antwort auf „die Person gibt es nicht" -- und
|
||||
auf dem Bildschirm stand deshalb „Das gibt es nicht mehr, lade die
|
||||
Seite neu" zu jemandem, den es sehr wohl gibt. Ein Neuladen half
|
||||
nie. Seit heute trennt der Server die beiden Faelle, und geprueft
|
||||
wird das WORT, nicht nur die Nummer: Ein Zahlendreher woanders
|
||||
koennte sonst denselben Haken setzen. */
|
||||
ok(b.status === 400 && b.daten?.fehler === "rolle_ohne_katalog",
|
||||
`an einen Creator dagegen nicht (${b.status} ${b.daten?.fehler || ""})`);
|
||||
|
||||
/* Und ohne Person gar nicht -- eine Aufgabe ohne Adressaten ist ein
|
||||
Zettel. */
|
||||
@@ -1205,6 +1213,165 @@ console.log("\n=== 7. Gegenprobe: kann das hier ueberhaupt scheitern? ===\n");
|
||||
ok(e.status === 400, `und eine erfundene Vorlage in der Bewerbung (${e.status})`);
|
||||
}
|
||||
|
||||
/* ---------- 8. Wer aus dem Katalog etwas bekommen kann --------------- *
|
||||
*
|
||||
* ER STEHT GANZ HINTEN, OBWOHL ER INHALTLICH ZU 4 GEHOERT.
|
||||
*
|
||||
* Grund: Er legt Aufgaben an, und Abschnitt 6 sieht im Browser nach,
|
||||
* wie viele Karten noch einen "Bewerben"-Knopf tragen -- eine Karte,
|
||||
* die man schon hat, traegt keinen. Stand er vorn, fiel diese Zahl von
|
||||
* zehn auf neun, und eine Pruefung wurde rot, an der nichts kaputt war.
|
||||
*
|
||||
* Die Schwelle dort (knoepfe.length >= 10) ist eine feste Zahl und
|
||||
* damit eine Rechnung von gestern -- wer dem Modi kuenftig Aufgaben
|
||||
* gibt, bringt sie wieder zum Kippen. Das hier ist die kleine Loesung
|
||||
* (nicht stoeren); die grosse waere, die Zahl dort abzuleiten statt sie
|
||||
* zu setzen. Wer das anfasst, darf diesen Abschnitt zurueckschieben.
|
||||
*/
|
||||
/* =====================================================================
|
||||
Filipe, 24.09.2026: „wenn ich eine aufgabe an alle verteile will ich
|
||||
dass dogfather und die rechte hand individuel von jedem sehen wer es
|
||||
gemacht hat oder nicht."
|
||||
|
||||
WARUM DIESER ABSCHNITT NEU IST. „An alle" gab es seit dem Vormittag,
|
||||
und geprueft war davon genau ein Fall: dass eine erfundene Gruppe
|
||||
abgelehnt wird. Der Weg, der tatsaechlich benutzt wird -- an alle
|
||||
verteilen und nachsehen, wer sie hat --, lief ungeprueft.
|
||||
|
||||
UND DABEI LAG ER FALSCH: Die „An wen"-Reihe im Browser zeigte sechs
|
||||
Personen (rechte Hand, linke Hand, vier Modis), der Server nahm aber
|
||||
nur Modis an. „An alle 6" legte vier Aufgaben an, und die beiden
|
||||
Haende gingen leer aus -- ohne ein Wort. Das ist kein Randfall: Es
|
||||
ist der Normalfall dieses Knopfes.
|
||||
|
||||
GEPRUEFT WIRD IN BEIDE RICHTUNGEN. Wer etwas bekommen soll, bekommt
|
||||
es (200); wer nicht, bekommt eine Absage MIT GRUND (400). Eine
|
||||
Pruefung, die nur das Gelingen kennt, kann nicht scheitern -- und
|
||||
bestaetigt damit nichts.
|
||||
===================================================================== */
|
||||
console.log("\n=== 8. Wer aus dem Katalog etwas bekommen kann ===\n");
|
||||
{
|
||||
/* VORLAGEN, DIE IN DIESEM LAUF NOCH NIEMAND HAT -- gefragt, nicht
|
||||
getippt. Im ersten Anlauf stand hier `gruppe === "monat"`; diese
|
||||
Gruppe gibt es gar nicht (sie stammte aus einer Absage-Pruefung,
|
||||
in der der Name nie geprueft wurde), und `frei[0]` war undefined.
|
||||
Eine abgeschriebene Kategorie ist dieselbe Falle wie eine feste
|
||||
Zahl. So gefragt bleibt die Pruefung richtig, auch wenn der
|
||||
Katalog morgen andere Gruppen hat. */
|
||||
/* EIN EIGENER, LESENDER GRIFF. Der von ganz oben ist seit Zeile 87
|
||||
zu -- weiter oben machen es die Bewerbungen mit `d2` schon so. Ein
|
||||
offen gelassener Griff waere schlimmer: Die Pruefung wuerde am
|
||||
Ende nicht mehr enden. */
|
||||
const { DatabaseSync: DB4 } = await import("node:sqlite");
|
||||
const d4 = new DB4(process.env.WORKSPACE_DB, { readOnly: true });
|
||||
const belegt = new Set(d4.prepare(
|
||||
"SELECT DISTINCT vorlage AS v FROM aufgaben WHERE vorlage IS NOT NULL")
|
||||
.all().map((x) => x.v));
|
||||
d4.close();
|
||||
const frei = katalog.aufgaben
|
||||
.map((v, i) => ({ ...v, nr: i }))
|
||||
.filter((v) => !belegt.has(v.schluessel));
|
||||
ok(frei.length >= 2,
|
||||
`es gibt genug unbenutzte Vorlagen zum Pruefen (${frei.length})`);
|
||||
|
||||
/* --- Die linke Hand GEHOERT DAZU (neu seit 24.09.2026) ------------
|
||||
Filipes Regel vom 22.09.: „die modis und linke hand sollen ... sich
|
||||
fuer aufgaben bewerben koennen aber die rechte hand oder dogfather
|
||||
muessen annehmen oder ablehnen". Also ist sie Empfaengerin. */
|
||||
const l = await hole(dogiAn.keks, "/workspace/api/vorlagen/uebernehmen", {
|
||||
method: "POST", headers: jsonKopf,
|
||||
body: JSON.stringify({ art: "katalog", nr: frei[0].nr, gruppe: frei[0].gruppe, person_id: idLinke }),
|
||||
});
|
||||
ok(l.status === 200 && l.daten?.angelegt === 1,
|
||||
`an die linke Hand geht es (${l.status})`);
|
||||
|
||||
/* --- Die rechte Hand NICHT. Sie verteilt; stuende sie in ihrer
|
||||
eigenen Verteilliste, waere „an alle" auch „an mich selbst". */
|
||||
const h = await hole(dogiAn.keks, "/workspace/api/vorlagen/uebernehmen", {
|
||||
method: "POST", headers: jsonKopf,
|
||||
body: JSON.stringify({ art: "katalog", nr: frei[0].nr, gruppe: frei[0].gruppe, person_id: idHand }),
|
||||
});
|
||||
ok(h.status === 400 && h.daten?.fehler === "rolle_ohne_katalog",
|
||||
`an die rechte Hand dagegen nicht (${h.status} ${h.daten?.fehler || ""})`);
|
||||
|
||||
/* --- Und jetzt „an alle" ------------------------------------------
|
||||
Im Haus dieses Laufs gibt es genau EINEN Modi und EINE linke Hand.
|
||||
„Alle" muss also ZWEI Aufgaben anlegen -- nicht eine (dann waere
|
||||
die linke Hand wieder vergessen) und nicht drei (dann haette die
|
||||
rechte Hand eine bekommen). Die Zahl allein reicht aber nicht:
|
||||
Drei falsche Leute waeren auch drei. Deshalb wird danach
|
||||
nachgesehen, WER sie wirklich hat. */
|
||||
const alle = await hole(dogiAn.keks, "/workspace/api/vorlagen/uebernehmen", {
|
||||
method: "POST", headers: jsonKopf,
|
||||
body: JSON.stringify({ art: "katalog", nr: frei[1].nr, gruppe: frei[1].gruppe, person_id: "alle" }),
|
||||
});
|
||||
ok(alle.status === 200 && alle.daten?.angelegt === 2,
|
||||
`„an alle" legt bei beiden Empfaengern an (${alle.status}, ${alle.daten?.angelegt})`);
|
||||
|
||||
const d5 = new DB4(process.env.WORKSPACE_DB, { readOnly: true });
|
||||
const hats = new Set(d5.prepare(
|
||||
"SELECT verantwortlich_id AS w FROM aufgaben WHERE vorlage = ?")
|
||||
.all(frei[1].schluessel).map((x) => Number(x.w)));
|
||||
ok(hats.has(idModi) && hats.has(idLinke),
|
||||
`und zwar beim Modi UND bei der linken Hand (${[...hats].join(", ")})`);
|
||||
ok(!hats.has(idHand) && !hats.has(idCreat),
|
||||
"und bei niemandem sonst");
|
||||
d5.close();
|
||||
|
||||
/* --- "AN ALLE" FUELLT LUECKEN, ES DOPPELT NICHT -------------------
|
||||
Filipe, 24.09.2026: „Nur die 2 Fehlenden bekommen sie."
|
||||
Derselbe Druck ein zweites Mal: Beide haben sie schon, also darf
|
||||
KEINE dazukommen -- und der Server muss es SAGEN, sonst sieht ein
|
||||
Knopf, der nichts tut, wie ein Fehler aus. Am 22.09. sind aus zwei
|
||||
Klicks 112 Aufgaben geworden, weil niemand nachgezaehlt hat. */
|
||||
const wieder = await hole(dogiAn.keks, "/workspace/api/vorlagen/uebernehmen", {
|
||||
method: "POST", headers: jsonKopf,
|
||||
body: JSON.stringify({ art: "katalog", nr: frei[1].nr, gruppe: frei[1].gruppe, person_id: "alle" }),
|
||||
});
|
||||
const zaehle = (schluessel) => {
|
||||
const dz = new DB4(process.env.WORKSPACE_DB, { readOnly: true });
|
||||
const n = dz.prepare(
|
||||
"SELECT COUNT(*) AS n FROM aufgaben WHERE vorlage = ?").get(schluessel)?.n;
|
||||
dz.close();
|
||||
return Number(n);
|
||||
};
|
||||
ok(zaehle(frei[1].schluessel) === 2,
|
||||
`ein zweiter Druck legt nichts dazu (${zaehle(frei[1].schluessel)} statt 2)`);
|
||||
ok(wieder.daten?.uebersprungen === 2,
|
||||
`und er sagt, dass er zwei uebersprungen hat (${wieder.daten?.uebersprungen})`);
|
||||
|
||||
/* --- ABER DIE GEGENPROBE: gemeint ist gemeint ---------------------
|
||||
Eine Sperre, die sich nicht bewusst umgehen laesst, verbietet die
|
||||
Wochenaufgabe. Steht am Knopf "Nochmal" (weil wirklich alle sie
|
||||
haben), schickt der Browser `nochmal: true` -- und DANN muss die
|
||||
Zahl steigen. Ohne diese Probe koennte die Sperre auch schlicht
|
||||
alles blockieren und saehe von aussen genauso richtig aus. */
|
||||
const absicht = await hole(dogiAn.keks, "/workspace/api/vorlagen/uebernehmen", {
|
||||
method: "POST", headers: jsonKopf,
|
||||
body: JSON.stringify({
|
||||
art: "katalog", nr: frei[1].nr, gruppe: frei[1].gruppe,
|
||||
person_id: "alle", nochmal: true,
|
||||
}),
|
||||
});
|
||||
ok(absicht.status === 200 && zaehle(frei[1].schluessel) === 4,
|
||||
`ein gewolltes "Nochmal" legt sehr wohl an (${zaehle(frei[1].schluessel)} statt 4)`);
|
||||
|
||||
/* --- Und eine LUECKE wird wirklich gefuellt ------------------------
|
||||
Der eigentliche Fall: Einer hat sie, der andere nicht. Dann darf
|
||||
genau EINE entstehen -- nicht null (dann waere die Sperre zu
|
||||
scharf) und nicht zwei (dann doppelt sie). `frei[0]` liegt seit
|
||||
oben bei der linken Hand, beim Modi nicht. */
|
||||
const luecke = await hole(dogiAn.keks, "/workspace/api/vorlagen/uebernehmen", {
|
||||
method: "POST", headers: jsonKopf,
|
||||
body: JSON.stringify({ art: "katalog", nr: frei[0].nr, gruppe: frei[0].gruppe, person_id: "alle" }),
|
||||
});
|
||||
ok(luecke.daten?.angelegt === 1 && luecke.daten?.uebersprungen === 1,
|
||||
`eine Luecke wird gefuellt, der Rest nicht gedoppelt `
|
||||
+ `(${luecke.daten?.angelegt} neu, ${luecke.daten?.uebersprungen} uebersprungen)`);
|
||||
ok(zaehle(frei[0].schluessel) === 2,
|
||||
`und danach hat sie jeder genau einmal (${zaehle(frei[0].schluessel)})`);
|
||||
}
|
||||
|
||||
console.log(`\n${fehler ? "FEHLGESCHLAGEN" : "BESTANDEN"} -- `
|
||||
+ `${geprueft} geprueft, ${fehler} Fehler, ${offen} nicht nachsehbar`);
|
||||
try { rmSync(ordner, { recursive: true, force: true }); } catch { /* egal */ }
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
import express from "express";
|
||||
import {
|
||||
db, sitzungLesen, protokolliere, echteIp, fuehrtTeamDogi, ROLLEN_NAME,
|
||||
ROLLEN_SORTIERUNG, MODI_KATEGORIEN, kategorienFuer,
|
||||
ROLLEN_SORTIERUNG, MODI_KATEGORIEN, kategorienFuer, darfKatalogBekommen,
|
||||
} from "./workspace.js";
|
||||
/* Die Aufgaben, die ein Neuer bekommen kann -- dieselbe Liste, aus der
|
||||
auch die Aufgabenseite ihre Vorschlaege baut. Eine zweite waere die,
|
||||
@@ -532,6 +532,14 @@ entwicklungRouter.get("/workspace/api/entwicklung/lage", (req, res) => {
|
||||
personen: personen.map((p) => ({
|
||||
id: p.id, name: p.name,
|
||||
rolle_name: ROLLEN_NAME[p.rolle] ?? p.rolle,
|
||||
/* OB SIE EINE KATALOG-VORLAGE BEKOMMEN KANN -- vom Server
|
||||
beantwortet, nicht im Browser nachgerechnet. Der Browser
|
||||
kennt die Rolle nur als ANZEIGENAME ("Rechte Hand"); wer
|
||||
danach entscheidet, entscheidet nach einem Text, den man
|
||||
aendern darf. Und eine zweite Rollenliste im Browser waere
|
||||
genau die Doppelung, die diesen Fehler erzeugt hat -- die
|
||||
"An wen"-Reihe zeigte sechs Leute, beliefert wurden vier. */
|
||||
kann_katalog: darfKatalogBekommen(p.rolle),
|
||||
dabei_seit_tagen: tageSeit(p.erstellt),
|
||||
gesetzt: meineZahl.get(p.id) || 0,
|
||||
veraltet: alteZahl.get(p.id) || 0,
|
||||
|
||||
@@ -48,6 +48,8 @@ import {
|
||||
MODI_STUFEN,
|
||||
entscheidetUeberAufgaben,
|
||||
darfAufgabenVerteilen,
|
||||
KATALOG_EMPFAENGER,
|
||||
KATALOG_EMPFAENGER_SQL,
|
||||
} from "./workspace.js";
|
||||
|
||||
/* Dieselbe Meldung wie beim anderen Bewerbungsweg -- eine Stelle,
|
||||
@@ -1928,15 +1930,27 @@ vorlagenRouter.post("/workspace/api/vorlagen/uebernehmen", gleicheHerkunft,
|
||||
/* Nur an jemanden, fuer den die Kategorien ueberhaupt gelten --
|
||||
sonst landete eine Modi-Aufgabe samt Kategorie an einem
|
||||
Creator, und die Trennung waere von innen aufgeweicht. */
|
||||
const platzE = KATALOG_EMPFAENGER_SQL.map(() => "?").join(", ");
|
||||
const zielListe = anAlle
|
||||
? db().prepare(
|
||||
"SELECT id, rolle FROM personen WHERE aktiv = 1 AND rolle = 'modi' ORDER BY id").all()
|
||||
`SELECT id, rolle FROM personen
|
||||
WHERE aktiv = 1 AND rolle IN (${platzE}) ORDER BY id`)
|
||||
.all(...KATALOG_EMPFAENGER_SQL)
|
||||
: [db().prepare(
|
||||
"SELECT id, rolle FROM personen WHERE id = ? AND aktiv = 1").get(zielId)]
|
||||
.filter(Boolean);
|
||||
if (!zielListe.length || zielListe.some((z) => z.rolle !== "modi")) {
|
||||
if (!zielListe.length) {
|
||||
return res.status(404).json({ fehler: "nicht_gefunden" });
|
||||
}
|
||||
/* EINE EIGENE ANTWORT FUER „DIE ROLLE BEKOMMT HIER NICHTS".
|
||||
Vorher lief das ueber dieselbe 404 wie „die Person gibt es
|
||||
nicht" -- und auf dem Bildschirm stand „lade die Seite neu",
|
||||
was an einer Person, die sehr wohl existiert, nur ratlos
|
||||
macht. Der Unterschied ist keine Feinheit: Das eine repariert
|
||||
ein Neuladen, das andere nie. */
|
||||
if (zielListe.some((z) => !KATALOG_EMPFAENGER.has(z.rolle))) {
|
||||
return res.status(400).json({ fehler: "rolle_ohne_katalog" });
|
||||
}
|
||||
/* Nur noch als Beleg, dass die Liste nicht leer ist -- gelesen
|
||||
wird sie in der Schleife weiter unten. Ein ungenutzter Wert
|
||||
waere Rauschen; dieser sagt etwas. */
|
||||
@@ -1998,9 +2012,32 @@ vorlagenRouter.post("/workspace/api/vorlagen/uebernehmen", gleicheHerkunft,
|
||||
|
||||
Bei einer einzelnen Person aendert sich nichts: Die
|
||||
Schleife laeuft dann genau einmal. */
|
||||
/* ==== "AN ALLE" FUELLT LUECKEN, ES DOPPELT NICHT (24.09.2026)
|
||||
|
||||
Filipe, zur Frage "3 von 5 haben sie schon": „Nur die 2
|
||||
Fehlenden bekommen sie."
|
||||
|
||||
GEMESSEN, NICHT GEGLAUBT. Der Kommentar zwei Absaetze
|
||||
hoeher behauptete, die Sperre werde "bei alle pro Person neu
|
||||
gestellt". Er beschreibt nur, WO sie steht -- aktiv war sie
|
||||
allein bei `katalog_alle`. Zweimal "An alle" auf dieselbe
|
||||
Karte ergab deshalb VIER Aufgaben statt zwei. Gefunden hat
|
||||
das keine Ueberlegung, sondern eine Pruefung, die nachzaehlt.
|
||||
|
||||
UND DIE BEWUSSTE WIEDERHOLUNG BLEIBT MOEGLICH. Manches steht
|
||||
jede Woche an; wer es erneut verteilen will, drueckt einen
|
||||
Knopf, der dann auch "Nochmal" heisst -- und der Browser sagt
|
||||
das hier ausdruecklich (`nochmal`). Nicht die Sperre
|
||||
verschwindet, sondern es wird gesagt, dass man sie meint.
|
||||
Ein stillschweigendes Doppeln waere das, was am 22.09. aus
|
||||
zwei Klicks 112 Aufgaben gemacht hat.
|
||||
|
||||
EINE EINZELNE PERSON BLEIBT UNBERUEHRT: Dort ist ein zweiter
|
||||
Druck ohnehin eine Entscheidung, und der Knopf sagt es. */
|
||||
const luecken = anAlle && req.body.nochmal !== true;
|
||||
const lagSchonDa = [];
|
||||
for (const ziel of zielListe) {
|
||||
const liegtSchon = art === "katalog_alle"
|
||||
const liegtSchon = (art === "katalog_alle" || luecken)
|
||||
? new Set(db().prepare(
|
||||
`SELECT vorlage FROM aufgaben
|
||||
WHERE verantwortlich_id = ?
|
||||
|
||||
@@ -139,6 +139,48 @@ export const WIE_RECHTE_HAND = new Set(["hand", "linke"]);
|
||||
/** Hat diese Person die Team-Rechte einer Hand (rechts oder links)? */
|
||||
export const istHand = (person) => !!person && WIE_RECHTE_HAND.has(person.rolle);
|
||||
|
||||
/* =====================================================================
|
||||
WER EINE KATALOG-VORLAGE BEKOMMEN KANN (24.09.2026)
|
||||
=====================================================================
|
||||
|
||||
Filipe: „wenn ich eine aufgabe an alle verteile will ich dass
|
||||
dogfather und die rechte hand individuel von jedem sehen wer es
|
||||
gemacht hat oder nicht."
|
||||
|
||||
WARUM DIESE MENGE HIER STEHT UND NICHT DREIMAL VERSTREUT. Bis heute
|
||||
gab es zwei Listen, die dasselbe meinten und es nicht taten:
|
||||
|
||||
* Die „An wen"-Reihe im Browser bekam ihre Leute aus
|
||||
`KARTEN_ROLLEN` (hand, linke, modi) -- gemessen am echten Stand
|
||||
SECHS Personen.
|
||||
* Der Katalog-Weg im Server nahm `rolle = 'modi'` -- VIER.
|
||||
|
||||
Folge: „Alle" versprach sechs und belieferte vier; die beiden
|
||||
Haende gingen leer aus, ohne ein Wort. Und wer einzeln auf „An
|
||||
Rechte Hand" drueckte, bekam vom Server 404 und auf dem Bildschirm
|
||||
„Das gibt es nicht mehr -- wahrscheinlich hat es jemand geloescht".
|
||||
Eine Meldung, die in die Irre fuehrt: Die Person gibt es sehr wohl.
|
||||
|
||||
ES IST EINE MENGE UND KEINE ABSCHRIFT. Wer sie erweitert, erweitert
|
||||
damit die SQL-Abfrage, die Annahme-Pruefung und die Liste im
|
||||
Browser zugleich -- die drei koennen gar nicht mehr auseinander-
|
||||
laufen. Genau das war der Fehler, nicht die Zahl.
|
||||
|
||||
WARUM MODI UND LINKE HAND. Filipes Regel vom 22.09.2026: „die modis
|
||||
und linke hand sollen ... sich fuer aufgaben bewerben koennen aber
|
||||
die rechte hand oder dogfather muessen annehmen oder ablehnen".
|
||||
Also sind das die beiden Rollen, die Aufgaben BEKOMMEN -- und
|
||||
DogFather und die rechte Hand die, die verteilen und zusehen. */
|
||||
export const KATALOG_EMPFAENGER = new Set(["modi", "linke"]);
|
||||
|
||||
/** Kann diese Rolle eine Vorlage aus dem Katalog bekommen? */
|
||||
export const darfKatalogBekommen = (rolle) => KATALOG_EMPFAENGER.has(rolle);
|
||||
|
||||
/** Die Rollen als SQL-Platzhalterliste -- abgeleitet, nicht getippt.
|
||||
* Eine Abfrage, die die Namen selbst noch einmal enthielte, waere die
|
||||
* vierte Liste und damit genau das Problem von vorn. */
|
||||
export const KATALOG_EMPFAENGER_SQL = [...KATALOG_EMPFAENGER];
|
||||
|
||||
/* DIE EINE REIHENFOLGE, IN DER ROLLEN UEBERALL ERSCHEINEN.
|
||||
|
||||
Sie steht hier einmal, damit keine Liste eine eigene erfindet.
|
||||
|
||||
@@ -16,15 +16,15 @@
|
||||
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=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
<!-- 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,
|
||||
WARUM das Telefon nicht klingelt, ist das besonders unpassend. -->
|
||||
<link rel="manifest" href="/workspace/crew.webmanifest" />
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<style>
|
||||
/* Bewusst in der Seite und nicht in einer eigenen Datei: Diese Seite
|
||||
soll auch dann noch etwas anzeigen, wenn genau das schiefgeht,
|
||||
@@ -126,7 +126,7 @@
|
||||
|
||||
|
||||
|
||||
<script src="assets/js/anruf-probe.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/anruf-probe.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -23,25 +23,25 @@
|
||||
},
|
||||
"icons": [
|
||||
{
|
||||
"src": "/assets/img/app-symbole/workspace-192.png?v=202609241413",
|
||||
"src": "/assets/img/app-symbole/workspace-192.png?v=202609241726",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/app-symbole/workspace-512.png?v=202609241413",
|
||||
"src": "/assets/img/app-symbole/workspace-512.png?v=202609241726",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202609241413",
|
||||
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202609241726",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202609241413",
|
||||
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202609241726",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
|
||||
@@ -1019,6 +1019,79 @@
|
||||
font-variant-numeric: tabular-nums;
|
||||
}
|
||||
|
||||
/* =====================================================================
|
||||
WER HAT SIE, WER NICHT -- NAMENTLICH (24.09.2026)
|
||||
|
||||
Filipe: „wenn ich eine aufgabe an alle verteile will ich dass
|
||||
dogfather und die rechte hand individuel von jedem sehen wer es
|
||||
gemacht hat oder nicht."
|
||||
|
||||
KEINE TABELLE, SONDERN MARKEN. Eine Tabelle braucht Spaltenbreiten,
|
||||
und die stimmen entweder auf dem Handy oder am Rechner. Marken mit
|
||||
`flex-wrap` brechen genau dann um, wenn der Platz nicht reicht --
|
||||
dieselbe Ueberlegung wie beim Fuss darueber, und aus demselben
|
||||
Grund: eine feste Schwelle waere beim naechsten Namen wieder falsch.
|
||||
|
||||
DIE FARBE IST DIE ABKUERZUNG, NICHT DIE AUSKUNFT. Das Wort steht
|
||||
immer dabei. Wer Farben nicht unterscheidet, liest „Erledigt" --
|
||||
und die Toene sind aus der gedeckten Zustandsleiste (--k-gut,
|
||||
--k-mittel, --k-warn), nicht aus Neon: augenschonend ist Vorgabe.
|
||||
|
||||
WER SIE NICHT HAT, STEHT TROTZDEM DA -- gedaempft und mit
|
||||
gestricheltem Rand. Ein durchgezogener Rand sagt „hier ist etwas",
|
||||
ein gestrichelter „hier fehlt etwas"; das trennt die beiden Sorten
|
||||
auch ohne Farbe, und die Frage „wen muss ich noch fragen?" ist die,
|
||||
nach der man handelt.
|
||||
===================================================================== */
|
||||
.vorlagenbrett__wer {
|
||||
display: flex; flex-wrap: wrap; gap: 6px;
|
||||
margin: 10px 0 0; padding-top: 9px;
|
||||
border-top: 1px solid var(--rand);
|
||||
}
|
||||
.vorlagenbrett__wer-p {
|
||||
display: inline-flex; align-items: baseline; gap: 6px;
|
||||
padding: 3px 9px; border-radius: 999px;
|
||||
border: 1px solid var(--rand-hell);
|
||||
background: rgba(255, 255, 255, .035);
|
||||
font-size: .72rem; line-height: 1.5;
|
||||
}
|
||||
.vorlagenbrett__wer-name { font-weight: 700; color: var(--text-still); }
|
||||
.vorlagenbrett__wer-stand { font-weight: 600; color: var(--text-leise); }
|
||||
|
||||
/* Erledigt tritt zurueck statt zu leuchten: Es ist die Nachricht, die
|
||||
KEINE Handlung braucht. Wer die Reihe ueberfliegt, soll an den
|
||||
offenen haengenbleiben, nicht an den fertigen. */
|
||||
.vorlagenbrett__wer-p[data-stand="erledigt"] { opacity: .78; }
|
||||
.vorlagenbrett__wer-p[data-stand="erledigt"] .vorlagenbrett__wer-stand { color: var(--k-gut); }
|
||||
|
||||
.vorlagenbrett__wer-p[data-stand="arbeit"] .vorlagenbrett__wer-stand,
|
||||
.vorlagenbrett__wer-p[data-stand="review"] .vorlagenbrett__wer-stand { color: var(--k-mittel); }
|
||||
|
||||
.vorlagenbrett__wer-p[data-stand="spaet"] {
|
||||
border-color: color-mix(in srgb, var(--k-warn) 45%, transparent);
|
||||
background: color-mix(in srgb, var(--k-warn) 9%, transparent);
|
||||
}
|
||||
.vorlagenbrett__wer-p[data-stand="spaet"] .vorlagenbrett__wer-stand { color: var(--k-warn); }
|
||||
|
||||
.vorlagenbrett__wer-p[data-stand="abgebrochen"] { opacity: .6; }
|
||||
.vorlagenbrett__wer-p[data-stand="abgebrochen"] .vorlagenbrett__wer-stand { color: var(--k-neutral); }
|
||||
|
||||
.vorlagenbrett__wer-p[data-stand="fehlt"] {
|
||||
border-style: dashed; background: none;
|
||||
}
|
||||
.vorlagenbrett__wer-p[data-stand="fehlt"] .vorlagenbrett__wer-name { color: var(--text-leise); }
|
||||
.vorlagenbrett__wer-p[data-stand="fehlt"] .vorlagenbrett__wer-stand { color: var(--k-neutral); }
|
||||
|
||||
/* Eine gedimmte Karte darf die Reihe nicht mitnehmen -- sonst ist
|
||||
ausgerechnet die Auskunft „wer hat sie" am schlechtesten lesbar,
|
||||
wenn alle sie haben und man nachsehen will, wer schon fertig ist. */
|
||||
.vorlagenbrett__karte[data-schon="ja"] .vorlagenbrett__wer { opacity: 1; }
|
||||
|
||||
@media (forced-colors: active) {
|
||||
.vorlagenbrett__wer-p { border: 1px solid CanvasText; }
|
||||
.vorlagenbrett__wer-p[data-stand="fehlt"] { border-style: dashed; }
|
||||
}
|
||||
|
||||
/* =====================================================================
|
||||
BEWERBUNGEN AUF EINE VORLAGE (23.09.2026)
|
||||
|
||||
|
||||
@@ -1187,10 +1187,25 @@
|
||||
const p = (leute || []).find((x) => String(x.id) === String(fuerPerson));
|
||||
return p?.name || fuerName || null;
|
||||
},
|
||||
/* WER STEHT IN DER REIHE "AN WEN"? Dieselben Leute, die auch
|
||||
als Kacheln unter "Wen gehst du durch?" stehen -- eine zweite
|
||||
Liste waere im Zweifel eine andere. */
|
||||
zielbare: () => leute || [],
|
||||
/* WER STEHT IN DER REIHE "AN WEN"? Die Leute aus den Kacheln
|
||||
unter "Wen gehst du durch?" -- aber nur die, die aus dem
|
||||
Katalog ueberhaupt etwas bekommen koennen.
|
||||
|
||||
WARUM DIESER FILTER (24.09.2026). Ohne ihn zeigte die Reihe
|
||||
sechs Personen; der Server nahm bei Katalog-Vorlagen aber nur
|
||||
vier an. "An alle 6" legte also vier Aufgaben an, und die
|
||||
beiden Haende gingen leer aus, ohne ein Wort. Wer einzeln auf
|
||||
"An Rechte Hand" drueckte, bekam "Das gibt es nicht mehr --
|
||||
lade die Seite neu" zu einer Person, die es gibt.
|
||||
|
||||
ENTSCHIEDEN HAT DAS DER SERVER, nicht diese Zeile: `kann_katalog`
|
||||
kommt aus derselben Menge, aus der auch die SQL-Abfrage und
|
||||
die Annahme-Pruefung gebildet werden. Stuende hier eine eigene
|
||||
Rollenliste, waere es beim naechsten Mal wieder dieselbe
|
||||
Doppelung. Der Rueckfall auf `true` gilt nur fuer eine
|
||||
Serverfassung, die das Feld noch nicht kennt -- dann ist die
|
||||
Reihe wie vorher, statt ploetzlich leer zu sein. */
|
||||
zielbare: () => (leute || []).filter((p) => p.kann_katalog !== false),
|
||||
/* EIN TIPP IN DER REIHE IST EIN TIPP AUF DIE KACHEL.
|
||||
|
||||
Nicht "auch so aehnlich", sondern derselbe Weg: `karte()`
|
||||
|
||||
@@ -169,6 +169,16 @@
|
||||
'Aufgaben werden dir zugeteilt – anlegen kannst du hier keine. '
|
||||
+ 'Wenn du eine Idee hast, sag kurz Bescheid.',
|
||||
|
||||
/* 24.09.2026: Bis heute lief dieser Fall ueber dieselbe 404 wie
|
||||
„geloescht" -- und auf dem Bildschirm stand „lade die Seite
|
||||
neu". An einer Person, die es sehr wohl gibt, macht das nur
|
||||
ratlos: Neuladen aendert nichts. Der Satz sagt deshalb, WORAN
|
||||
es liegt, und nennt keine Rolle, ueber die der Leser nichts
|
||||
entscheiden kann. */
|
||||
rolle_ohne_katalog:
|
||||
'Aus diesem Katalog bekommt diese Person keine Aufgaben. '
|
||||
+ 'Wähl jemand anderen – oder leg ihr die Aufgabe von Hand an.',
|
||||
|
||||
eintrag_nicht_gefunden: 'Den Eintrag gibt es nicht mehr. Lade die Seite neu.',
|
||||
aufgabe_nicht_gefunden: 'Die Aufgabe gibt es nicht mehr. Lade die Seite neu.',
|
||||
keine_fassung: 'Dazu gibt es noch keine gespeicherte Fassung.',
|
||||
|
||||
@@ -699,8 +699,68 @@
|
||||
jemand gewaehlt ist, steht sie wieder da -- und meint dann
|
||||
genau ihn. */
|
||||
const wem = U.ziel();
|
||||
const anAlle = String(wem) === 'alle';
|
||||
|
||||
/* DIE LEUTE UND DIE ZEITRECHNUNG STEHEN HIER OBEN, weil sie ab
|
||||
heute an ZWEI Stellen gebraucht werden: in der Reihe "An wen"
|
||||
weiter unten und an jeder Karte. Zweimal dieselbe Zeile waere
|
||||
der Anfang zweier Fassungen, die irgendwann verschieden sind --
|
||||
und genau daran ist "alle" heute frueh gescheitert. */
|
||||
const zielbar = U.zielbare() || [];
|
||||
const heute = typeof window.heuteLokal === 'function'
|
||||
? window.heuteLokal() : new Date().toISOString().slice(0, 10);
|
||||
const nochOffen = (a) => a.status !== 'erledigt' && a.status !== 'abgebrochen';
|
||||
const istSpaet = (a) => nochOffen(a) && a.frist && a.frist < heute;
|
||||
|
||||
/* ==== "ALLE" WAR HIER NICHT VORGESEHEN (behoben 24.09.2026) =====
|
||||
|
||||
Filipe hat es aufgenommen: Er waehlt "Alle", drueckt bei einer
|
||||
Karte auf "An alle" -- und auf dem Bildschirm aendert sich
|
||||
NICHTS. Die Karte behaelt ihren Knopf, und darueber steht
|
||||
weiter "12 von 12 noch nicht uebernommen". Die Aufgaben waren
|
||||
angelegt (die Zahlen an den Namen sind gestiegen), nur sah man
|
||||
es an der Stelle nicht, an der man gerade arbeitet.
|
||||
|
||||
DIE URSACHE STAND IN DER ZEILE DARUNTER: verglichen wurde
|
||||
`String(a.verantwortlich_id) !== String(wem)`. Bei "alle" ist
|
||||
`wem` das WORT "alle" -- und keine Aufgabe hat je einen
|
||||
Verantwortlichen namens "alle". Die Bedingung war also IMMER
|
||||
wahr, jede Aufgabe wurde uebersprungen, und die Liste blieb
|
||||
leer. Kein Absturz, keine Meldung: Es sah aus, als waere noch
|
||||
nichts uebernommen.
|
||||
|
||||
Gebaut wurde "alle" am selben Vormittag; `zielWaehlen`,
|
||||
`zielName` und `nachAenderung` wurden angepasst -- diese eine
|
||||
Stelle nicht. Genau die Art Fehler, die eine Liste macht, die
|
||||
man von Hand nachzieht.
|
||||
|
||||
WARUM NICHT NUR EINE ZAHL, SONDERN WER. Filipe: "wenn ich eine
|
||||
aufgabe an alle verteile will ich dass dogfather und die rechte
|
||||
hand individuel von jedem sehen wer es gemacht hat oder nicht."
|
||||
Eine Zahl ("4 von 5") beantwortet "wie weit", aber nicht "wer
|
||||
noch" -- und danach handelt man. Deshalb steht unten eine
|
||||
Marke je Mensch und nicht nur ein Zaehler. */
|
||||
const schonDa = new Map();
|
||||
if (wem || !darfVerteilenV) {
|
||||
const schonWer = new Map(); // Vorlage -> Map(Personennummer -> Aufgabe)
|
||||
if (anAlle) {
|
||||
const zielIds = new Set(zielbar.map((p) => String(p.id)));
|
||||
for (const a of U.aufgaben()) {
|
||||
if (!a.vorlage) continue;
|
||||
const werHats = String(a.verantwortlich_id);
|
||||
if (!zielIds.has(werHats)) continue;
|
||||
if (!schonWer.has(a.vorlage)) schonWer.set(a.vorlage, new Map());
|
||||
/* HAT JEMAND DIESELBE VORLAGE MEHRFACH, ZAEHLT DIE OFFENE.
|
||||
Manches holt man jeden Monat neu; dann liegt daneben eine
|
||||
erledigte von letztem Mal. Stuende die hier, sagte die
|
||||
Karte "Erledigt", waehrend die Person die Aufgabe noch vor
|
||||
sich hat -- und man haekte sie gedanklich ab. */
|
||||
const bisher = schonWer.get(a.vorlage).get(werHats);
|
||||
if (!bisher || (nochOffen(a) && !nochOffen(bisher))) {
|
||||
schonWer.get(a.vorlage).set(werHats, a);
|
||||
}
|
||||
schonDa.set(a.vorlage, a);
|
||||
}
|
||||
} else if (wem || !darfVerteilenV) {
|
||||
for (const a of U.aufgaben()) {
|
||||
if (!a.vorlage) continue;
|
||||
if (wem && String(a.verantwortlich_id) !== String(wem)) continue;
|
||||
@@ -754,16 +814,13 @@
|
||||
Menschen ab; eine feste Grenze waere geraten. Was NICHT geraten
|
||||
ist: dass etwas ueberfaellig liegt. Nur das wird markiert. */
|
||||
const zielName = U.zielName();
|
||||
const zielbar = U.zielbare() || [];
|
||||
/* `zielbar`, `heute`, `nochOffen` und `istSpaet` stehen weiter
|
||||
oben -- es sind dieselben, die auch die Karten benutzen. */
|
||||
if (darfVerteilenV && zielbar.length) {
|
||||
koerper.append(el('p', 'feldschild', 'An wen'));
|
||||
const wer = el('div', 'stufenleiter stufenleiter--wer');
|
||||
wer.setAttribute('role', 'group');
|
||||
wer.setAttribute('aria-label', 'Person wählen');
|
||||
const heute = typeof window.heuteLokal === 'function'
|
||||
? window.heuteLokal() : new Date().toISOString().slice(0, 10);
|
||||
const nochOffen = (a) => a.status !== 'erledigt' && a.status !== 'abgebrochen';
|
||||
const istSpaet = (a) => nochOffen(a) && a.frist && a.frist < heute;
|
||||
/* ==== „ALLE" NEBEN DEN NAMEN (24.09.2026) ===================
|
||||
|
||||
Filipe: „bei an ween fehlt noch die option alle neben den
|
||||
@@ -829,7 +886,16 @@
|
||||
Vorlagen ähnlich heißen. */
|
||||
karte.dataset.vorlage = v.schluessel;
|
||||
const schon = schonDa.get(v.schluessel);
|
||||
if (schon) karte.dataset.schon = 'ja';
|
||||
/* WER SIE HAT -- je Mensch, nicht als Zahl. Bei EINER gewaehlten
|
||||
Person bleibt es beim alten Weg: Dort ist `schon` bereits die
|
||||
individuelle Auskunft. */
|
||||
const werHat = anAlle ? (schonWer.get(v.schluessel) || new Map()) : null;
|
||||
const alleHabenSie = anAlle && zielbar.length > 0 && werHat.size >= zielbar.length;
|
||||
/* DIE KARTE TRITT ERST ZURUECK, WENN SIE WIRKLICH DURCH IST.
|
||||
Bei "alle" heisst `schon` ab EINEM Menschen -- eine Vorlage,
|
||||
die einer von fuenf hat, halb auszublenden waere das Gegenteil
|
||||
der Auskunft: Sie ist die, die noch Arbeit macht. */
|
||||
if (anAlle ? alleHabenSie : !!schon) karte.dataset.schon = 'ja';
|
||||
karte.append(el('h3', 'vorlagenbrett__titel', v.titel));
|
||||
karte.append(el('p', 'vorlagenbrett__text', v.text));
|
||||
const fuss = el('div', 'vorlagenbrett__fuss');
|
||||
@@ -839,9 +905,18 @@
|
||||
ist die halbe Auskunft: "Technik-Check" heisst etwas anderes,
|
||||
je nachdem, wer ihn macht. */
|
||||
if (v.rolle) fuss.append(el('span', 'vorlagenbrett__frist', `für: ${v.rolle}`));
|
||||
if (schon) {
|
||||
if (schon && !anAlle) {
|
||||
fuss.append(el('span', 'vorlagenbrett__schon',
|
||||
`schon übernommen · ${U.statusName[schon.status] || schon.status}`));
|
||||
} else if (anAlle && werHat.size) {
|
||||
/* BEI "ALLE" IST EIN FREMDER STATUS KEINE AUSKUNFT: Fuenf
|
||||
Menschen haben fuenf Staende, und hier stuende der einer
|
||||
einzigen -- welcher, haengt von der Reihenfolge der Daten ab.
|
||||
Der Fuss sagt deshalb nur, WIE WEIT es ist; WER, steht eine
|
||||
Zeile tiefer namentlich. */
|
||||
fuss.append(el('span', 'vorlagenbrett__schon', alleHabenSie
|
||||
? `liegt bei allen ${zielbar.length}`
|
||||
: `liegt bei ${werHat.size} von ${zielbar.length}`));
|
||||
}
|
||||
|
||||
/* ==== ÜBERNEHMEN ODER BEWERBEN? (23.09.2026) ==================
|
||||
@@ -861,16 +936,33 @@
|
||||
oben auf der Seite. „An Rieke" beantwortet die Frage dort,
|
||||
wo man drueckt. Ohne gewaehlte Person bleibt es beim kurzen
|
||||
Wort; dann waere ein Name geraten. */
|
||||
/* "NOCHMAL" NUR, WENN ES WIRKLICH EIN NOCHMAL WAERE.
|
||||
|
||||
Bei "alle" heisst "schon da" ab EINEM Menschen. Haetten dann
|
||||
alle Karten "Nochmal" gesagt, waere der Knopf eine Warnung
|
||||
vor etwas, das gar nicht passiert: Der Server ueberspringt
|
||||
die, die sie schon haben, und legt sie nur bei den uebrigen
|
||||
an. Erst wenn wirklich alle sie liegen haben, ist der
|
||||
naechste Druck eine Wiederholung. */
|
||||
const wirklichNochmal = anAlle ? alleHabenSie : !!schon;
|
||||
const k = el('button', 'knopf knopf--klein',
|
||||
schon ? 'Nochmal' : (zielName ? 'An ' + zielName : 'Übernehmen'));
|
||||
wirklichNochmal ? 'Nochmal' : (zielName ? 'An ' + zielName : 'Übernehmen'));
|
||||
k.type = 'button';
|
||||
if (schon) {
|
||||
if (wirklichNochmal) {
|
||||
k.title = zielName
|
||||
? 'Diese Vorlage liegt schon bei ' + zielName + ' – noch einmal übernehmen?'
|
||||
: 'Diese Vorlage liegt schon auf dem Brett – noch einmal übernehmen?';
|
||||
} else if (anAlle && werHat.size) {
|
||||
k.title = `${werHat.size} haben sie schon – die bekommen sie nicht doppelt.`;
|
||||
}
|
||||
k.addEventListener('click', () => uebernehmen(k,
|
||||
{ art: 'katalog', nr: v.nr, gruppe: kGruppe, person_id: katalogZiel() }));
|
||||
/* `nochmal` sagt dem Server, dass die Wiederholung GEMEINT
|
||||
ist -- nicht, dass er die Sperre vergessen soll. Bei "alle"
|
||||
fuellt er sonst nur die Luecken; steht hier "Nochmal", haben
|
||||
wirklich alle sie, und dann ist der Druck eine Entscheidung. */
|
||||
k.addEventListener('click', () => uebernehmen(k, {
|
||||
art: 'katalog', nr: v.nr, gruppe: kGruppe,
|
||||
person_id: katalogZiel(), nochmal: wirklichNochmal,
|
||||
}));
|
||||
fuss.append(k);
|
||||
} else if (meine) {
|
||||
/* SCHON BEWORBEN. Der Satz sagt, WER antwortet -- sonst wartet
|
||||
@@ -895,6 +987,47 @@
|
||||
Frage, warum hier nichts zu tun ist. */
|
||||
karte.append(fuss);
|
||||
|
||||
/* ==== WER HAT SIE, WER NICHT -- NAMENTLICH (24.09.2026) =======
|
||||
|
||||
Filipe: „wenn ich eine aufgabe an alle verteile will ich dass
|
||||
dogfather und die rechte hand individuel von jedem sehen wer
|
||||
es gemacht hat oder nicht. aufgabe an alle verteilen aber
|
||||
individuel sehen wir das."
|
||||
|
||||
NUR BEI „ALLE". Ist eine einzelne Person gewaehlt, steht ihr
|
||||
Stand schon im Fuss -- eine Reihe mit einem einzigen Namen
|
||||
waere dieselbe Auskunft ein zweites Mal.
|
||||
|
||||
DAS WORT STEHT DA, NICHT NUR DIE FARBE. „Erledigt" liest auch,
|
||||
wer Farben nicht unterscheidet oder die Seite schwarzweiss
|
||||
ausdruckt; die Farbe ist die Abkuerzung, nicht die Auskunft.
|
||||
Deshalb traegt jede Marke beides.
|
||||
|
||||
UND „HAT SIE NICHT" IST AUCH EINE ANTWORT -- die wichtigste
|
||||
sogar. Wer nur die auffuehrt, die sie haben, beantwortet
|
||||
„wie weit sind wir", aber nicht „wen muss ich noch fragen".
|
||||
Die Fehlenden stehen deshalb mit da, gedaempft, aber lesbar. */
|
||||
if (anAlle && darfVerteilenV && zielbar.length) {
|
||||
const reihe = el('div', 'vorlagenbrett__wer');
|
||||
reihe.setAttribute('role', 'list');
|
||||
reihe.setAttribute('aria-label', `Wer „${v.titel}“ schon hat`);
|
||||
for (const p2 of zielbar) {
|
||||
const a2 = werHat.get(String(p2.id));
|
||||
const spaet = !!a2 && istSpaet(a2);
|
||||
const marke = el('span', 'vorlagenbrett__wer-p');
|
||||
marke.setAttribute('role', 'listitem');
|
||||
/* EIN ZUSTAND JE MARKE, und zwar der, nach dem man handelt:
|
||||
ueberfaellig sticht „offen", sonst zaehlt der Status. */
|
||||
marke.dataset.stand = !a2 ? 'fehlt' : (spaet ? 'spaet' : (a2.status || 'offen'));
|
||||
marke.append(el('span', 'vorlagenbrett__wer-name', p2.name));
|
||||
marke.append(el('span', 'vorlagenbrett__wer-stand', !a2
|
||||
? 'hat sie nicht'
|
||||
: ((U.statusName[a2.status] || a2.status) + (spaet ? ' · überfällig' : ''))));
|
||||
reihe.append(marke);
|
||||
}
|
||||
karte.append(reihe);
|
||||
}
|
||||
|
||||
/* ==== DIE BEWERBUNGEN ANDERER -- nur für die, die entscheiden ==
|
||||
|
||||
Sie stehen AN DER KARTE und nicht in einer eigenen Liste
|
||||
|
||||
+19
-19
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<!-- 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=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -391,22 +391,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=202609241413"></script>
|
||||
<script src="assets/js/meldung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/textform.js?v=202609241726"></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/zuteilung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/zuteilung.js?v=202609241726" 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=202609241413" defer></script>
|
||||
<script src="assets/js/aufgaben.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/vorlagenbrett.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/aufgaben.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+16
-16
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/automation.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/automation.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<!-- 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=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -168,15 +168,15 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/automation.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/automation.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+17
-17
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -197,16 +197,16 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/holen.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/befinden.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/holen.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/befinden.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+22
-22
@@ -12,24 +12,24 @@
|
||||
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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202609241726" />
|
||||
<!-- 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=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<!-- 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=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -304,19 +304,19 @@
|
||||
<!-- 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=202609241413"></script>
|
||||
<script src="assets/js/meldung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/textform.js?v=202609241726"></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/checkliste.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/ampel.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/schulung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/holen.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereich.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/checkliste.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/ampel.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/schulung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/holen.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereich.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+19
-19
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/treff.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/treff.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</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=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bewerben.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bewerben.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+18
-18
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -80,16 +80,16 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bewerbungen.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bewerbungen.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+17
-17
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/calls.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/calls.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<!-- 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=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -89,15 +89,15 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
<script src="assets/js/ki.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/calls.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/ki.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/calls.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+19
-19
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<!-- 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=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/chat.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/chat.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<!-- 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=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -619,25 +619,25 @@
|
||||
</form>
|
||||
</dialog>
|
||||
|
||||
<script src="assets/js/bereiche.js?v=202609241413"></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726"></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=202609241413"></script>
|
||||
<script src="assets/js/meldung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413"></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413"></script>
|
||||
<script src="assets/js/textform.js?v=202609241726"></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726"></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726"></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=202609241413"></script>
|
||||
<script src="assets/js/chat.js?v=202609241413"></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/anruf.js?v=202609241726"></script>
|
||||
<script src="assets/js/chat.js?v=202609241726"></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+17
-17
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/content.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/content.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<!-- 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=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -179,15 +179,15 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/checkliste.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/content.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/checkliste.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/content.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/crew-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<!-- 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=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/crew-haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="gate gate--crew">
|
||||
@@ -459,7 +459,7 @@
|
||||
|
||||
|
||||
|
||||
<script src="assets/js/gate.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/gate.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -23,25 +23,25 @@
|
||||
},
|
||||
"icons": [
|
||||
{
|
||||
"src": "/assets/img/app-symbole/crew-192.png?v=202609241413",
|
||||
"src": "/assets/img/app-symbole/crew-192.png?v=202609241726",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/app-symbole/crew-512.png?v=202609241413",
|
||||
"src": "/assets/img/app-symbole/crew-512.png?v=202609241726",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/app-symbole/crew-192-maskable.png?v=202609241413",
|
||||
"src": "/assets/img/app-symbole/crew-192-maskable.png?v=202609241726",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/app-symbole/crew-512-maskable.png?v=202609241413",
|
||||
"src": "/assets/img/app-symbole/crew-512-maskable.png?v=202609241726",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
|
||||
+17
-17
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/dateien.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/dateien.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<!-- 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=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -108,15 +108,15 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/dateien.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/dateien.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+18
-18
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -297,20 +297,20 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/holen.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/holen.js?v=202609241726" 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=202609241413" defer></script>
|
||||
<script src="assets/js/entwicklung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/vorlagenbrett.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/entwicklung.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+15
-15
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/hilfe.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/hilfe.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -146,14 +146,14 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/hilfe.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/hilfe.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="gate">
|
||||
@@ -427,7 +427,7 @@
|
||||
|
||||
|
||||
|
||||
<script src="assets/js/gate.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/gate.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+17
-17
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/kalender.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/kalender.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<!-- 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=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -383,15 +383,15 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kalender.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kalender-abo.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kalender.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kalender-abo.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+16
-16
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/leistung.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/leistung.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<!-- 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=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -444,13 +444,13 @@
|
||||
</form>
|
||||
</dialog>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609241413"></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413"></script>
|
||||
<script src="assets/js/wahl.js?v=202609241413"></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413"></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413"></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413"></script>
|
||||
<script src="assets/js/leistung.js?v=202609241413"></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726"></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726"></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726"></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726"></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726"></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726"></script>
|
||||
<script src="assets/js/leistung.js?v=202609241726"></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+16
-16
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/material.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/material.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</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=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/material.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/material.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+16
-16
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/personen.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/personen.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<!-- 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=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -453,14 +453,14 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/personen.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/personen.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+18
-18
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/profil.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/profil.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<!-- 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=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -214,16 +214,16 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/steckbrief.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/profil.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/steckbrief.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/profil.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+17
-17
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/treff.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/treff.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</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=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/holen.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/rechte.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/holen.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/rechte.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+18
-18
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/report.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/report.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<!-- 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=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -106,17 +106,17 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
|
||||
<script src="assets/js/ki.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/holen.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/report.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/ki.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/holen.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/report.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+16
-16
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/scouting.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/scouting.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<!-- 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=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -173,14 +173,14 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/scouting.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/scouting.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+16
-16
@@ -12,21 +12,21 @@
|
||||
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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<!-- 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=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/heim.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<!-- 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=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -684,16 +684,16 @@
|
||||
</p>
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/live.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/start.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/live.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/start.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+17
-17
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/startcheck.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/startcheck.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<!-- 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=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -85,16 +85,16 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
|
||||
<script src="assets/js/ki.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/startcheck.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/ki.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/startcheck.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+18
-18
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/profil.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/profil.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<!-- 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=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -150,16 +150,16 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/steckbrief.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/steckbrief.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+14
-14
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/support.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/support.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -123,16 +123,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=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" 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=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/support.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/support.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+18
-18
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609241726" />
|
||||
<!-- 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=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -111,15 +111,15 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/holen.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/talente.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/holen.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/talente.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+16
-16
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/team.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/team.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<!-- 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=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -110,15 +110,15 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/holen.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/team.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/holen.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/team.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+17
-17
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/team.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/team.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<!-- 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=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</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=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/holen.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/teamlage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/holen.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/teamlage.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+15
-15
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -112,15 +112,15 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/teilen.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/teilen.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/treff.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/treff.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -126,14 +126,14 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/treff-moderation.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/treff-moderation.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+16
-16
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/treff.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/treff.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<!-- 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=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</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=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/treff-regeln.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/treff-regeln.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+16
-16
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<!-- Formular- und Dialogstile: seit dem 07.09.2026 steht hier der
|
||||
Dialog "Creator anlegen". -->
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<!-- 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=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -149,16 +149,16 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/uebersicht.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/uebersicht.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/unsere-seiten.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/unsere-seiten.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -335,14 +335,14 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/live.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/unsere-seiten.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/live.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/unsere-seiten.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/unterstuetzen.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/unterstuetzen.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -106,13 +106,13 @@
|
||||
<!-- 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=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/holen.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/unterstuetzen.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/holen.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/unterstuetzen.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+16
-16
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/werdegang.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/werdegang.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -144,14 +144,14 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/werdegang.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/werdegang.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+15
-15
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/willkommen.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/willkommen.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
<!-- KOERPERKLASSE "start", NICHT "gate" (berichtigt 21.09.2026).
|
||||
`body.gate` ist die Anmeldewand: `display:flex; align-items:center`,
|
||||
@@ -75,13 +75,13 @@
|
||||
<p class="fehler" id="fehler" hidden></p>
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/willkommen.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/willkommen.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+17
-17
@@ -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=202609241413" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/wissen.css?v=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241413" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241726" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/wissen.css?v=202609241726" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609241726" />
|
||||
<!-- 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=202609241413" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609241726" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -190,15 +190,15 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609241726" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wissen.js?v=202609241413" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609241726" defer></script>
|
||||
<script src="assets/js/wissen.js?v=202609241726" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user