Screenshots an einen Beitrag hängen

Filipe (Runde vom 23.09.2026): „mach das man da bitte screenshots
oder kurzschnitte von den live reinposten kann. nach dem selben
prinzip wie bei den anderen nebendran."

ES FEHLTE WENIGER, ALS MEINE EIGENE NOTIZ BEHAUPTETE. Dort stand „ein
eigener Brocken (Upload, Groessenpruefung, Sicherheit), kein
Nebenbei". Nachgemessen statt geglaubt: Die Spalte `dateien.eintrag_id`
gibt es seit dem Video-Einlesen, die Karten zeichnen ihren
Bildstreifen bereits, und die Auslieferung entscheidet die
Sichtbarkeit schon am BEITRAG statt an der Ablage. Gefehlt hat genau
ein Weg -- das Hochladen. Wieder ein Beleg dafuer, dass auch meine
eigenen Listen altern.

„NACH DEM SELBEN PRINZIP" IST WOERTLICH GENOMMEN: `dateiErkennen` aus
dem Chat (eine Fassung, drei Benutzer -- Chat, Support, Beitraege),
derselbe Ordner wie die Dateiablage (die Auslieferung kennt nur einen
Pfad), `express.raw` mit Rechtepruefung VOR der Annahme des Rumpfes.

DER KNOPF STEHT AN DER KARTE, nicht im Anlege-Formular. Ein
Bildschirmfoto faellt einem meist spaeter ein -- beim Nachschauen,
wenn jemand fragt. Wer es nur beim Anlegen mitgeben koennte, muesste
den Beitrag loeschen und neu schreiben. Er erscheint nur, solange
noch Platz ist (drei je Beitrag), damit er nie eine Absage bringt.

ZWEI FEHLER IN MEINEM EIGENEN CODE, beide beim ersten Laden gefunden:
`DATEN_ORDNER` war nicht importiert, und `bereichVon()` hatte ich
erfunden -- es gibt sie nicht. Der Bereich steht am Eintrag selbst
und ist dort auch richtiger: Er kommt aus der Datenbank, nicht aus
der Adresse.

UND ZWEI MESSFEHLER, beide dieselbe Sorte wie den ganzen Tag: Ich
fragte „darf die Community?" an einem Beitrag, den sie gar nicht
sieht (404 -- richtige Antwort, falsche Frage), dann an einem
freigegebenen (403 -- sie braucht eine Stufe zum Schreiben, auch das
richtig). Die Frage, die wirklich zaehlt, ist eine andere: Gilt fuer
ein Bild dieselbe Regel wie fuer einen Beitrag? Gemessen: Beitrag
403, Bild 403. Ein zweiter Weg mit anderen Rechten waere die Tuer,
die niemand bemerkt.

Gemessen: pruef-eintrag-bild, 24 Pruefungen, 0 Fehler -- darunter
als Bild getarntes HTML (415), SVG (415, es ist XML und darf Skripte
enthalten), PDF (415), die Grenze von drei am Server, und das
Abnehmen samt Datei. Gruen: pruef-highlights (31), pruef-anhaenge,
pruef-fassungen, pruef-galerie, pruef-video, pruef-css-klassen.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-09-24 11:44:01 +02:00
co-authored by Claude Opus 5
parent 7acd7a7674
commit d231e989cf
43 changed files with 1184 additions and 615 deletions
+313
View File
@@ -0,0 +1,313 @@
/* =====================================================================
EIN BILD AN EINEN BEITRAG (24.09.2026)
Filipe: „mach das man da bitte screenshots oder kurzschnitte von
den live reinposten kann. nach dem selben prinzip wie bei den
anderen nebendran."
GEPRUEFT WIRD, WAS ER BESTELLT HAT -- und vier Dinge, die er nicht
bestellt hat, weil sie sonst niemandem auffallen:
* Eine als Bild getarnte HTML-Datei kommt nicht herein. Der
Standardfehler bei selbstgebauten Uploads, von aussen nicht zu
sehen.
* Niemand haengt etwas an einen fremden Beitrag, den er nicht
sehen darf -- und erfaehrt dadurch, dass es ihn gibt.
* Wer auf einem Brett nicht schreiben darf, haengt dort auch
nichts an.
* Die Grenze von drei Bildern gilt am Server, nicht nur im Knopf.
===================================================================== */
import { mkdtempSync, rmSync } from "node:fs";
import { tmpdir } from "node:os";
import { join } from "node:path";
const ordner = mkdtempSync(join(tmpdir(), "ws-eb-"));
process.env.WORKSPACE_DB = join(ordner, "workspace.db");
import { notbremse } from "./helfer-notbremse.mjs";
const { eigenerPort } = await import("./helfer-port.mjs");
const PORT = await eigenerPort(import.meta, "die Beitragsbild-Pruefung");
process.env.PORT = `${PORT}`;
process.env.SITE_ACCESS_SECRET = "lokaler-test";
process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1";
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 }); };
await import("./index.js");
notbremse(240_000, "pruef-eintrag-bild");
await new Promise((r) => setTimeout(r, 900));
const BASIS = `http://127.0.0.1:${PORT}`;
let fehler = 0, geprueft = 0;
const ok = (b, t) => { geprueft++; console.log((b ? " ok " : " FEHL ") + t); if (!b) fehler++; };
const melde = (t) => console.log(t);
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 ks = randomBytes(32).toString("hex");
d.prepare("INSERT INTO einstellungen (schluessel, wert, geaendert, von)"
+ " VALUES (?,?,?,NULL) ON CONFLICT(schluessel) DO NOTHING")
.run("code_kennung_schluessel", ks, jetzt);
function anlegen(name, rolle, code) {
const salt = randomBytes(16).toString("hex");
const hash = scryptSync(code, salt, 64,
{ N: 32768, r: 8, p: 1, maxmem: 96 * 1024 * 1024 }).toString("hex");
d.prepare("INSERT INTO personen (name, rolle, code_hash, code_salt, code_n,"
+ " code_kennung, aktiv, erstellt) VALUES (?,?,?,?,?,?,1,?)")
.run(name, rolle, hash, salt, 32768,
createHmac("sha256", ks).update(code).digest("hex"), jetzt);
return d.prepare("SELECT last_insert_rowid() AS id").get().id;
}
const idDogi = anlegen("Filipe", "admin", "CODE-DOGI-0001");
const idModi = anlegen("Miss", "modi", "CODE-MODI-0001");
const idGast = anlegen("Kessi", "gast", "CODE-GAST-0001");
/* Ein Beitrag auf dem Highlights-Brett -- genau der Fall aus Filipes
Ansage. */
d.prepare(`INSERT INTO eintraege (titel, bereich, art, status, datum, erstellt, erstellt_von)
VALUES (?, 'highlight', 'clip', 'offen', ?, ?, ?)`)
.run("Ein Moment aus dem Stream", "2026-09-24", jetzt, idModi);
const beitrag = d.prepare("SELECT last_insert_rowid() AS id").get().id;
/* UND EINER, DEN DIE COMMUNITY WIRKLICH SIEHT.
Beim ersten Lauf stand hier nur der Beitrag oben -- nicht
freigegeben. Die Community bekam 404, und ich haette das fuer eine
fehlende Berechtigung gehalten. Es war die richtige Antwort auf die
falsche Frage: Wer einen Beitrag nicht SIEHT, kann auch nichts
daran haengen, und auf den Highlights sieht die Community nur, was
freigegeben ist.
Gemessen wird deshalb an einem freigegebenen Beitrag -- sonst
haette „die Community darf nicht" nur bedeutet, dass mein
Testbeitrag unsichtbar war. */
d.prepare(`INSERT INTO eintraege (titel, bereich, art, status, datum, erstellt, erstellt_von)
VALUES (?, 'highlight', 'clip', 'offen', ?, ?, ?)`)
.run("Freigegebener Clip", "2026-09-24", jetzt, idModi);
const offenerBeitrag = d.prepare("SELECT last_insert_rowid() AS id").get().id;
try {
d.prepare("INSERT INTO treff_freigaben (eintrag_id, von, zeitpunkt) VALUES (?,?,?)")
.run(offenerBeitrag, idDogi, jetzt);
} catch { /* Tabelle anders gebaut -- dann faellt es unten auf */ }
d.close();
const CREW = "crew.dogfather-universe.com";
const { request } = await import("node:http");
function roh(pfad, keks, rumpf, methode, kopf = {}) {
return new Promise((f, s) => {
const daten = rumpf === undefined ? null
: (Buffer.isBuffer(rumpf) ? rumpf : Buffer.from(JSON.stringify(rumpf)));
const a = request({
host: "127.0.0.1", port: PORT, path: pfad,
method: methode || (daten ? "POST" : "GET"),
headers: {
Host: CREW, Origin: `https://${CREW}`,
...(keks ? { Cookie: keks } : {}),
...(daten ? { "Content-Length": daten.length } : {}),
...kopf,
},
}, (r) => {
const teile = [];
r.on("data", (x) => teile.push(x));
r.on("end", () => f({
code: r.statusCode, kopf: r.headers,
text: Buffer.concat(teile).toString("utf8"),
bytes: Buffer.concat(teile).length,
}));
});
a.on("error", s);
if (daten) a.write(daten);
a.end();
});
}
const json = (r) => { try { return JSON.parse(r.text); } catch { return {}; } };
async function anmelden(rolle, code) {
const r = await roh("/workspace/api/anmelden", null,
{ rolle, code, alter_ok: true }, "POST", { "Content-Type": "application/json" });
if (r.code !== 200) return null;
return [].concat(r.kopf["set-cookie"] || []).map((z) => z.split(";")[0]).join("; ");
}
const kDogi = await anmelden("admin", "CODE-DOGI-0001");
const kModi = await anmelden("modi", "CODE-MODI-0001");
const kGast = await anmelden("gast", "CODE-GAST-0001");
ok(!!kDogi && !!kModi && !!kGast, "DogFather, Modi und Community sind angemeldet");
/** Ein winziges, gueltiges PNG -- echte Kopfbytes. */
const PNG = Buffer.from(
"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk"
+ "YPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==", "base64");
const weg = (id) => `/workspace/api/bereich/highlight/${id}/bild`;
melde("\n=== 1. Ein Bild anhaengen ===");
let bildId = 0;
{
const a = await roh(weg(beitrag), kModi, PNG, "POST",
{ "Content-Type": "application/octet-stream",
"x-name": encodeURIComponent("Bildschirmfoto.png") });
ok(a.code === 201, `es geht dran (${a.code})`);
const j = json(a);
bildId = j.id || 0;
ok(!!j.weg, `und die Antwort nennt den Weg (${j.weg})`);
ok(j.name === "Bildschirmfoto.png", `der Name bleibt (${j.name})`);
}
melde("\n=== 2. Es steht an der Karte und laesst sich abrufen ===");
{
const liste = json(await roh("/workspace/api/bereich/highlight", kModi));
const meiner = (liste.eintraege || []).find((e) => e.id === beitrag);
ok((meiner?.bilder || []).length === 1,
`der Beitrag traegt jetzt ein Bild (${(meiner?.bilder || []).length})`);
const bild = await roh(`/workspace/api/dateien/${bildId}/bild`, kModi);
ok(bild.code === 200, `das Bild laesst sich abrufen (${bild.code})`);
ok(bild.bytes === PNG.length,
`und es ist dasselbe (${bild.bytes} von ${PNG.length} Bytes)`);
ok((bild.kopf["content-type"] || "").startsWith("image/"),
`als Bild ausgeliefert (${bild.kopf["content-type"]})`);
/* WER DAS BRETT SIEHT, SIEHT DAS BILD. Die Community sieht die
Highlights -- also auch dieses Bild. */
const alsGast = await roh(`/workspace/api/dateien/${bildId}/bild`, kGast);
ok(alsGast.code === 200,
`wer das Brett sehen darf, sieht auch das Bild (${alsGast.code})`);
}
melde("\n=== 3. Was nicht hereinkommt ===");
{
/* DER STANDARDFEHLER: HTML mit Bild-Content-Type. Sie liefe im
Browser als Seite DIESER Domain, mit Zugriff auf die Sitzung. */
const getarnt = await roh(weg(beitrag), kModi,
Buffer.from("<html><script>alert(1)</script></html>"), "POST",
{ "Content-Type": "image/png" });
ok(getarnt.code === 415, `als Bild getarntes HTML (${getarnt.code})`);
/* SVG ist XML und darf Skripte enthalten -- es steht absichtlich
nicht in der Erkennung. */
const svg = await roh(weg(beitrag), kModi,
Buffer.from('<svg xmlns="http://www.w3.org/2000/svg"><script>alert(1)</script></svg>'),
"POST", { "Content-Type": "image/svg+xml" });
ok(svg.code === 415, `SVG (${svg.code})`);
const pdf = await roh(weg(beitrag), kModi,
Buffer.concat([Buffer.from("%PDF-1.4\n"), Buffer.alloc(64, 0x20)]), "POST",
{ "Content-Type": "application/pdf" });
ok(pdf.code === 415, `ein PDF (${pdf.code})`);
const leer = await roh(weg(beitrag), kModi, Buffer.alloc(0), "POST",
{ "Content-Type": "application/octet-stream" });
ok(leer.code === 400, `gar nichts (${leer.code})`);
}
melde("\n=== 4. Wer darf ===");
{
/* ==== BILDER FOLGEN DERSELBEN REGEL WIE BEITRAEGE ==============
Zwei Fehlversuche, bis ich die richtige Frage hatte:
1. „Darf die Community?" an einem UNFREIGEGEBENEN Beitrag ->
404. Das war kein fehlendes Recht, sondern die richtige
Antwort: Sie sieht ihn nicht.
2. Am freigegebenen -> 403. Auch kein Mangel: Die Community
braucht eine STUFE, um auf einem Brett zu schreiben (neu ->
dabei -> stamm), und ein frisch angelegter Zugang hat sie
nicht.
Die richtige Frage ist nicht „darf sie", sondern „gilt fuer ein
Bild dieselbe Regel wie fuer einen Beitrag". Genau das wird hier
gemessen -- und es ist die Aussage, die wirklich zaehlt: Ein
zweiter Weg mit anderen Rechten waere die Tuer, die niemand
bemerkt. */
const beitragVersuch = await roh("/workspace/api/bereich/highlight", kGast,
{ titel: "Mein Clip", art: "clip" }, "POST",
{ "Content-Type": "application/json" });
const bildVersuch = await roh(weg(offenerBeitrag), kGast, PNG, "POST",
{ "Content-Type": "application/octet-stream" });
const beitragGeht = beitragVersuch.code >= 200 && beitragVersuch.code < 300;
const bildGeht = bildVersuch.code === 201;
ok(beitragGeht === bildGeht,
`ein Bild folgt derselben Regel wie ein Beitrag `
+ `(Beitrag ${beitragVersuch.code}, Bild ${bildVersuch.code})`);
/* UND AN EINEN, DEN SIE NICHT SIEHT, NICHT -- mit 404, nicht 403:
Sie soll nicht erfahren, dass es ihn gibt. */
const versteckt = await roh(weg(beitrag), kGast, PNG, "POST",
{ "Content-Type": "application/octet-stream" });
ok(versteckt.code === 404,
`an einen unfreigegebenen aber nicht (${versteckt.code})`);
/* EINE ERFUNDENE BEITRAGSNUMMER: 404, nicht 403 -- wer den Beitrag
nicht sehen darf, soll nicht erfahren, dass es ihn gibt. */
const nichts = await roh(weg(999999), kModi, PNG, "POST",
{ "Content-Type": "application/octet-stream" });
ok(nichts.code === 404, `eine erfundene Nummer (${nichts.code})`);
/* Ohne Anmeldung gar nichts. */
const ohne = await roh(weg(beitrag), null, PNG, "POST",
{ "Content-Type": "application/octet-stream" });
ok(ohne.code >= 400, `ohne Anmeldung (${ohne.code})`);
}
melde("\n=== 5. Die Grenze von drei ===");
{
/* Auffuellen bis zur Grenze -- wie viele schon dranhaengen, sagt
die Liste, nicht eine Zahl hier. */
let stand = 0;
for (let i = 0; i < 6; i++) {
const a = await roh(weg(beitrag), kModi, PNG, "POST",
{ "Content-Type": "application/octet-stream" });
if (a.code === 201) stand++;
if (a.code === 409) {
ok(true, `beim ${stand + 1}. Bild sagt der Server Stopp (409)`);
break;
}
}
const liste = json(await roh("/workspace/api/bereich/highlight", kModi));
const meiner = (liste.eintraege || []).find((e) => e.id === beitrag);
ok((meiner?.bilder || []).length <= 3,
`es haengen hoechstens drei dran (${(meiner?.bilder || []).length})`);
}
melde("\n=== 6. Wieder abnehmen ===");
{
const liste = json(await roh("/workspace/api/bereich/highlight", kModi));
const meiner = (liste.eintraege || []).find((e) => e.id === beitrag);
const eins = (meiner?.bilder || [])[0];
ok(!!eins, "es gibt ein Bild zum Abnehmen");
if (eins) {
/* Ein Fremder nicht. */
const fremd = await roh(
`/workspace/api/bereich/highlight/${beitrag}/bild/${eins.id}`, kGast,
undefined, "DELETE");
ok(fremd.code >= 400, `ein Fremder nimmt es nicht ab (${fremd.code})`);
/* Der Verfasser schon. */
const weg2 = await roh(
`/workspace/api/bereich/highlight/${beitrag}/bild/${eins.id}`, kModi,
undefined, "DELETE");
ok(weg2.code === 200, `der Verfasser schon (${weg2.code})`);
const danach = json(await roh("/workspace/api/bereich/highlight", kModi));
const jetzt2 = (danach.eintraege || []).find((e) => e.id === beitrag);
ok((jetzt2?.bilder || []).length < (meiner?.bilder || []).length,
`und es ist wirklich weg (${(jetzt2?.bilder || []).length})`);
/* Und die Datei antwortet nicht mehr. */
const tot = await roh(`/workspace/api/dateien/${eins.id}/bild`, kModi);
ok(tot.code >= 400, `die Datei ist nicht mehr abrufbar (${tot.code})`);
}
}
try { rmSync(ordner, { recursive: true, force: true }); } catch { /* egal */ }
console.log("");
console.log(`${geprueft} Pruefungen, ${fehler} Fehler`);
console.log(fehler ? "NICHT IN ORDNUNG" : "ALLES IN ORDNUNG");
process.exit(fehler ? 1 : 0);
+190 -1
View File
@@ -15,6 +15,13 @@
===================================================================== */ ===================================================================== */
import express from "express"; import express from "express";
/* Fuer das Anhaengen von Bildern an einen Beitrag (24.09.2026).
`dateiErkennen` kommt aus dem Chat -- dort steht die einzige
Fassung, und an ihr haengt die Sicherheit aller Uploads im Haus. */
import { writeFileSync, mkdirSync, unlinkSync } from "node:fs";
import { join } from "node:path";
import { randomBytes } from "node:crypto";
import { dateiErkennen } from "./workspace-chat.js";
import { TREFF_START, VORSCHLAG_HINWEIS } from "./workspace-treff-start.js"; import { TREFF_START, VORSCHLAG_HINWEIS } from "./workspace-treff-start.js";
import { vorlagenFuer } from "./workspace-treff-vorlagen.js"; import { vorlagenFuer } from "./workspace-treff-vorlagen.js";
import { ARBEIT_START } from "./workspace-arbeit-start.js"; import { ARBEIT_START } from "./workspace-arbeit-start.js";
@@ -57,8 +64,22 @@ import { darfSeite } from "./rechte.js";
passieren, gewinnt der Treff (er ist oeffentlich, dort waere ein passieren, gewinnt der Treff (er ist oeffentlich, dort waere ein
falscher Text teurer). */ falscher Text teurer). */
const STARTKATALOG = { ...ARBEIT_START, ...TREFF_START }; const STARTKATALOG = { ...ARBEIT_START, ...TREFF_START };
/* WOHIN DIE BILDER EINES BEITRAGS GEHEN (24.09.2026).
DERSELBE ORDNER WIE DIE DATEIABLAGE -- und das ist Absicht, keine
Bequemlichkeit: Die Auslieferung (/api/dateien/:id/bild) sucht dort
und kennt nur einen Pfad. Ein eigener Ordner haette eine zweite
Stelle gebraucht, die ihn kennt, und Coverbilder aus dem
Video-Einlesen liegen ohnehin schon hier.
Beide Namen stehen ueber join(DATEN_ORDNER, ...) -- genau dieses
Muster liest tools/wiederherstellung-proben.mjs aus, um zu pruefen,
ob die Sicherung sie mitnimmt. */
const BILD_ORDNER_EINTRAG = join(DATEN_ORDNER, "dateien");
const ABLAGE_ORDNER_EINTRAG = join(DATEN_ORDNER, "dateien");
import { import {
db, protokolliere, echteIp, sitzungLesen, betreutWo, darfCreator, betreuteIds, istLeitung, istDogFather, siehtAlles, istSpicy, ohneDogFather, db, protokolliere, echteIp, sitzungLesen, DATEN_ORDNER, betreutWo, darfCreator, betreuteIds, istLeitung, istDogFather, siehtAlles, istSpicy, ohneDogFather,
externPruefen, externSql, externPruefen, externSql,
ohneTeamDogi, ohneAgentur, siehtModis, fuehrtTeamDogi, MODI_BEREICHE_ERLAUBT, brettHinterSeiteOffen, TEAM_DOGI_ROLLEN, ohneTeamDogi, ohneAgentur, siehtModis, fuehrtTeamDogi, MODI_BEREICHE_ERLAUBT, brettHinterSeiteOffen, TEAM_DOGI_ROLLEN,
TREFF_BRETTER, TREFF_ROLLEN, AUSSEN_ROLLEN, TREFF_BRETTER, TREFF_ROLLEN, AUSSEN_ROLLEN,
@@ -2534,6 +2555,174 @@ bereicheRouter.patch("/workspace/api/bereich/:bereich/:id", gleicheHerkunft, (re
} }
}); });
/* =====================================================================
EIN BILD AN EINEN BEITRAG (24.09.2026)
Filipe: "mach das man da bitte screenshots oder kurzschnitte von
den live reinposten kann. nach dem selben prinzip wie bei den
anderen nebendran."
"NACH DEM SELBEN PRINZIP" IST WOERTLICH ZU NEHMEN. Die Anzeige gab
es schon: Die Karte zeichnet ihren Bildstreifen aus "e.bilder",
die Auslieferung entscheidet die Sichtbarkeit am BEITRAG (wer das
Brett sehen darf, sieht das Bild), und die Spalte
"dateien.eintrag_id" wird seit dem Video-Einlesen benutzt. Gefehlt
hat genau ein Weg -- dieser.
WER DARF: Wer den Beitrag ueberhaupt sehen darf UND auf diesem
Brett schreiben darf. Beides zusammen, nicht eines davon: "sehen"
allein hiesse, dass die Community Bilder an fremde Beitraege
haengt; "schreiben" allein waere ein Weg, die Existenz eines
Beitrags zu erfahren, den man nicht sehen soll.
DER TYP KOMMT AUS DEM INHALT. dateiErkennen() liest die ersten
Bytes; Dateiname und Content-Type kommen vom Absender und sind
frei erfunden. Dieselbe Funktion wie im Chat und im Support --
eine zweite Fassung waere die, die beim naechsten Format vergessen
wird.
DREI BILDER JE BEITRAG. Nicht als Schikane: Wer fuenf
Bildschirmfotos anhaengt, erklaert damit nichts besser -- er
verschiebt die Arbeit zu dem, der sie ansehen muss. Und der
Bildstreifen einer Karte traegt drei nebeneinander, ohne dass die
Karte auseinanderfaellt.
===================================================================== */
const BILD_MAX_EINTRAG = 12 * 1024 * 1024;
const BILDER_JE_EINTRAG = 3;
/** Vor express.raw: Darf diese Person hier ueberhaupt etwas anhaengen?
*
* Die Berechtigung steht VOR der Annahme des Rumpfes -- sonst
* wanderten zwoelf Megabyte durch die Leitung, nur um danach
* verworfen zu werden, und jeder Angemeldete koennte an jeder
* Beitragsnummer Speicher verbrauchen. Dieselbe Reihenfolge wie beim
* Chat-Anhang. */
function darfBildAnhaengen(req, res, next) {
const bereich = String(req.params.bereich);
const id = Number(req.params.id);
if (!BEREICHE[bereich] || !Number.isInteger(id)) {
return res.status(400).json({ fehler: "ungueltig" });
}
const eintrag = holen(req, id);
if (!eintrag || eintrag.bereich !== bereich) {
return res.status(404).json({ fehler: "nicht_gefunden" });
}
const warum = darfSchreiben(req.person, bereich);
if (warum) return res.status(403).json({ fehler: warum });
req.eintragFuerBild = eintrag;
next();
}
bereicheRouter.post("/workspace/api/bereich/:bereich/:id(\\d+)/bild",
gleicheHerkunft,
darfBildAnhaengen,
express.raw({ type: "*/*", limit: BILD_MAX_EINTRAG }),
(req, res) => {
let geschrieben = null;
try {
const eintrag = req.eintragFuerBild;
if (!Buffer.isBuffer(req.body) || !req.body.length) {
return res.status(400).json({ fehler: "Keine Datei empfangen." });
}
const erkannt = dateiErkennen(req.body);
if (!erkannt || erkannt.art !== "bild") {
return res.status(415).json({
fehler: "Hier geht ein Foto - PNG, JPEG, WebP oder GIF.",
});
}
const schon = db().prepare(
"SELECT COUNT(*) AS n FROM dateien WHERE eintrag_id = ?").get(eintrag.id).n;
if (schon >= BILDER_JE_EINTRAG) {
return res.status(409).json({
fehler: "An diesem Beitrag haengen schon "
+ BILDER_JE_EINTRAG + " Bilder. Nimm erst eines weg.",
});
}
mkdirSync(BILD_ORDNER_EINTRAG, { recursive: true });
const dateiname = Date.now().toString(36) + "-"
+ randomBytes(8).toString("hex") + erkannt.endung;
writeFileSync(join(BILD_ORDNER_EINTRAG, dateiname), req.body, { flag: "wx" });
geschrieben = join(BILD_ORDNER_EINTRAG, dateiname);
let roh = "";
try { roh = decodeURIComponent(req.get("x-name") || ""); } catch { roh = ""; }
const name = (roh.replace(/[\u0000-\u001f\u007f]/g, "").trim()
|| ("bild" + erkannt.endung)).slice(0, 120);
const info = db().prepare(
"INSERT INTO dateien (name_original, name_datei, groesse, typ, status,"
+ " notiz, hochgeladen_von, erstellt, eintrag_id)"
+ " VALUES (?,?,?,?,'entwurf',NULL,?,?,?)")
.run(name, dateiname, req.body.length, erkannt.typ,
req.person.id, new Date().toISOString(), eintrag.id);
protokolliere("eintrag_bild", {
personId: req.person.id, rolle: req.person.rolle, ip: echteIp(req),
/* `bereichVon` hatte ich erfunden -- es gibt sie nicht. Der
Bereich steht am Eintrag selbst, und dort ist er auch
richtiger: Er kommt aus der Datenbank, nicht aus der
Adresse. */
detail: (eintrag.bereich + " #" + eintrag.id + " " + name).slice(0, 120),
});
res.status(201).json({
id: Number(info.lastInsertRowid),
name,
weg: "/workspace/api/dateien/" + Number(info.lastInsertRowid) + "/bild",
});
} catch (fehler) {
/* DIE DATEI GEHT MIT, WENN DIE ZEILE NICHT ZUSTANDE KAM. Sonst
sammelt der Ordner Bilder an, auf die nichts zeigt. */
if (geschrieben) { try { unlinkSync(geschrieben); } catch { /* egal */ } }
console.error("[bereich] Bild anhaengen:", fehler?.message);
res.status(503).json({ fehler: "nicht_verfuegbar" });
}
});
/** Ein Bild wieder abnehmen.
*
* WER: wer den Beitrag selbst geschrieben hat -- und wer ihn ohnehin
* loeschen duerfte. Ein Bild, das nicht passt, muss jemand
* abnehmen koennen, ohne den ganzen Beitrag zu entfernen. */
bereicheRouter.delete("/workspace/api/bereich/:bereich/:id(\\d+)/bild/:bild(\\d+)",
gleicheHerkunft, (req, res) => {
try {
const bereich = String(req.params.bereich);
const id = Number(req.params.id);
const eintrag = holen(req, id);
if (!eintrag || eintrag.bereich !== bereich) {
return res.status(404).json({ fehler: "nicht_gefunden" });
}
const treffBrett = TREFF_BRETTER.includes(bereich);
const darf = treffBrett
? TREFF_TEAM_ROLLEN.has(req.person.rolle) || eintrag.erstellt_von === req.person.id
: istLeitung(req.person) || eintrag.erstellt_von === req.person.id;
if (!darf) return res.status(403).json({ fehler: "nicht_erlaubt" });
const bild = db().prepare(
"SELECT id, name_datei FROM dateien WHERE id = ? AND eintrag_id = ?")
.get(Number(req.params.bild), eintrag.id);
if (!bild) return res.status(404).json({ fehler: "nicht_gefunden" });
db().prepare("DELETE FROM dateien WHERE id = ?").run(bild.id);
try { unlinkSync(join(BILD_ORDNER_EINTRAG, bild.name_datei)); } catch { /* schon weg */ }
/* Auch im Ablage-Ordner nachsehen: Coverbilder aus dem
Video-Einlesen liegen dort, nicht im neuen Ordner. */
try { unlinkSync(join(ABLAGE_ORDNER_EINTRAG, bild.name_datei)); } catch { /* egal */ }
protokolliere("eintrag_bild_weg", {
personId: req.person.id, rolle: req.person.rolle, ip: echteIp(req),
detail: (bereich + " #" + eintrag.id + " Bild " + bild.id).slice(0, 120),
});
res.json({ ok: true });
} catch (fehler) {
console.error("[bereich] Bild abnehmen:", fehler?.message);
res.status(503).json({ fehler: "nicht_verfuegbar" });
}
});
bereicheRouter.delete("/workspace/api/bereich/:bereich/:id", gleicheHerkunft, (req, res) => { bereicheRouter.delete("/workspace/api/bereich/:bereich/:id", gleicheHerkunft, (req, res) => {
try { try {
const bereich = String(req.params.bereich); const bereich = String(req.params.bereich);
+5 -5
View File
@@ -16,15 +16,15 @@
verdeckt. Gefunden hat es pruef-struktur. verdeckt. Gefunden hat es pruef-struktur.
Richtig sind `gate.css` (die Farbwerte des Hauses) und `haus.css`. --> Richtig sind `gate.css` (die Farbwerte des Hauses) und `haus.css`. -->
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
<!-- Ohne diese drei nimmt ein iPhone einen Bildschirmausschnitt als <!-- Ohne diese drei nimmt ein iPhone einen Bildschirmausschnitt als
Symbol, Android zeichnet die Leiste weiss, und die Seite oeffnet Symbol, Android zeichnet die Leiste weiss, und die Seite oeffnet
ausserhalb der App -- auf einer Seite, die genau erklaeren soll, ausserhalb der App -- auf einer Seite, die genau erklaeren soll,
WARUM das Telefon nicht klingelt, ist das besonders unpassend. --> WARUM das Telefon nicht klingelt, ist das besonders unpassend. -->
<link rel="manifest" href="/workspace/crew.webmanifest" /> <link rel="manifest" href="/workspace/crew.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<style> <style>
/* Bewusst in der Seite und nicht in einer eigenen Datei: Diese Seite /* Bewusst in der Seite und nicht in einer eigenen Datei: Diese Seite
soll auch dann noch etwas anzeigen, wenn genau das schiefgeht, soll auch dann noch etwas anzeigen, wenn genau das schiefgeht,
@@ -126,7 +126,7 @@
<script src="assets/js/anruf-probe.js?v=202609241136" defer></script> <script src="assets/js/anruf-probe.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+4 -4
View File
@@ -23,25 +23,25 @@
}, },
"icons": [ "icons": [
{ {
"src": "/assets/img/app-symbole/workspace-192.png?v=202609241136", "src": "/assets/img/app-symbole/workspace-192.png?v=202609241143",
"sizes": "192x192", "sizes": "192x192",
"type": "image/png", "type": "image/png",
"purpose": "any" "purpose": "any"
}, },
{ {
"src": "/assets/img/app-symbole/workspace-512.png?v=202609241136", "src": "/assets/img/app-symbole/workspace-512.png?v=202609241143",
"sizes": "512x512", "sizes": "512x512",
"type": "image/png", "type": "image/png",
"purpose": "any" "purpose": "any"
}, },
{ {
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202609241136", "src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202609241143",
"sizes": "192x192", "sizes": "192x192",
"type": "image/png", "type": "image/png",
"purpose": "maskable" "purpose": "maskable"
}, },
{ {
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202609241136", "src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202609241143",
"sizes": "512x512", "sizes": "512x512",
"type": "image/png", "type": "image/png",
"purpose": "maskable" "purpose": "maskable"
+67
View File
@@ -381,6 +381,53 @@
haette man sie achtmal aendern muessen. */ haette man sie achtmal aendern muessen. */
const hole = (pfad, optionen) => window.holen(pfad, optionen); const hole = (pfad, optionen) => window.holen(pfad, optionen);
/** Ein Bild auswaehlen und an den Beitrag haengen.
*
* DAS DATEIFELD WIRD JEDES MAL NEU GEBAUT und danach weggeworfen.
* Ein dauerhaftes im HTML waere ein Feld fuer vierzig Karten --
* und beim zweiten Mal dieselbe Datei, weil der Browser den Wert
* behaelt, wenn man denselben Namen erneut waehlt.
*
* DIE VORSCHAU GIBT ES HIER NICHT. Beim Support ist sie wichtig
* (man schreibt einen Text dazu und will sehen, was man mitgibt);
* hier geht das Bild sofort raus und steht eine Sekunde spaeter
* als Streifen an der Karte. Eine Vorschau dazwischen waere ein
* Schritt, den niemand braucht. */
function bildWaehlen(e) {
const feld = document.createElement('input');
feld.type = 'file';
feld.accept = 'image/png,image/jpeg,image/webp,image/gif';
feld.addEventListener('change', async () => {
const datei = feld.files?.[0];
if (!datei) return;
/* Die Grenze steht hier nur als Freundlichkeit -- abgelehnt
wird am Server. Sie erspart es, zwoelf Megabyte erst
hochzuladen, um danach eine Absage zu lesen. */
if (datei.size > 12 * 1024 * 1024) {
melde('Das Bild ist größer als 12 MB – bitte ein kleineres.');
return;
}
melde('Bild wird hochgeladen …');
try {
const a = await hole(
`/workspace/api/bereich/${bereich}/${e.id}/bild`,
{
method: 'POST',
headers: { 'x-name': encodeURIComponent(datei.name || 'Bild') },
body: datei,
});
if (!a.ok) {
melde(sagWas((await a.json().catch(() => ({}))).fehler,
'Das Bild ließ sich nicht anhängen.'));
return;
}
melde('Bild ist dran.');
await laden();
} catch { /* umgeleitet */ }
});
feld.click();
}
function tuKnopf(text, tu) { function tuKnopf(text, tu) {
const b = el('button', 'schritt', text); const b = el('button', 'schritt', text);
b.type = 'button'; b.type = 'button';
@@ -1346,6 +1393,26 @@
})); }));
} }
/* ==== EIN BILD ANHAENGEN (24.09.2026) =========================
Filipe: "mach das man da bitte screenshots oder kurzschnitte
von den live reinposten kann. nach dem selben prinzip wie bei
den anderen nebendran."
DER KNOPF STEHT AN DER KARTE, nicht im Anlege-Formular. Das ist
der Unterschied zu "beim Schreiben ein Bild mitschicken": Ein
Bildschirmfoto faellt einem meist spaeter ein -- beim
Nachschauen, beim Erklaeren, wenn jemand fragt. Wer es nur beim
Anlegen mitgeben koennte, muesste den Beitrag loeschen und neu
schreiben.
ER ERSCHEINT NUR, WENN NOCH PLATZ IST. Drei Bilder je Beitrag
(der Server setzt die Grenze durch); beim vierten waere der
Knopf einer, der eine Absage bringt. */
if (darfEintragen() && (e.bilder || []).length < 3) {
knoepfe.append(tuKnopf('Bild anhängen', () => bildWaehlen(e)));
}
if (LEITUNG.has(ich.rolle) || e.erstellt_von === ich.id) { if (LEITUNG.has(ich.rolle) || e.erstellt_von === ich.id) {
knoepfe.append(tuKnopf('löschen', async () => { knoepfe.append(tuKnopf('löschen', async () => {
/* EIN FREMDER BEITRAG AUF EINEM TREFF-BRETT BRAUCHT EINEN /* EIN FREMDER BEITRAG AUF EINEM TREFF-BRETT BRAUCHT EINEN
+19 -19
View File
@@ -12,19 +12,19 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -391,22 +391,22 @@
<!-- TEXTFORM ZUERST (21.09.2026): Die Seite fragt beim Zeichnen nach <!-- TEXTFORM ZUERST (21.09.2026): Die Seite fragt beim Zeichnen nach
`window.Textform`. Kaeme sie spaeter, waere der erste Eintrag ohne `window.Textform`. Kaeme sie spaeter, waere der erste Eintrag ohne
Gestaltung. Kein `defer`, damit sie wirklich vorher dasteht. --> Gestaltung. Kein `defer`, damit sie wirklich vorher dasteht. -->
<script src="assets/js/textform.js?v=202609241136"></script> <script src="assets/js/textform.js?v=202609241143"></script>
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/hochladen.js?v=202609241136" defer></script> <script src="assets/js/hochladen.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/zuteilung.js?v=202609241136" defer></script> <script src="assets/js/zuteilung.js?v=202609241143" defer></script>
<!-- Der Vorlagenkatalog stand bis zum 23.09.2026 mitten in <!-- Der Vorlagenkatalog stand bis zum 23.09.2026 mitten in
aufgaben.js. Er bedient jetzt zwei Seiten und hat deshalb eine aufgaben.js. Er bedient jetzt zwei Seiten und hat deshalb eine
eigene Datei; hier zeigt er den Creator-Katalog. eigene Datei; hier zeigt er den Creator-Katalog.
Vor aufgaben.js, weil die Seite ihn beim Start einrichtet. --> Vor aufgaben.js, weil die Seite ihn beim Start einrichtet. -->
<script src="assets/js/vorlagenbrett.js?v=202609241136" defer></script> <script src="assets/js/vorlagenbrett.js?v=202609241143" defer></script>
<script src="assets/js/aufgaben.js?v=202609241136" defer></script> <script src="assets/js/aufgaben.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/automation.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/automation.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -168,15 +168,15 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/automation.js?v=202609241136" defer></script> <script src="assets/js/automation.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+17 -17
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/entwicklung.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -197,16 +197,16 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/holen.js?v=202609241136" defer></script> <script src="assets/js/holen.js?v=202609241143" defer></script>
<script src="assets/js/befinden.js?v=202609241136" defer></script> <script src="assets/js/befinden.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+22 -22
View File
@@ -12,24 +12,24 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/bereich.css?v=202609241143" />
<!-- Wegen des Blocks „Willst du dazugehoeren?" auf dem Brett <!-- Wegen des Blocks „Willst du dazugehoeren?" auf dem Brett
„Mitmachen". Eine eigene Kopie der Regel hier waere die zweite „Mitmachen". Eine eigene Kopie der Regel hier waere die zweite
Stelle, an der dieselbe Sache anders aussieht. --> Stelle, an der dieselbe Sache anders aussieht. -->
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/bewerbung.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -304,19 +304,19 @@
<!-- TEXTFORM ZUERST (21.09.2026): Die Seite fragt beim Zeichnen nach <!-- TEXTFORM ZUERST (21.09.2026): Die Seite fragt beim Zeichnen nach
`window.Textform`. Kaeme sie spaeter, waere der erste Eintrag ohne `window.Textform`. Kaeme sie spaeter, waere der erste Eintrag ohne
Gestaltung. Kein `defer`, damit sie wirklich vorher dasteht. --> Gestaltung. Kein `defer`, damit sie wirklich vorher dasteht. -->
<script src="assets/js/textform.js?v=202609241136"></script> <script src="assets/js/textform.js?v=202609241143"></script>
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/checkliste.js?v=202609241136" defer></script> <script src="assets/js/checkliste.js?v=202609241143" defer></script>
<script src="assets/js/ampel.js?v=202609241136" defer></script> <script src="assets/js/ampel.js?v=202609241143" defer></script>
<script src="assets/js/schulung.js?v=202609241136" defer></script> <script src="assets/js/schulung.js?v=202609241143" defer></script>
<script src="assets/js/holen.js?v=202609241136" defer></script> <script src="assets/js/holen.js?v=202609241143" defer></script>
<script src="assets/js/bereich.js?v=202609241136" defer></script> <script src="assets/js/bereich.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+19 -19
View File
@@ -7,17 +7,17 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/bereich.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/treff.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/bewerbung.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. --> <!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -108,15 +108,15 @@
</main> </main>
<!-- Der Fuß gehört zu jeder Seite - siehe pruef-css-klassen. --> <!-- Der Fuß gehört zu jeder Seite - siehe pruef-css-klassen. -->
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/auskunft.js?v=202609241136" defer></script> <script src="assets/js/auskunft.js?v=202609241143" defer></script>
<script src="assets/js/bewerben.js?v=202609241136" defer></script> <script src="assets/js/bewerben.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+18 -18
View File
@@ -7,16 +7,16 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/entwicklung.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/bewerbung.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. --> <!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -80,16 +80,16 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/auskunft.js?v=202609241136" defer></script> <script src="assets/js/auskunft.js?v=202609241143" defer></script>
<script src="assets/js/bewerbungen.js?v=202609241136" defer></script> <script src="assets/js/bewerbungen.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/calls.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/calls.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -89,15 +89,15 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/ki.js?v=202609241136" defer></script> <script src="assets/js/ki.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/calls.js?v=202609241136" defer></script> <script src="assets/js/calls.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+19 -19
View File
@@ -12,26 +12,26 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<!-- aufgaben.css bringt die Dialog- und Formularstile mit (.dialog, <!-- aufgaben.css bringt die Dialog- und Formularstile mit (.dialog,
.neu__zeile, .dialog__knoepfe). Sie stehen dort seit dem .neu__zeile, .dialog__knoepfe). Sie stehen dort seit dem
Aufgabenbrett; sie hierher zu kopieren hiesse, sie an zwei Stellen Aufgabenbrett; sie hierher zu kopieren hiesse, sie an zwei Stellen
zu pflegen. Dieselbe Lösung nutzen kalender.html und content.html. zu pflegen. Dieselbe Lösung nutzen kalender.html und content.html.
Gemeldet von pruef-css-klassen.mjs, bevor jemand einen ungestylten Gemeldet von pruef-css-klassen.mjs, bevor jemand einen ungestylten
Dialog zu sehen bekam. --> Dialog zu sehen bekam. -->
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/chat.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/chat.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -592,25 +592,25 @@
</form> </form>
</dialog> </dialog>
<script src="assets/js/bereiche.js?v=202609241136"></script> <script src="assets/js/bereiche.js?v=202609241143"></script>
<!-- TEXTFORM VOR ALLEM ANDEREN (21.09.2026): chat.js und bereich.js <!-- TEXTFORM VOR ALLEM ANDEREN (21.09.2026): chat.js und bereich.js
fragen beim Zeichnen nach `window.Textform`. Kaeme sie spaeter, fragen beim Zeichnen nach `window.Textform`. Kaeme sie spaeter,
waere die erste gezeichnete Nachricht ohne Gestaltung -- und das waere die erste gezeichnete Nachricht ohne Gestaltung -- und das
faellt nur dem auf, der genau hinsieht. KEIN `defer`, damit sie faellt nur dem auf, der genau hinsieht. KEIN `defer`, damit sie
wirklich vor den anderen dasteht. --> wirklich vor den anderen dasteht. -->
<script src="assets/js/textform.js?v=202609241136"></script> <script src="assets/js/textform.js?v=202609241143"></script>
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/hochladen.js?v=202609241136" defer></script> <script src="assets/js/hochladen.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136"></script> <script src="assets/js/kopf.js?v=202609241143"></script>
<script src="assets/js/glocke.js?v=202609241136"></script> <script src="assets/js/glocke.js?v=202609241143"></script>
<!-- ANRUF VOR CHAT (18.09.2026): anruf.js stellt `window.anrufStarten` <!-- ANRUF VOR CHAT (18.09.2026): anruf.js stellt `window.anrufStarten`
bereit, und chat.js baut die Knoepfe nur, wenn es das gibt. bereit, und chat.js baut die Knoepfe nur, wenn es das gibt.
Andersherum waere die Reihenfolge eine stille Abhaengigkeit -- Andersherum waere die Reihenfolge eine stille Abhaengigkeit --
die Knoepfe fehlten, und niemand wuesste warum. --> die Knoepfe fehlten, und niemand wuesste warum. -->
<script src="assets/js/anruf.js?v=202609241136"></script> <script src="assets/js/anruf.js?v=202609241143"></script>
<script src="assets/js/chat.js?v=202609241136"></script> <script src="assets/js/chat.js?v=202609241143"></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/content.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/content.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -179,15 +179,15 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/checkliste.js?v=202609241136" defer></script> <script src="assets/js/checkliste.js?v=202609241143" defer></script>
<script src="assets/js/content.js?v=202609241136" defer></script> <script src="assets/js/content.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+6 -6
View File
@@ -36,15 +36,15 @@
<link rel="preload" as="image" href="assets/img/buehne/crew-gate-hoch-580.webp" <link rel="preload" as="image" href="assets/img/buehne/crew-gate-hoch-580.webp"
type="image/webp" media="(max-width: 899px)" /> type="image/webp" media="(max-width: 899px)" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/crew-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/crew-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<!-- Diese Wand steht NUR auf der Adresse von Team Dogi (ueberall sonst <!-- Diese Wand steht NUR auf der Adresse von Team Dogi (ueberall sonst
404, siehe crewWeiche). Sie darf das Haus deshalb direkt nennen 404, siehe crewWeiche). Sie darf das Haus deshalb direkt nennen
statt ueber den Platzhalter haus.css zu gehen -- und sie MUSS es: statt ueber den Platzhalter haus.css zu gehen -- und sie MUSS es:
Eine Zugangswand, die sich erst nach dem Umbiegen faerbt, waere Eine Zugangswand, die sich erst nach dem Umbiegen faerbt, waere
die eine Seite, auf der man das Umfaerben sieht. --> die eine Seite, auf der man das Umfaerben sieht. -->
<link rel="stylesheet" href="assets/css/crew-haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/crew-haus.css?v=202609241143" />
</head> </head>
<body class="gate gate--crew"> <body class="gate gate--crew">
@@ -459,7 +459,7 @@
<script src="assets/js/gate.js?v=202609241136" defer></script> <script src="assets/js/gate.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+4 -4
View File
@@ -23,25 +23,25 @@
}, },
"icons": [ "icons": [
{ {
"src": "/assets/img/app-symbole/crew-192.png?v=202609241136", "src": "/assets/img/app-symbole/crew-192.png?v=202609241143",
"sizes": "192x192", "sizes": "192x192",
"type": "image/png", "type": "image/png",
"purpose": "any" "purpose": "any"
}, },
{ {
"src": "/assets/img/app-symbole/crew-512.png?v=202609241136", "src": "/assets/img/app-symbole/crew-512.png?v=202609241143",
"sizes": "512x512", "sizes": "512x512",
"type": "image/png", "type": "image/png",
"purpose": "any" "purpose": "any"
}, },
{ {
"src": "/assets/img/app-symbole/crew-192-maskable.png?v=202609241136", "src": "/assets/img/app-symbole/crew-192-maskable.png?v=202609241143",
"sizes": "192x192", "sizes": "192x192",
"type": "image/png", "type": "image/png",
"purpose": "maskable" "purpose": "maskable"
}, },
{ {
"src": "/assets/img/app-symbole/crew-512-maskable.png?v=202609241136", "src": "/assets/img/app-symbole/crew-512-maskable.png?v=202609241143",
"sizes": "512x512", "sizes": "512x512",
"type": "image/png", "type": "image/png",
"purpose": "maskable" "purpose": "maskable"
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/dateien.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/dateien.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -108,15 +108,15 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/hochladen.js?v=202609241136" defer></script> <script src="assets/js/hochladen.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/dateien.js?v=202609241136" defer></script> <script src="assets/js/dateien.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+18 -18
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/entwicklung.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -297,20 +297,20 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/holen.js?v=202609241136" defer></script> <script src="assets/js/holen.js?v=202609241143" defer></script>
<!-- VOR entwicklung.js: Die Seite richtet den Katalog beim Start ein, <!-- VOR entwicklung.js: Die Seite richtet den Katalog beim Start ein,
also muss es ihn zu dem Zeitpunkt geben. Mit "defer" laufen beide also muss es ihn zu dem Zeitpunkt geben. Mit "defer" laufen beide
in Dokumentreihenfolge. --> in Dokumentreihenfolge. -->
<script src="assets/js/vorlagenbrett.js?v=202609241136" defer></script> <script src="assets/js/vorlagenbrett.js?v=202609241143" defer></script>
<script src="assets/js/entwicklung.js?v=202609241136" defer></script> <script src="assets/js/entwicklung.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+15 -15
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/hilfe.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/hilfe.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -146,14 +146,14 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/hilfe.js?v=202609241136" defer></script> <script src="assets/js/hilfe.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+5 -5
View File
@@ -30,9 +30,9 @@
<link rel="preload" as="image" href="assets/img/buehne/gate-hoch-580.webp" <link rel="preload" as="image" href="assets/img/buehne/gate-hoch-580.webp"
type="image/webp" media="(max-width: 899px)" /> type="image/webp" media="(max-width: 899px)" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
</head> </head>
<body class="gate"> <body class="gate">
@@ -427,7 +427,7 @@
<script src="assets/js/gate.js?v=202609241136" defer></script> <script src="assets/js/gate.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/kalender.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/kalender.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -383,15 +383,15 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/kalender.js?v=202609241136" defer></script> <script src="assets/js/kalender.js?v=202609241143" defer></script>
<script src="assets/js/kalender-abo.js?v=202609241136" defer></script> <script src="assets/js/kalender-abo.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/leistung.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/leistung.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -444,13 +444,13 @@
</form> </form>
</dialog> </dialog>
<script src="assets/js/meldung.js?v=202609241136"></script> <script src="assets/js/meldung.js?v=202609241143"></script>
<script src="assets/js/nachfrage.js?v=202609241136"></script> <script src="assets/js/nachfrage.js?v=202609241143"></script>
<script src="assets/js/wahl.js?v=202609241136"></script> <script src="assets/js/wahl.js?v=202609241143"></script>
<script src="assets/js/bereiche.js?v=202609241136"></script> <script src="assets/js/bereiche.js?v=202609241143"></script>
<script src="assets/js/kopf.js?v=202609241136"></script> <script src="assets/js/kopf.js?v=202609241143"></script>
<script src="assets/js/glocke.js?v=202609241136"></script> <script src="assets/js/glocke.js?v=202609241143"></script>
<script src="assets/js/leistung.js?v=202609241136"></script> <script src="assets/js/leistung.js?v=202609241143"></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -12,13 +12,13 @@
vergessen wird. --> vergessen wird. -->
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/material.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/material.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start" data-ton="42" data-buehne="studio"> <body class="start" data-ton="42" data-buehne="studio">
@@ -138,14 +138,14 @@
<p class="m-laedt" id="laedt">Einen Moment …</p> <p class="m-laedt" id="laedt">Einen Moment …</p>
</main> </main>
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/hochladen.js?v=202609241136" defer></script> <script src="assets/js/hochladen.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/material.js?v=202609241136" defer></script> <script src="assets/js/material.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/personen.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/personen.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -453,14 +453,14 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/personen.js?v=202609241136" defer></script> <script src="assets/js/personen.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+18 -18
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/profil.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -214,16 +214,16 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/hochladen.js?v=202609241136" defer></script> <script src="assets/js/hochladen.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/steckbrief.js?v=202609241136" defer></script> <script src="assets/js/steckbrief.js?v=202609241143" defer></script>
<script src="assets/js/profil.js?v=202609241136" defer></script> <script src="assets/js/profil.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+17 -17
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/treff.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -134,14 +134,14 @@
Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen
Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen, Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen,
die seit dem 07.09. jede Seite danach absucht. --> die seit dem 07.09. jede Seite danach absucht. -->
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/holen.js?v=202609241136" defer></script> <script src="assets/js/holen.js?v=202609241143" defer></script>
<script src="assets/js/rechte.js?v=202609241136" defer></script> <script src="assets/js/rechte.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+18 -18
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/report.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/report.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -106,17 +106,17 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/ki.js?v=202609241136" defer></script> <script src="assets/js/ki.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/holen.js?v=202609241136" defer></script> <script src="assets/js/holen.js?v=202609241143" defer></script>
<script src="assets/js/report.js?v=202609241136" defer></script> <script src="assets/js/report.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/scouting.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/scouting.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -173,14 +173,14 @@
</div> </div>
</div> </div>
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/scouting.js?v=202609241136" defer></script> <script src="assets/js/scouting.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -12,21 +12,21 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<!-- Nur die Startseite: Begrüßungskachel, Uhr, Glockenmulde. Siehe <!-- Nur die Startseite: Begrüßungskachel, Uhr, Glockenmulde. Siehe
den Hinweis in start.css -- dort stand es bis zum 07.09.2026. --> den Hinweis in start.css -- dort stand es bis zum 07.09.2026. -->
<link rel="stylesheet" href="assets/css/heim.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/heim.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -684,16 +684,16 @@
</p> </p>
</main> </main>
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/live.js?v=202609241136" defer></script> <script src="assets/js/live.js?v=202609241143" defer></script>
<script src="assets/js/start.js?v=202609241136" defer></script> <script src="assets/js/start.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/startcheck.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/startcheck.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -85,16 +85,16 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/ki.js?v=202609241136" defer></script> <script src="assets/js/ki.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/startcheck.js?v=202609241136" defer></script> <script src="assets/js/startcheck.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+18 -18
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/profil.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -150,16 +150,16 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/hochladen.js?v=202609241136" defer></script> <script src="assets/js/hochladen.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/auskunft.js?v=202609241136" defer></script> <script src="assets/js/auskunft.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/steckbrief.js?v=202609241136" defer></script> <script src="assets/js/steckbrief.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+14 -14
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/support.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/support.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -123,16 +123,16 @@
(reading 'LEITUNG')" ab -- gemessen am 24.09.2026, als diese (reading 'LEITUNG')" ab -- gemessen am 24.09.2026, als diese
Zeile beim Anlegen der Seite fehlte. Die Kopfleiste kam Zeile beim Anlegen der Seite fehlte. Die Kopfleiste kam
trotzdem, deshalb sah man es nur in der Browserkonsole. --> trotzdem, deshalb sah man es nur in der Browserkonsole. -->
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<!-- wahl.js gehoert zu kopf.js: Der Sicht-Umschalter in der <!-- wahl.js gehoert zu kopf.js: Der Sicht-Umschalter in der
Kopfleiste baut daraus seine Liste. pruef-css-klassen setzt das Kopfleiste baut daraus seine Liste. pruef-css-klassen setzt das
seit dem 07.09.2026 durch -- damals fehlte es auf chat.html und seit dem 07.09.2026 durch -- damals fehlte es auf chat.html und
uebersicht.html, und heute hier. --> uebersicht.html, und heute hier. -->
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/support.js?v=202609241136" defer></script> <script src="assets/js/support.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+18 -18
View File
@@ -7,18 +7,18 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/entwicklung.css?v=202609241143" />
<!-- Wegen des Kastens „Anfragen“ ueber der Liste. Eine eigene Kopie <!-- Wegen des Kastens „Anfragen“ ueber der Liste. Eine eigene Kopie
der Regel hier waere die zweite Stelle, an der dieselbe Sache der Regel hier waere die zweite Stelle, an der dieselbe Sache
anders aussieht. --> anders aussieht. -->
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/bewerbung.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -111,15 +111,15 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/holen.js?v=202609241136" defer></script> <script src="assets/js/holen.js?v=202609241143" defer></script>
<script src="assets/js/talente.js?v=202609241136" defer></script> <script src="assets/js/talente.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -7,20 +7,20 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/team.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/team.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -110,15 +110,15 @@
</main> </main>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/holen.js?v=202609241136" defer></script> <script src="assets/js/holen.js?v=202609241143" defer></script>
<script src="assets/js/team.js?v=202609241136" defer></script> <script src="assets/js/team.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+17 -17
View File
@@ -7,20 +7,20 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/team.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/team.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<!-- `data-buehne` steht hier fest und nicht im Skript: Die Kachel zu <!-- `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 Kaputt ist dabei nichts -- er funktioniert. Genau deshalb faellt
es niemandem auf, und deshalb prueft pruef-css-klassen die es niemandem auf, und deshalb prueft pruef-css-klassen die
ABHAENGIGKEIT statt der Optik. Hier hat sie angeschlagen. --> ABHAENGIGKEIT statt der Optik. Hier hat sie angeschlagen. -->
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/holen.js?v=202609241136" defer></script> <script src="assets/js/holen.js?v=202609241143" defer></script>
<script src="assets/js/teamlage.js?v=202609241136" defer></script> <script src="assets/js/teamlage.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+15 -15
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/bereich.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -112,15 +112,15 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/teilen.js?v=202609241136" defer></script> <script src="assets/js/teilen.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/treff.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -126,14 +126,14 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/treff-moderation.js?v=202609241136" defer></script> <script src="assets/js/treff-moderation.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -7,18 +7,18 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/treff.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<!-- haus.css MUSS die letzte Stilvorlage sein. Auf der Adresse des <!-- haus.css MUSS die letzte Stilvorlage sein. Auf der Adresse des
Rudels biegt der Server genau diesen Dateinamen auf crew-haus.css Rudels biegt der Server genau diesen Dateinamen auf crew-haus.css
um, und die Seite kommt schon beim ERSTEN Abruf in Lila und um, und die Seite kommt schon beim ERSTEN Abruf in Lila und
Babyblau an -- ohne Umfaerben im Browser, ohne Flackern. --> Babyblau an -- ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -248,14 +248,14 @@
Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen
Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen, Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen,
die seit dem 07.09. jede Seite danach absucht. --> die seit dem 07.09. jede Seite danach absucht. -->
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/auskunft.js?v=202609241136" defer></script> <script src="assets/js/auskunft.js?v=202609241143" defer></script>
<script src="assets/js/treff-regeln.js?v=202609241136" defer></script> <script src="assets/js/treff-regeln.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -12,22 +12,22 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<!-- Formular- und Dialogstile: seit dem 07.09.2026 steht hier der <!-- Formular- und Dialogstile: seit dem 07.09.2026 steht hier der
Dialog "Creator anlegen". --> Dialog "Creator anlegen". -->
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/uebersicht.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -149,16 +149,16 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/uebersicht.js?v=202609241136" defer></script> <script src="assets/js/uebersicht.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+15 -15
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/unsere-seiten.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/unsere-seiten.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -335,14 +335,14 @@
</main> </main>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/live.js?v=202609241136" defer></script> <script src="assets/js/live.js?v=202609241143" defer></script>
<script src="assets/js/unsere-seiten.js?v=202609241136" defer></script> <script src="assets/js/unsere-seiten.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -7,15 +7,15 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/entwicklung.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/werdegang.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/werdegang.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -144,14 +144,14 @@
</main> </main>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/werdegang.js?v=202609241136" defer></script> <script src="assets/js/werdegang.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+15 -15
View File
@@ -12,13 +12,13 @@
vergessen wird. --> vergessen wird. -->
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/willkommen.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/willkommen.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<!-- KOERPERKLASSE "start", NICHT "gate" (berichtigt 21.09.2026). <!-- KOERPERKLASSE "start", NICHT "gate" (berichtigt 21.09.2026).
`body.gate` ist die Anmeldewand: `display:flex; align-items:center`, `body.gate` ist die Anmeldewand: `display:flex; align-items:center`,
@@ -75,13 +75,13 @@
<p class="fehler" id="fehler" hidden></p> <p class="fehler" id="fehler" hidden></p>
</main> </main>
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/willkommen.js?v=202609241136" defer></script> <script src="assets/js/willkommen.js?v=202609241143" defer></script>
</body> </body>
</html> </html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241136" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241136" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/wissen.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/wissen.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609241136" /> <link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head> </head>
<body class="start"> <body class="start">
@@ -190,15 +190,15 @@
</main> </main>
<script src="assets/js/meldung.js?v=202609241136" defer></script> <script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/hochladen.js?v=202609241136" defer></script> <script src="assets/js/hochladen.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241136" defer></script> <script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241136" defer></script> <script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241136" defer></script> <script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241136" defer></script> <script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241136" defer></script> <script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241136" defer></script> <script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/wissen.js?v=202609241136" defer></script> <script src="assets/js/wissen.js?v=202609241143" defer></script>
</body> </body>
</html> </html>