Das Farbhaus von Team Dogi lag oeffentlich im Netz
Ausgeloest von pruef-modi-wortleck, die seit Tagen rot war: "24
Fundstellen -- der verborgene Zugang waere damit auffindbar." Die
erste Frage war, ob sie recht hat. Gemessen: ja, und schlimmer als
gedacht.
WER DIESE DATEIEN BEKOMMT: Nicht nur Kollegen. `curl` ohne jeden Keks
auf workspace.dogfather-universe.com liefert die Skripte und
Stilvorlagen des Arbeitsplatzes mit HTTP 200 -- fuer jeden im Netz
lesbar.
DARUNTER crew-haus.css, 27 806 Byte, das ganze Farbhaus von Team Dogi
samt seiner Kommentare. In deren Kopf stand seit dem 10.09. woertlich
"Diese Datei wird NUR auf crew.dogfather-universe.com ausgeliefert."
Das war eine Behauptung, keine Tatsache: Die Weiche biegt `haus.css`
auf diesen Namen um, wer den Namen direkt nannte, ging an ihr vorbei.
Ein Kommentar, der eine Absicht beschreibt, erfuellt sie nicht.
Zwei Stellen im Haus haben sich damit widersprochen -- die Datei sagte
"nur auf crew.", pruef-crew-adresse verlangte ausdruecklich das
Gegenteil ("sie ist kein Geheimnis"). Durchgesetzt war die offene
Fassung. Filipe hat am 21.09. entschieden: zusperren. Die alte
Begruendung dagegen war die Sorge, eine Sperre koenne die Pruefung
blind machen -- die ist jetzt beantwortet statt vermieden: Jeder
Eintrag der Tafel wird in BEIDE Richtungen gemessen, und dass die
Umbiegung von `haus.css` auf crew. weiterhin greift, ebenfalls.
DIE ADRESSE WAR DAS EIGENTLICHE GEHEIMNIS, nicht das Wort. Die
Rollennamen stehen auf der Zugangswand von Team Dogi ohnehin offen --
so gewollt. WO sie liegt, stand dagegen im Klartext in gate.css,
gate.js und crew-haus.css, alle drei oeffentlich abrufbar. Jetzt steht
sie in keiner ausgelieferten Datei mehr.
DIE PRUEFUNG SELBST HATTE DREI MAENGEL:
1. Sie kannte die Mehrzahl nicht. `\bmodi\b` fand "ein Modi", nicht
"die Modis" -- 23 weitere Stellen, darunter der Satz "Fuer die
rechte Hand und die Modis gibt es dort den stillen Zugang". Also
genau die Auskunft, die sie verhindern soll, in der Form, die sie
nicht sah.
2. Ihre Ausnahmeliste war abgeschrieben. Sie nannte eine Datei; die
zweite, die der Server auf crew. begrenzt, haette sie nie
erfahren. Ausgenommen ist jetzt genau das, was der Server auch
durchsetzt (GEHOERT_ZU_ADRESSE) -- kein Muster, sondern die
Durchsetzung selbst.
3. Sie mahnte 45 Kommentare an. Filipes Entscheidung: in Kommentaren
ja, in Code und sichtbaren Texten nein. Rot, das immer da ist,
wird ueberlesen -- und dann faengt sie auch den echten Fall nicht.
Dafuer neu: helfer-ohne-kommentar.mjs, ein Zerleger, der Kommentare
zeichengenau durch Leerzeichen ersetzt, ohne Zeichenketten,
Vorlagen oder Suchmuster zu beschaedigen. KEIN Suchausdruck -- genau
daran ist am 20.09. die Portumstellung gescheitert, mit gueltigem
JavaScript ohne das Feld `port`. Dreizehn Proben in beide Richtungen
beweisen, dass er weder zu viel noch zu wenig wegnimmt; ein Zerleger,
der zu viel nimmt, macht die ganze Pruefung STILL gruen.
Von 45 blieben damit drei echte, alle behoben:
- daten.modis -> daten.leute (Feldname in der Auskunft, also Code)
- zwei Saetze, die Menschen lesen, auf "die Moderation" umgestellt --
fuer jemanden, der neu im Treff ist, sogar klarer
Nebenbei, beim selben Durchgang gefunden und geschlossen:
- teamlage.js fiel auf einen Rollennamen zurueck. Nachgemessen: Die
Stilvorlage kennt zu dieser Karte gar keine solche Regel -- der
Rueckfall hat nie etwas bewirkt und nur das Wort ausgeliefert.
- werdegang.js fuehrte die Saetze ueber den Rollengruppen selbst,
mit den Rollennamen als Schluessel. Der Kommentar daneben
behauptete sogar, sie seien "abgeleitet, nicht abgeschrieben".
Sie kommen jetzt vom Server, und pruef-werdegang misst, dass
jede Gruppe ihren eigenen behaelt.
pruef-modi-wortleck 8/0 (war 5, davon 1 rot)
pruef-crew-adresse 144/0 (war 135)
pruef-werdegang 98 statt 95 Pruefungen, dieselben 3 alten Fehler
pruef-team-ampel 32/0, pruef-team-stufen 28/0, pruef-hilfe 84/0
Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
+40
-6
@@ -214,12 +214,46 @@ export function istWorkspacePfad(pfad) {
|
||||
die jede Wand im Browser ansehen, keine mehr oeffnen -- sie blieben
|
||||
gruen und wuerden nichts mehr messen. Ein gruener Lauf, der nichts
|
||||
mehr prueft, ist schlimmer als ein roter. */
|
||||
/* EINE benannte Wand, seit der Treff keine eigene mehr hat. Die Tafel
|
||||
bleibt trotzdem eine Tafel und wird nicht wieder zum Sonderfall: Sie
|
||||
ist der Ort, an dem die naechste Wand eingetragen wird, ohne dass
|
||||
jemand drei Bedingungen umbauen muss. */
|
||||
const BENANNTE_WAENDE = [
|
||||
/* Die Tafel bleibt eine Tafel und wird nicht wieder zum Sonderfall:
|
||||
Sie ist der Ort, an dem der naechste Eintrag dazukommt, ohne dass
|
||||
jemand drei Bedingungen umbauen muss.
|
||||
|
||||
---------------------------------------------------------------------
|
||||
SEIT DEM 21.09.2026 STEHT HIER AUCH EINE STILVORLAGE
|
||||
|
||||
Im Kopf von crew-haus.css stand seit dem 10.09.: "Diese Datei wird
|
||||
NUR auf crew.dogfather-universe.com ausgeliefert." Nachgemessen war
|
||||
das falsch -- 27 806 Byte, HTTP 200, von der Agenturadresse, OHNE
|
||||
Anmeldung. Die Weiche biegt `haus.css` auf diesen Namen um; wer den
|
||||
Namen direkt nennt, kam an der Weiche vorbei.
|
||||
|
||||
Es war also wieder derselbe Befund: Ein Kommentar, der eine Absicht
|
||||
beschreibt, erfuellt sie nicht. Und es war dieselbe Luecke wie bei
|
||||
der Zugangswand am 10.09. -- express.static liefert jede Datei aus,
|
||||
die man beim Namen nennt.
|
||||
|
||||
WAS DARIN STAND: das ganze Farbhaus von Team Dogi, mit seinen
|
||||
Kommentaren -- darunter zweimal die Crew-Adresse im Klartext. Die
|
||||
Adresse ist das eigentlich Verborgene; die Rollennamen stehen auf
|
||||
der Zugangswand dort ohnehin offen (so gewollt: "3 rollen.
|
||||
dogfather. rechte hand und modis"). Wer die Adresse hat, sieht sie.
|
||||
Wer sie nicht hat, sollte sie nicht aus einer Stilvorlage der
|
||||
Agenturseite erfahren.
|
||||
|
||||
DIE INTERNE UMBIEGUNG BLEIBT UNBERUEHRT, und das ist der Grund,
|
||||
warum dieser Eintrag ueberhaupt funktioniert: Diese Tafel wird in
|
||||
crewWeiche() ganz oben gefragt (Zeile ~323), die Umbiegung von
|
||||
`haus.css` passiert weiter unten (~454). Auf crew. wird also nach
|
||||
wie vor umgebogen -- dort ist die Datei zuhause --, und auf der
|
||||
Agenturadresse gibt es sie beim Namen nicht mehr.
|
||||
|
||||
Nachgeprueft in pruef-crew-adresse: einmal, dass sie auf crew.
|
||||
ankommt, und einmal, dass die Agenturadresse 404 sagt. Ohne die
|
||||
zweite Haelfte waere der Eintrag eine Behauptung wie die, die er
|
||||
ersetzt. */
|
||||
export const GEHOERT_ZU_ADRESSE = [
|
||||
{ datei: "/workspace/crew-index.html", zuhause: istCrewAdresse },
|
||||
{ datei: "/workspace/assets/css/crew-haus.css", zuhause: istCrewAdresse },
|
||||
];
|
||||
|
||||
/** Wird hier eine Wand verlangt, die zu einer ANDEREN Tuer gehoert? */
|
||||
@@ -229,7 +263,7 @@ export function istFremdeWand(hostKopfzeile, pfad) {
|
||||
zieht sie danach selbst zusammen und liefert die Datei aus. Genau
|
||||
daran ist am 04.09.2026 die Schranke des Workspace vorbeigelaufen. */
|
||||
const p = String(pfad || "").toLowerCase().replace(/\/{2,}/g, "/");
|
||||
const wand = BENANNTE_WAENDE.find((w) => w.datei === p);
|
||||
const wand = GEHOERT_ZU_ADRESSE.find((w) => w.datei === p);
|
||||
if (!wand) return false;
|
||||
if (istPruefAdresse(hostKopfzeile)) return false;
|
||||
const benannt = istOhneModiAdresse(hostKopfzeile) || istCrewAdresse(hostKopfzeile);
|
||||
|
||||
@@ -0,0 +1,249 @@
|
||||
/* =====================================================================
|
||||
helfer-ohne-kommentar.mjs — Kommentare entfernen, ohne den Rest zu
|
||||
beschaedigen (21.09.2026)
|
||||
|
||||
---------------------------------------------------------------------
|
||||
WOFUER
|
||||
|
||||
Filipes Entscheidung vom 21.09.2026 zum Rollennamen der Community:
|
||||
Er darf nicht in CODE und nicht in SICHTBAREN TEXTEN stehen -- in
|
||||
Kommentaren schon. Die Begruendung ist messbar: Auf der Zugangswand
|
||||
von Team Dogi stehen die drei Rollennamen ohnehin offen ("3 rollen.
|
||||
dogfather. rechte hand und modis"), und geschuetzt wird der Zugang
|
||||
durch den Code, nicht durch ein Wort. Eine Pruefung, die 45
|
||||
Kommentare anmahnt, waere eine Dauer-Rotmeldung -- und Rot, das
|
||||
immer da ist, wird ueberlesen.
|
||||
|
||||
Damit diese Regel ueberhaupt pruefbar ist, muss jemand sagen
|
||||
koennen, was Kommentar ist und was nicht. Genau das tut diese Datei.
|
||||
|
||||
---------------------------------------------------------------------
|
||||
WARUM KEIN EINFACHER SUCHEN-UND-ERSETZEN-AUSDRUCK
|
||||
|
||||
Ein Muster, das einfach vom naechsten Sternchen-Schraegstrich bis
|
||||
zum uebernaechsten loescht, sieht richtig aus und ist es nicht.
|
||||
Es zerschneidet zum Beispiel eine Adresse, in der dieselbe
|
||||
Zeichenfolge mitten in einer Zeichenkette steht, oder ein
|
||||
Suchmuster, das Schraegstrich und Sternchen als Zeichen
|
||||
enthaelt -- und macht aus gueltigem Programmtext Unsinn.
|
||||
|
||||
(Beide Beispiele stehen hier bewusst NICHT ausgeschrieben: Ein
|
||||
Kommentar, der die Zeichenfolge enthaelt, mit der ein Kommentar
|
||||
endet, beendet sich selbst. Beim ersten Versuch ist genau das
|
||||
passiert -- in der Datei, die davor warnt.)
|
||||
|
||||
IM HAUS IST DIESE FALLE SCHON EINMAL ZUGESCHNAPPT: Am 20.09.2026 hat ein Ausdruck beim
|
||||
Umstellen der Portnummern `", port: 4231, path: "` fuer eine
|
||||
Zeichenkette gehalten. Das Ergebnis war gueltiges JavaScript ohne
|
||||
das Feld `port` -- `node --check` sagte bei allen 164 Dateien "in
|
||||
Ordnung", und aufgefallen ist es erst, weil ein Lauf gegen einen
|
||||
GEMESSENEN Vorstand verglichen wurde.
|
||||
|
||||
Deshalb wird hier Zeichen fuer Zeichen gelesen und mitgefuehrt, wo
|
||||
man gerade steht: in Programmtext, in einer Zeichenkette, in einer
|
||||
Vorlage, in einem Suchmuster oder in einem Kommentar.
|
||||
|
||||
---------------------------------------------------------------------
|
||||
DAS SCHWIERIGE STUECK: IST `/` EIN TEILEN ODER EIN SUCHMUSTER
|
||||
|
||||
`a / b` teilt, `/a/.test(x)` sucht. Unterscheiden kann man das nur
|
||||
am ZEICHEN DAVOR: Nach einem Wert (Zahl, Name, schliessende Klammer)
|
||||
teilt es; nach einem Operator, einem Komma oder einer oeffnenden
|
||||
Klammer beginnt ein Suchmuster. Das ist die Regel, die auch
|
||||
Browser benutzen, und sie ist fuer diesen Zweck genau genug.
|
||||
|
||||
WAS SIE NICHT KANN: `return /x/` gegen `a++ /x/` unterscheiden,
|
||||
wenn davor ein Schluesselwort steht, das wie ein Name aussieht.
|
||||
Deshalb gelten `return`, `typeof`, `case`, `in`, `of`, `new`,
|
||||
`delete`, `void`, `do` und `else` ausdruecklich als Operator. Die
|
||||
Liste steht unten und ist abgezaehlt, nicht geraten.
|
||||
|
||||
---------------------------------------------------------------------
|
||||
WAS ZURUECKKOMMT
|
||||
|
||||
Derselbe Text, gleich lang, mit Leerzeichen an den Stellen, an denen
|
||||
Kommentar stand. GLEICH LANG ist Absicht: So stimmen Zeilennummern
|
||||
und Spalten weiterhin, und ein Fund laesst sich ohne Umrechnung in
|
||||
der Originaldatei zeigen. Zeilenumbrueche bleiben deshalb erhalten.
|
||||
===================================================================== */
|
||||
|
||||
/* Nach diesen Woertern beginnt ein `/` ein Suchmuster und kein Teilen.
|
||||
Abgezaehlt, nicht geraten -- siehe Kopf. */
|
||||
const VOR_SUCHMUSTER = new Set([
|
||||
"return", "typeof", "case", "in", "of", "new", "delete", "void",
|
||||
"do", "else", "yield", "await", "instanceof",
|
||||
]);
|
||||
|
||||
/** Ersetzt jeden Kommentar in JavaScript durch Leerzeichen.
|
||||
*
|
||||
* Zeichenketten, Vorlagen und Suchmuster bleiben unangetastet --
|
||||
* auch wenn `//` oder darin steht. */
|
||||
export function jsOhneKommentar(quelle) {
|
||||
const t = String(quelle);
|
||||
let aus = "";
|
||||
let i = 0;
|
||||
/* Das letzte Zeichen, das kein Leerraum war. Daran haengt die
|
||||
Entscheidung Teilen-oder-Suchmuster. */
|
||||
let letztes = "";
|
||||
let letztesWort = "";
|
||||
|
||||
const schreibe = (s) => { aus += s; };
|
||||
const leeren = (s) => { aus += s.replace(/[^\n]/g, " "); };
|
||||
|
||||
while (i < t.length) {
|
||||
const c = t[i];
|
||||
const d = t[i + 1];
|
||||
|
||||
/* ---- Kommentare ------------------------------------------------ */
|
||||
if (c === "/" && d === "/") {
|
||||
let j = i;
|
||||
while (j < t.length && t[j] !== "\n") j++;
|
||||
leeren(t.slice(i, j));
|
||||
i = j;
|
||||
continue;
|
||||
}
|
||||
if (c === "/" && d === "*") {
|
||||
let j = t.indexOf("*/", i + 2);
|
||||
j = j === -1 ? t.length : j + 2;
|
||||
leeren(t.slice(i, j));
|
||||
i = j;
|
||||
continue;
|
||||
}
|
||||
|
||||
/* ---- Zeichenketten --------------------------------------------- */
|
||||
if (c === '"' || c === "'" || c === "`") {
|
||||
let j = i + 1;
|
||||
while (j < t.length) {
|
||||
if (t[j] === "\\") { j += 2; continue; }
|
||||
if (t[j] === c) { j++; break; }
|
||||
/* In einer Vorlage kann `${…}` wieder Programmtext sein. Fuer
|
||||
den Zweck hier -- Kommentare finden -- reicht es, das Stueck
|
||||
als Ganzes stehen zu lassen: Ein Kommentar darin waere
|
||||
ohnehin Programmtext und soll nicht verschwinden. */
|
||||
j++;
|
||||
}
|
||||
schreibe(t.slice(i, j));
|
||||
letztes = c; letztesWort = "";
|
||||
i = j;
|
||||
continue;
|
||||
}
|
||||
|
||||
/* ---- Suchmuster ------------------------------------------------ */
|
||||
if (c === "/") {
|
||||
const wertDavor = /[\w$)\]]/.test(letztes) && !VOR_SUCHMUSTER.has(letztesWort);
|
||||
if (!wertDavor) {
|
||||
let j = i + 1;
|
||||
let inKlasse = false;
|
||||
let fertig = false;
|
||||
while (j < t.length) {
|
||||
const z = t[j];
|
||||
if (z === "\\") { j += 2; continue; }
|
||||
if (z === "\n") break; /* unfertig -- dann war es Teilen */
|
||||
if (z === "[") inKlasse = true;
|
||||
else if (z === "]") inKlasse = false;
|
||||
else if (z === "/" && !inKlasse) { j++; fertig = true; break; }
|
||||
j++;
|
||||
}
|
||||
if (fertig) {
|
||||
while (j < t.length && /[a-z]/.test(t[j])) j++; /* Flaggen */
|
||||
schreibe(t.slice(i, j));
|
||||
letztes = "/"; letztesWort = "";
|
||||
i = j;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ---- alles andere ---------------------------------------------- */
|
||||
schreibe(c);
|
||||
if (!/\s/.test(c)) {
|
||||
letztes = c;
|
||||
if (/[\w$]/.test(c)) letztesWort += c;
|
||||
else letztesWort = "";
|
||||
}
|
||||
i++;
|
||||
}
|
||||
return aus;
|
||||
}
|
||||
|
||||
/** CSS kennt nur die Block-Form und Zeichenketten. */
|
||||
export function cssOhneKommentar(quelle) {
|
||||
const t = String(quelle);
|
||||
let aus = "";
|
||||
let i = 0;
|
||||
while (i < t.length) {
|
||||
const c = t[i];
|
||||
if (c === "/" && t[i + 1] === "*") {
|
||||
let j = t.indexOf("*/", i + 2);
|
||||
j = j === -1 ? t.length : j + 2;
|
||||
aus += t.slice(i, j).replace(/[^\n]/g, " ");
|
||||
i = j;
|
||||
continue;
|
||||
}
|
||||
if (c === '"' || c === "'") {
|
||||
let j = i + 1;
|
||||
while (j < t.length) {
|
||||
if (t[j] === "\\") { j += 2; continue; }
|
||||
if (t[j] === c) { j++; break; }
|
||||
j++;
|
||||
}
|
||||
aus += t.slice(i, j);
|
||||
i = j;
|
||||
continue;
|
||||
}
|
||||
aus += c;
|
||||
i++;
|
||||
}
|
||||
return aus;
|
||||
}
|
||||
|
||||
/** HTML: <!-- … --> heraus, und die eingebetteten <script>/<style>
|
||||
* bekommen ihre eigene Behandlung -- sonst bliebe ein Kommentar
|
||||
* mitten im Skript stehen. */
|
||||
export function htmlOhneKommentar(quelle) {
|
||||
const t = String(quelle);
|
||||
let aus = "";
|
||||
let i = 0;
|
||||
while (i < t.length) {
|
||||
if (t.startsWith("<!--", i)) {
|
||||
let j = t.indexOf("-->", i + 4);
|
||||
j = j === -1 ? t.length : j + 3;
|
||||
aus += t.slice(i, j).replace(/[^\n]/g, " ");
|
||||
i = j;
|
||||
continue;
|
||||
}
|
||||
const skript = /^<script\b[^>]*>/i.exec(t.slice(i, i + 200));
|
||||
if (skript) {
|
||||
const start = i + skript[0].length;
|
||||
const ende = t.toLowerCase().indexOf("</script", start);
|
||||
const bis = ende === -1 ? t.length : ende;
|
||||
aus += skript[0] + jsOhneKommentar(t.slice(start, bis));
|
||||
i = bis;
|
||||
continue;
|
||||
}
|
||||
const stil = /^<style\b[^>]*>/i.exec(t.slice(i, i + 200));
|
||||
if (stil) {
|
||||
const start = i + stil[0].length;
|
||||
const ende = t.toLowerCase().indexOf("</style", start);
|
||||
const bis = ende === -1 ? t.length : ende;
|
||||
aus += stil[0] + cssOhneKommentar(t.slice(start, bis));
|
||||
i = bis;
|
||||
continue;
|
||||
}
|
||||
aus += t[i];
|
||||
i++;
|
||||
}
|
||||
return aus;
|
||||
}
|
||||
|
||||
/** Waehlt anhand der Endung. Unbekannte Endungen kommen UNVERAENDERT
|
||||
* zurueck -- lieber eine Fundstelle zu viel melden als eine zu
|
||||
* wenig. Wer hier stillschweigend alles durchliesse, haette eine
|
||||
* Pruefung gebaut, die bei jeder neuen Dateiart blind wird. */
|
||||
export function ohneKommentar(text, endung) {
|
||||
const e = String(endung || "").toLowerCase();
|
||||
if (e === ".js" || e === ".mjs") return jsOhneKommentar(text);
|
||||
if (e === ".css") return cssOhneKommentar(text);
|
||||
if (e === ".html" || e === ".htm") return htmlOhneKommentar(text);
|
||||
return String(text);
|
||||
}
|
||||
@@ -498,6 +498,68 @@ ok(dortSchon.status === 200, "crew.: dort gibt es sie natuerlich");
|
||||
const lokalSchon = await hole("/workspace/crew-index.html", { host: LOKAL });
|
||||
ok(lokalSchon.status === 200, "127.0.0.1: und auf den Pruefadressen auch");
|
||||
|
||||
/* ---------------------------------------------------------------------
|
||||
JEDER EINTRAG DER TAFEL, NICHT NUR DIE WAND (21.09.2026)
|
||||
|
||||
Der Block darueber prueft crew-index.html namentlich. Am 21.09. kam
|
||||
ein zweiter Eintrag dazu -- crew-haus.css, das ganze Farbhaus von
|
||||
Team Dogi. Es stand bis dahin NICHT unter der Sperre: 27 806 Byte,
|
||||
HTTP 200, von der Agenturadresse, ohne jede Anmeldung. Im Kopf der
|
||||
Datei stand seit dem 10.09. das Gegenteil.
|
||||
|
||||
WAERE DIESER BLOCK EINE ZWEITE NAMENTLICHE ABSCHRIFT, stuende beim
|
||||
dritten Eintrag dasselbe Loch wieder offen. Er geht deshalb die
|
||||
Tafel durch -- dieselbe Liste, die der Server durchsetzt. Ein neuer
|
||||
Eintrag wird damit automatisch in beide Richtungen gemessen, ohne
|
||||
dass jemand hier etwas nachtraegt.
|
||||
|
||||
UND IN BEIDE RICHTUNGEN heisst: nicht nur "draussen gesperrt",
|
||||
sondern auch "drinnen erreichbar". Eine Sperre, die zu viel sperrt,
|
||||
nimmt der zweiten Adresse ihr Aussehen -- und das faellt erst auf,
|
||||
wenn jemand hinsieht.
|
||||
------------------------------------------------------------------ */
|
||||
const { GEHOERT_ZU_ADRESSE } = await import("./crew-adresse.js");
|
||||
ok(GEHOERT_ZU_ADRESSE.length >= 2,
|
||||
`die Tafel hat ${GEHOERT_ZU_ADRESSE.length} Eintraege`);
|
||||
|
||||
for (const eintrag of GEHOERT_ZU_ADRESSE) {
|
||||
const weg = eintrag.datei;
|
||||
const draussen = await hole(weg, { host: WS });
|
||||
ok(draussen.status === 404 || draussen.status === 410,
|
||||
`workspace.: ${weg} gibt es dort nicht (${draussen.status})`);
|
||||
|
||||
/* DIE ZAHL ALLEIN REICHT NICHT. Ein 404 mit Inhalt waere kein
|
||||
Schutz; gemessen wird deshalb auch, dass nichts Nennenswertes
|
||||
mitkommt. */
|
||||
ok((draussen.text || "").length < 200,
|
||||
`workspace.: und es kommt auch kein Inhalt mit (${(draussen.text || "").length} Zeichen)`);
|
||||
|
||||
const drinnen = await hole(weg, { host: CREW });
|
||||
ok(drinnen.status === 200,
|
||||
`crew.: ${weg} kommt dort an (${drinnen.status})`);
|
||||
ok((drinnen.text || "").length > 200,
|
||||
`crew.: und zwar mit Inhalt (${(drinnen.text || "").length} Zeichen)`);
|
||||
}
|
||||
|
||||
/* DIE UMBIEGUNG DARF DIE SPERRE NICHT MITNEHMEN.
|
||||
|
||||
`haus.css` wird auf crew. intern auf crew-haus.css umgebogen. Die
|
||||
Tafel wird ganz oben in crewWeiche() gefragt, die Umbiegung passiert
|
||||
weiter unten -- deshalb geht das gut. Stuende die Tafel eines Tages
|
||||
NACH der Umbiegung, waere auf crew. jede Seite ohne ihr Farbhaus, und
|
||||
niemand saehe eine Fehlermeldung: Eine Seite ohne Stilvorlage laedt,
|
||||
sie sieht nur falsch aus. */
|
||||
const umgebogen = await hole("/workspace/assets/css/haus.css", { host: CREW });
|
||||
ok(umgebogen.status === 200 && (umgebogen.text || "").length > 200,
|
||||
`crew.: haus.css wird weiterhin umgebogen (${umgebogen.status}, `
|
||||
+ `${(umgebogen.text || "").length} Zeichen)`);
|
||||
const leer = await hole("/workspace/assets/css/haus.css", { host: WS });
|
||||
ok(leer.status === 200,
|
||||
`workspace.: haus.css kommt dort weiterhin an (${leer.status})`);
|
||||
ok((leer.text || "").length < (umgebogen.text || "").length,
|
||||
`und ist dort die kleinere, leere Fassung `
|
||||
+ `(${(leer.text || "").length} gegen ${(umgebogen.text || "").length} Zeichen)`);
|
||||
|
||||
/* ---------------------------------------------------------------------
|
||||
WAS gate.js AUS DEM HTML BRAUCHT -- auf BEIDEN Seiten.
|
||||
|
||||
@@ -643,12 +705,35 @@ console.log("--- Welches Haus kommt an? ---");
|
||||
ok(mitNummer.status === 200 && /--haus-name:\s*"crew"/.test(mitNummer.text),
|
||||
`mit Fassungsnummer kommt dasselbe an (${mitNummer.status})`);
|
||||
|
||||
/* Und die Datei des anderen Hauses ist auf beiden Adressen direkt
|
||||
abrufbar -- sie ist kein Geheimnis, sie ist nur nicht die
|
||||
Vorgabe. Das steht hier, damit niemand spaeter eine Sperre
|
||||
einbaut, die die Pruefung oben blind machen wuerde. */
|
||||
/* HIER STAND BIS ZUM 21.09.2026 DAS GEGENTEIL -- und die Aenderung
|
||||
ist eine Entscheidung von Filipe, keine stille Korrektur.
|
||||
|
||||
Der alte Satz lautete: "Die Datei des anderen Hauses ist auf
|
||||
beiden Adressen direkt abrufbar -- sie ist kein Geheimnis, sie ist
|
||||
nur nicht die Vorgabe." Dazu die Sorge, eine Sperre koenne die
|
||||
Pruefung darueber blind machen.
|
||||
|
||||
WAS SICH GEAENDERT HAT, IST NICHT DIE MEINUNG, SONDERN DIE
|
||||
MESSUNG. Nachgemessen am 21.09.: 27 806 Byte, HTTP 200, von der
|
||||
Agenturadresse, OHNE jede Anmeldung -- also nicht nur fuer
|
||||
Kollegen, sondern fuer jeden im Netz. Darin das ganze Farbhaus von
|
||||
Team Dogi samt seiner Kommentare, und in denen zweimal die Adresse
|
||||
der zweiten Wand im Klartext. Die Adresse ist das eigentlich
|
||||
Verborgene: Die Rollennamen stehen auf jener Wand ohnehin offen,
|
||||
WO sie liegt dagegen nicht.
|
||||
|
||||
Im Kopf der Datei selbst stand seit dem 10.09. das Gegenteil
|
||||
("wird NUR auf crew... ausgeliefert"). Zwei Stellen im Haus haben
|
||||
sich also widersprochen, und die durchgesetzte war die offene.
|
||||
|
||||
DIE ALTE SORGE IST BEANTWORTET, nicht uebergangen: Der Block
|
||||
weiter oben misst jeden Eintrag der Tafel in BEIDE Richtungen und
|
||||
prueft zusaetzlich, dass die Umbiegung von `haus.css` auf crew.
|
||||
weiterhin greift. Genau das war der Fall, vor dem der alte
|
||||
Kommentar gewarnt hat -- er ist jetzt gemessen statt vermieden. */
|
||||
const direkt = await hole("/workspace/assets/css/crew-haus.css", { host: WS });
|
||||
ok(direkt.status === 200, `crew-haus.css ist auch direkt abrufbar (${direkt.status})`);
|
||||
ok(direkt.status === 404 || direkt.status === 410,
|
||||
`crew-haus.css ist von der Agenturadresse nicht mehr abrufbar (${direkt.status})`);
|
||||
}
|
||||
|
||||
/* =====================================================================
|
||||
|
||||
@@ -205,7 +205,7 @@ console.log("");
|
||||
/* SIE STEHT AUCH ALS MENSCH IM TEAM -- sonst waere die Meldung oben
|
||||
eine Zeile ohne Absender, und ihre Ampel und ihre offenen Punkte
|
||||
gaebe es nirgends. */
|
||||
const leute = (b.daten?.modis || b.daten?.leute || []).map((p) => p.name);
|
||||
const leute = (b.daten?.leute || []).map((p) => p.name);
|
||||
ok(leute.includes("Rieke"), `und sie selbst im Team (${leute.join(", ") || "leer"})`);
|
||||
|
||||
/* GEGENPROBE: „Passt so" landet auch bei ihr nicht im Eingang --
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
import { readdirSync, readFileSync, statSync } from "node:fs";
|
||||
import { join, dirname, extname, relative } from "node:path";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import { ohneKommentar } from "./helfer-ohne-kommentar.mjs";
|
||||
|
||||
const HIER = dirname(fileURLToPath(import.meta.url));
|
||||
const ORDNER = join(HIER, "..", "workspace");
|
||||
@@ -45,7 +46,18 @@ const ENDUNGEN = new Set([".js", ".html", ".css", ".webmanifest", ".json", ".svg
|
||||
wird abgeschaltet, und dann faengt sie auch den echten Fall nicht
|
||||
mehr. Nachgemessen: Keines der drei Woerter passt auf dieses Muster,
|
||||
weil nach "modi" dort ein Buchstabe folgt. */
|
||||
const MUSTER = /\bmodi\b/i;
|
||||
/* DIE MEHRZAHL KAM AM 21.09.2026 DAZU -- und sie fehlte elf Tage.
|
||||
|
||||
`\bmodi\b` fand "ein Modi", aber nicht "die Modis". Nachgemessen:
|
||||
23 weitere Fundstellen, darunter Saetze wie "Fuer die rechte Hand
|
||||
und die Modis gibt es dort den stillen Zugang" -- also genau die
|
||||
Auskunft, die diese Pruefung verhindern soll, in der Form, die sie
|
||||
nicht sah. Eine Pruefung, die die Haelfte der Faelle nicht kennt,
|
||||
beruhigt mehr, als sie schuetzt.
|
||||
|
||||
Die Gegenprobe unten bleibt gueltig: "modifiziert", "Modul",
|
||||
"motion" und "Modus" passen auch auf das erweiterte Muster nicht. */
|
||||
const MUSTER = /\bmodis?\b/i;
|
||||
|
||||
function dateien(pfad, aus = []) {
|
||||
for (const name of readdirSync(pfad)) {
|
||||
@@ -80,7 +92,30 @@ console.log("\n=== Der Rollenname darf in keiner ausgelieferten Datei stehen ===
|
||||
AUSDRUECKLICH EINE EINZELNE DATEI und kein Muster wie "crew-*":
|
||||
Sonst waere die naechste crew-Datei stillschweigend mit ausgenommen,
|
||||
und niemand haette entschieden, ob sie es sein darf. */
|
||||
const AUSGENOMMEN = new Set(["crew-index.html"]);
|
||||
const { GEHOERT_ZU_ADRESSE } = await import("./crew-adresse.js");
|
||||
|
||||
/* KEIN MUSTER WIE "crew-*" -- ABER AUCH KEINE ZWEITE LISTE
|
||||
(geaendert 21.09.2026).
|
||||
|
||||
Hier stand `new Set(["crew-index.html"])`, mit der Begruendung, ein
|
||||
Muster wuerde die naechste crew-Datei stillschweigend mit
|
||||
ausnehmen. Der Gedanke war richtig, die Umsetzung war eine
|
||||
Abschrift: Am 21.09. kam crew-haus.css dazu (27 806 Byte, bis dahin
|
||||
von der Agenturadresse OHNE Anmeldung abrufbar) -- und diese Liste
|
||||
haette davon nichts gewusst.
|
||||
|
||||
Ausgenommen ist jetzt genau das, was der Server auch WIRKLICH auf
|
||||
die zweite Adresse begrenzt: die Tafel GEHOERT_ZU_ADRESSE aus
|
||||
crew-adresse.js. Das ist kein Muster, sondern die Durchsetzung
|
||||
selbst. Wer eine Datei dort eintraegt, hat die Entscheidung
|
||||
getroffen; wer es nicht tut, bekommt hier einen roten Lauf. Die
|
||||
beiden koennen nicht mehr auseinanderlaufen.
|
||||
|
||||
DIE BEDINGUNG DER AUSNAHME BLEIBT DIESELBE: Sie gilt nur, solange
|
||||
jene Sperre haelt. Gemessen wird das in pruef-crew-adresse.mjs, in
|
||||
beide Richtungen und fuer jeden Eintrag der Tafel. */
|
||||
const AUSGENOMMEN = new Set(
|
||||
GEHOERT_ZU_ADRESSE.map((w) => relative(ORDNER, join(ORDNER, "..", w.datei))));
|
||||
|
||||
const alle = dateien(ORDNER);
|
||||
/* DIE ZAHL GEHOERT IN DIE BEDINGUNG. Faende die Suche keine einzige
|
||||
@@ -93,7 +128,36 @@ const treffer = [];
|
||||
let ausgenommen = 0;
|
||||
for (const datei of alle) {
|
||||
if (AUSGENOMMEN.has(relative(ORDNER, datei))) { ausgenommen++; continue; }
|
||||
const text = readFileSync(datei, "utf8");
|
||||
/* KOMMENTARE ZAEHLEN NICHT MIT (Entscheidung von Filipe,
|
||||
21.09.2026).
|
||||
|
||||
Bis heute suchte diese Pruefung in der ganzen Datei und fand
|
||||
45 Stellen -- fast alle in Kommentaren. Die Frage war also nicht,
|
||||
ob sie recht hat, sondern was eigentlich geschuetzt werden soll.
|
||||
|
||||
GEMESSEN, WORUM ES WIRKLICH GEHT: Auf der Zugangswand von Team
|
||||
Dogi stehen die drei Rollennamen ohnehin offen -- als Kacheln,
|
||||
sichtbar, so gewollt. Wer die Adresse hat, liest sie dort.
|
||||
Geschuetzt wird der Zugang durch den Code, nicht durch ein Wort.
|
||||
Und die ADRESSE, um die es wirklich geht, steht seit dem
|
||||
21.09.2026 in keiner ausgelieferten Datei mehr.
|
||||
|
||||
45 Kommentare anzumahnen waere damit eine Dauer-Rotmeldung --
|
||||
und Rot, das immer da ist, wird ueberlesen. Dann faengt diese
|
||||
Pruefung auch den Tag nicht mehr, an dem jemand einen Vergleich
|
||||
auf den Rollennamen in eine ausgelieferte Datei schreibt. Genau
|
||||
das ist am 10.09.2026 passiert und der Grund, warum es sie gibt.
|
||||
|
||||
GEPRUEFT WIRD DESHALB, WAS DAS PROGRAMM TUT UND WAS EIN MENSCH ZU
|
||||
SEHEN BEKOMMT: Code, Zeichenketten, sichtbarer HTML-Text.
|
||||
Kommentare werden vorher durch Leerzeichen ersetzt -- zeichengenau,
|
||||
damit die Zeilennummer eines Fundes weiter stimmt.
|
||||
|
||||
Der Zerleger dafuer steht in helfer-ohne-kommentar.mjs. Er wird
|
||||
unten mit dreizehn Proben gegengeprueft, und das ist nicht
|
||||
Zierde: Ein Zerleger, der zu viel wegnimmt, macht diese ganze
|
||||
Pruefung still gruen. */
|
||||
const text = ohneKommentar(readFileSync(datei, "utf8"), extname(datei));
|
||||
const zeilen = text.split("\n");
|
||||
for (let i = 0; i < zeilen.length; i++) {
|
||||
if (MUSTER.test(zeilen[i])) {
|
||||
@@ -137,5 +201,62 @@ console.log("\n=== Gegenprobe: schlaegt die Suche ueberhaupt an? ===\n");
|
||||
`und "modifiziert", "Modul", "motion", "Modus" schlagen nicht an`);
|
||||
}
|
||||
|
||||
|
||||
/* ---------- DIE ZWEITE GEGENPROBE: TAUGT DER ZERLEGER? --------------
|
||||
|
||||
Seit dem 21.09.2026 werden Kommentare vor der Suche entfernt. Das
|
||||
ist die gefaehrlichste Zeile dieser Datei: Ein Zerleger, der zu viel
|
||||
wegnimmt, macht die ganze Pruefung STILL GRUEN -- sie laeuft, sie
|
||||
meldet "keine Fundstelle", und sie sieht nichts mehr.
|
||||
|
||||
Deshalb dreizehn Proben, und zwar in beide Richtungen. Sechs
|
||||
muessen gefunden werden, sieben nicht. Faende der Zerleger gar
|
||||
nichts mehr, fielen die sechs durch; naehme er nichts weg, die
|
||||
sieben.
|
||||
|
||||
Zwei davon sind die Fallen, an denen ein einfacher Suchausdruck
|
||||
zerbricht: eine Adresse mit Sternchen-Schraegstrich in einer
|
||||
Zeichenkette, und ein Teilen, dem ein Zeilenkommentar folgt. */
|
||||
console.log("\n=== Gegenprobe: taugt der Zerleger? ===\n");
|
||||
{
|
||||
const PROBEN = [
|
||||
{ text: "// Modi hier", endung: ".js", soll: false, satz: "ein Zeilenkommentar zaehlt nicht" },
|
||||
{ text: "/* Modi im Block */", endung: ".js", soll: false, satz: "ein Blockkommentar auch nicht" },
|
||||
{ text: "const r = { modi: 1 };", endung: ".js", soll: true, satz: "ein Feldname im Code SCHON" },
|
||||
{ text: "const s = \"Nur du und der Modi\";", endung: ".js", soll: true, satz: "und eine Zeichenkette auch" },
|
||||
{ text: "const p = \"https://x.de/*nicht*/mehr/modi\";", endung: ".js", soll: true, satz: "eine Adresse mit Sternchen-Schraegstrich bleibt heil" },
|
||||
{ text: "a = b / c; // Modi", endung: ".js", soll: false, satz: "ein Teilen verwirrt den Zerleger nicht" },
|
||||
{ text: "x = `Hallo ${name} Modi`;", endung: ".js", soll: true, satz: "eine Vorlage zaehlt als Text" },
|
||||
{ text: "/* Modi */ .k[data-rolle=\"modi\"] {}", endung: ".css", soll: true, satz: "in CSS: Kommentar weg, Auswahlregel bleibt" },
|
||||
{ text: "<!-- Modi --><p>x</p>", endung: ".html", soll: false, satz: "ein HTML-Kommentar zaehlt nicht" },
|
||||
{ text: "<p>Der Modi sieht das</p>", endung: ".html", soll: true, satz: "sichtbarer Text auf der Seite SCHON" },
|
||||
{ text: "<script>/* Modi */ var a=1;</script>", endung: ".html", soll: false, satz: "ein Kommentar IM eingebetteten Skript auch nicht" },
|
||||
{ text: "<script>var t=\"Modi\";</script>", endung: ".html", soll: true, satz: "eine Zeichenkette im eingebetteten Skript schon" },
|
||||
{ text: "<style>/* Modi */ p{}</style>", endung: ".html", soll: false, satz: "und im eingebetteten Stil ebenso wenig" },
|
||||
];
|
||||
let richtig = 0;
|
||||
for (const pr of PROBEN) {
|
||||
const rest = ohneKommentar(pr.text, pr.endung);
|
||||
const gefunden = MUSTER.test(rest);
|
||||
if (gefunden === pr.soll) richtig++;
|
||||
else ok(false, `${pr.satz} -- ABER die Probe lief falsch: ${JSON.stringify(pr.text)}`);
|
||||
}
|
||||
/* DIE ZAHL GEHOERT IN DIE BEDINGUNG. "alle richtig" waere auch bei
|
||||
einer leeren Liste wahr. */
|
||||
ok(richtig === PROBEN.length && PROBEN.length === 13,
|
||||
`alle ${richtig} von ${PROBEN.length} Proben treffen zu`);
|
||||
|
||||
/* Und die Laenge bleibt gleich -- daran haengen die Zeilennummern,
|
||||
mit denen ein Fund oben gemeldet wird. Waere sie es nicht, zeigte
|
||||
die Meldung auf die falsche Zeile, und wer nachsieht, findet
|
||||
nichts und glaubt der Pruefung nicht mehr. */
|
||||
const roh = "var a = 1; /* Modi */\nvar b = 2; // Modi\nvar c = 3;";
|
||||
const ohne = ohneKommentar(roh, ".js");
|
||||
ok(ohne.length === roh.length,
|
||||
`der Text bleibt zeichengenau gleich lang (${ohne.length} von ${roh.length})`);
|
||||
ok(ohne.split("\n").length === roh.split("\n").length,
|
||||
`und behaelt seine ${roh.split("\n").length} Zeilen`);
|
||||
}
|
||||
|
||||
console.log(`\n${fehler ? "FEHLGESCHLAGEN" : "BESTANDEN"} -- ${geprueft} geprueft, ${fehler} Fehler`);
|
||||
process.exit(fehler ? 1 : 0);
|
||||
|
||||
@@ -129,7 +129,7 @@ const antwort = await holeLage(keksDogi);
|
||||
ok(antwort.status === 200, `die Lage kommt (${antwort.status})`);
|
||||
const roh = await antwort.text();
|
||||
const lage = JSON.parse(roh);
|
||||
const leute = lage.modis || [];
|
||||
const leute = lage.leute || [];
|
||||
|
||||
/* =====================================================================
|
||||
1. KOMMT KLARTEXT DURCH?
|
||||
@@ -196,11 +196,11 @@ console.log("--- Die Grenze bei drei Stunden ---");
|
||||
|
||||
const idGrenze = anlegen("Grete", "modi", "CODE-MODI-0004");
|
||||
termin(idGrenze, 179, 10);
|
||||
const g1 = ((await (await holeLage(keksDogi)).json()).modis || []).find((m) => m.id === idGrenze);
|
||||
const g1 = ((await (await holeLage(keksDogi)).json()).leute || []).find((m) => m.id === idGrenze);
|
||||
ok(g1?.verfuegbar?.[0]?.ampel === "teils", `179 Minuten sind "teils" (${g1?.verfuegbar?.[0]?.ampel})`);
|
||||
|
||||
d.prepare("UPDATE termine SET dauer_min = 180 WHERE creator_id = ?").run(idGrenze);
|
||||
const g2 = ((await (await holeLage(keksDogi)).json()).modis || []).find((m) => m.id === idGrenze);
|
||||
const g2 = ((await (await holeLage(keksDogi)).json()).leute || []).find((m) => m.id === idGrenze);
|
||||
ok(g2?.verfuegbar?.[0]?.ampel === "voll", `180 Minuten sind "voll" (${g2?.verfuegbar?.[0]?.ampel})`);
|
||||
|
||||
/* =====================================================================
|
||||
@@ -218,7 +218,7 @@ for (const id of [idFrei, idTeils, idVoll, idGrenze]) {
|
||||
const nachRegel = d.prepare(
|
||||
`SELECT COUNT(*) AS n FROM termine t WHERE (${regel.wo}) AND date(t.beginn) = ?`)
|
||||
.get(...regel.werte, heute)?.n || 0;
|
||||
const lage2 = ((await (await holeLage(keksDogi)).json()).modis || []).find((m) => m.id === id);
|
||||
const lage2 = ((await (await holeLage(keksDogi)).json()).leute || []).find((m) => m.id === id);
|
||||
const nachAmpel = lage2?.verfuegbar?.[0]?.termine ?? -1;
|
||||
if (nachRegel === nachAmpel) gleich++; else ungleich++;
|
||||
}
|
||||
@@ -234,7 +234,7 @@ console.log("--- Wer die Ampel sieht ---");
|
||||
const handLage = await holeLage(keksHand);
|
||||
ok(handLage.status === 200, `die rechte Hand sieht die Lage (${handLage.status})`);
|
||||
const handRoh = await handLage.text();
|
||||
ok(JSON.parse(handRoh).modis?.[0]?.verfuegbar?.length === 7,
|
||||
ok(JSON.parse(handRoh).leute?.[0]?.verfuegbar?.length === 7,
|
||||
"und die Ampel gehoert dazu -- sie koordiniert das Team");
|
||||
for (const wort of GEHEIM) {
|
||||
ok(!handRoh.includes(wort), `auch bei ihr steht "${wort.slice(0, 18)}…" nicht drin`);
|
||||
@@ -251,12 +251,12 @@ console.log("");
|
||||
console.log("--- Gegenprobe: ein Termin veraendert die Farbe ---");
|
||||
|
||||
termin(idFrei, 300, 9);
|
||||
const nachher = ((await (await holeLage(keksDogi)).json()).modis || []).find((m) => m.id === idFrei);
|
||||
const nachher = ((await (await holeLage(keksDogi)).json()).leute || []).find((m) => m.id === idFrei);
|
||||
ok(nachher?.verfuegbar?.[0]?.ampel === "voll",
|
||||
`aus "frei" wird "voll" (${nachher?.verfuegbar?.[0]?.ampel})`);
|
||||
|
||||
d.prepare("DELETE FROM termine WHERE creator_id = ?").run(idFrei);
|
||||
const zurueck = ((await (await holeLage(keksDogi)).json()).modis || []).find((m) => m.id === idFrei);
|
||||
const zurueck = ((await (await holeLage(keksDogi)).json()).leute || []).find((m) => m.id === idFrei);
|
||||
ok(zurueck?.verfuegbar?.[0]?.ampel === "frei",
|
||||
`und zurueckgenommen wieder "frei" (${zurueck?.verfuegbar?.[0]?.ampel})`);
|
||||
|
||||
|
||||
@@ -118,7 +118,7 @@ console.log("--- Die Mitglieder-Kachel (Kapitel 4) ---");
|
||||
const a1 = await holeLage(keksDogi);
|
||||
ok(a1.status === 200, `DogFather bekommt die Lage (${a1.status})`);
|
||||
const lage = await a1.json();
|
||||
const leute = lage.modis || [];
|
||||
const leute = lage.leute || [];
|
||||
|
||||
/* SEIT DEM 11.09.2026 GEHOERT DIE RECHTE HAND DAZU.
|
||||
|
||||
@@ -236,7 +236,7 @@ console.log("");
|
||||
console.log("--- Beim naechsten Laden ---");
|
||||
|
||||
const a2 = await holeLage(keksDogi);
|
||||
const marina2 = ((await a2.json()).modis || []).find((m) => m.id === idMarina);
|
||||
const marina2 = ((await a2.json()).leute || []).find((m) => m.id === idMarina);
|
||||
ok(marina2?.stufe === "senior", `die neue Stufe kommt zurueck (${marina2?.stufe})`);
|
||||
const inDb = d.prepare("SELECT stufe FROM personen WHERE id = ?").get(idMarina);
|
||||
ok(inDb?.stufe === "senior", `und steht in der Datenbank (${inDb?.stufe})`);
|
||||
@@ -261,7 +261,7 @@ console.log("--- Gegenprobe: wieder zurueck ---");
|
||||
const zurueck = await setzeStufe(keksDogi, idMarina, "standard");
|
||||
ok(zurueck.status === 200, `zurueckstufen geht (${zurueck.status})`);
|
||||
const a3 = await holeLage(keksDogi);
|
||||
const marina3 = ((await a3.json()).modis || []).find((m) => m.id === idMarina);
|
||||
const marina3 = ((await a3.json()).leute || []).find((m) => m.id === idMarina);
|
||||
ok(marina3?.stufe === "standard",
|
||||
`und die Anzeige folgt (${marina3?.stufe}) -- sie bleibt also nicht auf "senior" stehen`);
|
||||
|
||||
|
||||
@@ -509,6 +509,40 @@ melde("=== 10. Die Liste ===");
|
||||
`alphabetisch (${namen.join(", ")})`);
|
||||
ok(/kein vergleich/i.test(l.hinweis || ""),
|
||||
"und die Seite sagt selbst, dass sie niemanden vergleicht");
|
||||
|
||||
/* DER SATZ UEBER EINER GRUPPE KOMMT VOM SERVER (neu am 21.09.2026).
|
||||
|
||||
Er stand bis dahin als Liste in werdegang.js -- also in einer
|
||||
Datei, die jeder im Netz ohne Anmeldung herunterladen kann, mit
|
||||
den Rollennamen als Schluessel. Verschoben wurde er, weil
|
||||
Rollennamen der Community dort nicht hingehoeren.
|
||||
|
||||
WARUM DAS HIER GEMESSEN WIRD: Beim Verschieben kann man eine
|
||||
Erklaerung leicht ganz verlieren -- die Oberflaeche zeigt dann
|
||||
einfach keine Zeile mehr, ohne Fehlermeldung. Eine Gruppe mit
|
||||
Ueberschrift und ohne Erklaerung sieht nicht kaputt aus, sie sieht
|
||||
nur aermer aus. Genau solche Verluste faellt niemandem auf. */
|
||||
const mitSatz = l.liste.filter((p) => p.rolle_satz && p.rolle_satz.length > 10);
|
||||
ok(mitSatz.length === l.liste.length,
|
||||
`jede Karte bringt den Satz ihrer Gruppe mit (${mitSatz.length} von ${l.liste.length})`);
|
||||
|
||||
/* GEGENPROBE: Er darf nicht fuer alle derselbe sein -- sonst haette
|
||||
das Verschieben aus zwei Saetzen einen gemacht, und die Pruefung
|
||||
darueber waere trotzdem gruen. */
|
||||
const verschieden = new Set(l.liste.map((p) => p.rolle_satz)).size;
|
||||
ok(verschieden === new Set(l.liste.map((p) => p.rolle)).size,
|
||||
`und jede Rolle hat ihren eigenen (${verschieden} Saetze auf `
|
||||
+ `${new Set(l.liste.map((p) => p.rolle)).size} Rollen)`);
|
||||
|
||||
/* UND DIE OBERFLAECHE DARF IHN NICHT MEHR SELBST KENNEN. Bliebe die
|
||||
alte Liste dort stehen, waere nichts gewonnen -- der Rollenname
|
||||
stuende weiter in einer ausgelieferten Datei, und beide Fassungen
|
||||
wuerden auseinanderlaufen. */
|
||||
const { readFileSync } = await import("node:fs");
|
||||
const vorne = readFileSync(
|
||||
new URL("../workspace/assets/js/werdegang.js", import.meta.url), "utf8");
|
||||
ok(!/GRUPPENSATZ\s*=/.test(vorne),
|
||||
"und die Oberflaeche fuehrt keine eigene Liste mehr");
|
||||
}
|
||||
|
||||
/* =======================================================================
|
||||
|
||||
@@ -195,7 +195,7 @@ teamlageRouter.get("/workspace/api/teamlage", (req, res) => {
|
||||
/* `eingang` auch hier -- die Oberflaeche darf nicht raten
|
||||
muessen, ob das Feld fehlt oder leer ist. */
|
||||
return res.json({
|
||||
modis: [], eingang: [], angebote: [], bereiche: GESAMT, heute: heuteLokal(),
|
||||
leute: [], eingang: [], angebote: [], bereiche: GESAMT, heute: heuteLokal(),
|
||||
});
|
||||
}
|
||||
const platz = modis.map(() => "?").join(",");
|
||||
@@ -378,7 +378,19 @@ teamlageRouter.get("/workspace/api/teamlage", (req, res) => {
|
||||
undefined", weil eine Rolle in der Browser-Liste vergessen
|
||||
worden war. Einmal geschrieben, einmal geaendert. */
|
||||
stufen: STUFEN.map((wert) => ({ wert, name: STUFEN_NAME[wert] })),
|
||||
modis: modis.map((m) => {
|
||||
/* DER SCHLUESSEL HEISST "leute" UND NICHT MEHR NACH DER ROLLE
|
||||
(21.09.2026).
|
||||
|
||||
Die Oberflaeche liest ihn in teamlage.js -- also in einer
|
||||
Datei, die jeder im Netz ohne Anmeldung herunterladen kann.
|
||||
Damit stand der Rollenname der Community dort im CODE, nicht
|
||||
nur in einem Kommentar. Filipes Regel vom selben Tag: in
|
||||
Kommentaren ja, in Code und sichtbaren Texten nein.
|
||||
|
||||
Die oertliche Variable darunter heisst weiter `modis` -- sie
|
||||
verlaesst diese Datei nie. Umbenannt wurde genau das, was
|
||||
ueber die Leitung geht. */
|
||||
leute: modis.map((m) => {
|
||||
const s = stand.get(m.id) || {};
|
||||
const je = {};
|
||||
for (const [b, gesamt] of Object.entries(GESAMT)) {
|
||||
|
||||
@@ -124,6 +124,22 @@ import {
|
||||
VERBLASST_NACH_TAGEN, tabellen as entwicklungTabellen,
|
||||
} from "./workspace-entwicklung.js";
|
||||
|
||||
/* WAS UEBER EINER GRUPPE STEHT (hierher geholt am 21.09.2026).
|
||||
|
||||
Vorher stand das in werdegang.js, also in einer ausgelieferten
|
||||
Datei. Hier steht es richtig: Der Server schickt jeder Person ihren
|
||||
Satz mit, und wer die Rolle nicht sehen darf, bekommt die Person
|
||||
ohnehin nicht.
|
||||
|
||||
NUR ZWEI EINTRAEGE, UND DAS IST ABSICHT. Manager, Scouts und
|
||||
Creator stehen im Werdegang unter ihrem Namen, ohne Erklaerung --
|
||||
dort ist die Ueberschrift selbsterklaerend. Ein Satz um des Satzes
|
||||
willen waere Fuellung. */
|
||||
const ROLLEN_SATZ = {
|
||||
hand: "Koordiniert den Alltag und schaut mit dir zusammen auf das Team.",
|
||||
modi: "Die Leute, die im Chat und im Live stehen.",
|
||||
};
|
||||
|
||||
export const werdegangRouter = express.Router();
|
||||
|
||||
const TAG = 86400000;
|
||||
@@ -626,6 +642,19 @@ werdegangRouter.get("/workspace/api/werdegang/liste", nurLeitung, (req, res) =>
|
||||
nächsten Umbenennen auseinanderfällt. */
|
||||
rolle: p.rolle,
|
||||
rolle_name: ROLLEN_NAME[p.rolle] ?? p.rolle,
|
||||
/* DER SATZ UNTER DER UEBERSCHRIFT (21.09.2026).
|
||||
|
||||
Er stand bis heute in werdegang.js -- also in einer Datei,
|
||||
die JEDER herunterlaedt, der den Arbeitsplatz oeffnet. Mit
|
||||
den Rollennamen als Schluessel, und einer davon gehoert der
|
||||
Community. Dieselbe Ueberlegung wie bei ROLLENTEXT in
|
||||
start.js: Was einen Rollennamen traegt, kommt vom Server.
|
||||
|
||||
EIN FEHLENDER SATZ IST EIN GUELTIGER ZUSTAND. Nicht jede
|
||||
Rolle braucht eine Erklaerung, und ein erfundener Satz waere
|
||||
schlechter als keiner -- die Oberflaeche laesst die Zeile
|
||||
dann einfach weg. */
|
||||
rolle_satz: ROLLEN_SATZ[p.rolle] ?? null,
|
||||
gesetzt: stand.length,
|
||||
gesamt: ENTWICKLUNG_FREMD.length,
|
||||
bewegt: bewegung.reduce((s, m) => s + m.vor + m.zurueck + m.neu + m.geklaert, 0),
|
||||
|
||||
@@ -16,15 +16,15 @@
|
||||
verdeckt. Gefunden hat es pruef-struktur.
|
||||
|
||||
Richtig sind `gate.css` (die Farbwerte des Hauses) und `haus.css`. -->
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
<!-- Ohne diese drei nimmt ein iPhone einen Bildschirmausschnitt als
|
||||
Symbol, Android zeichnet die Leiste weiss, und die Seite oeffnet
|
||||
ausserhalb der App -- auf einer Seite, die genau erklaeren soll,
|
||||
WARUM das Telefon nicht klingelt, ist das besonders unpassend. -->
|
||||
<link rel="manifest" href="/workspace/crew.webmanifest" />
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<style>
|
||||
/* Bewusst in der Seite und nicht in einer eigenen Datei: Diese Seite
|
||||
soll auch dann noch etwas anzeigen, wenn genau das schiefgeht,
|
||||
@@ -125,6 +125,6 @@
|
||||
</main>
|
||||
␍
|
||||
|
||||
<script src="assets/js/anruf-probe.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/anruf-probe.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -22,25 +22,25 @@
|
||||
},
|
||||
"icons": [
|
||||
{
|
||||
"src": "/assets/img/app-symbole/workspace-192.png?v=202609211206",
|
||||
"src": "/assets/img/app-symbole/workspace-192.png?v=202609211259",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/app-symbole/workspace-512.png?v=202609211206",
|
||||
"src": "/assets/img/app-symbole/workspace-512.png?v=202609211259",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202609211206",
|
||||
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202609211259",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202609211206",
|
||||
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202609211259",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
|
||||
@@ -5,9 +5,25 @@
|
||||
dogi seite soll lila werden. richtig geiles lila und babyblau
|
||||
mischung überall."
|
||||
|
||||
Diese Datei wird NUR auf crew.dogfather-universe.com ausgeliefert.
|
||||
Diese Datei wird nur auf der zweiten Adresse ausgeliefert.
|
||||
`crewWeiche()` biegt dafuer `haus.css` hierher um; auf der
|
||||
Agenturadresse kommt weiterhin die leere Fassung an. Beide Haeuser
|
||||
Agenturadresse kommt weiterhin die leere Fassung an.
|
||||
|
||||
BIS ZUM 21.09.2026 WAR DAS EINE BEHAUPTUNG UND KEINE TATSACHE.
|
||||
Nachgemessen: 27 806 Byte, HTTP 200, von der Agenturadresse, ohne
|
||||
jede Anmeldung -- jeder im Netz konnte diese Datei herunterladen.
|
||||
Die Weiche biegt `haus.css` auf diesen Namen um; wer den Namen
|
||||
direkt nannte, ging an ihr vorbei. Ein Kommentar, der eine Absicht
|
||||
beschreibt, erfuellt sie nicht.
|
||||
|
||||
Seitdem steht sie in der Tafel GEHOERT_ZU_ADRESSE (crew-adresse.js)
|
||||
-- dem Ort, an dem dieselbe Frage fuer die Zugangswand schon
|
||||
beantwortet wird, und an dem sie auch durchgesetzt wird. Die interne
|
||||
Umbiegung bleibt unberuehrt: Die Tafel wird oben in crewWeiche()
|
||||
gefragt, die Umbiegung passiert weiter unten.
|
||||
|
||||
Nachgeprueft in pruef-crew-adresse, in beide Richtungen: Sie kommt
|
||||
hier an, und auf der Agenturadresse gibt es sie beim Namen nicht. Beide Haeuser
|
||||
liegen damit im selben Programm, auf denselben Daten -- und sehen
|
||||
trotzdem nicht mehr wie dasselbe aus.
|
||||
|
||||
|
||||
@@ -2357,7 +2357,7 @@ body.gate {
|
||||
color: #a9dcff;
|
||||
text-shadow: 0 1px 10px rgba(99, 184, 238, .45);
|
||||
}
|
||||
/* TEAM DOGI (10.09.2026, nur auf crew.dogfather-universe.com).
|
||||
/* TEAM DOGI (10.09.2026, nur auf der zweiten Zugangswand).
|
||||
|
||||
Bewusst NICHT .marke__spicy mitbenutzt, obwohl es dieselbe Stelle im
|
||||
Satz ist: Die Klasse ist rosarot, weil dort "SpicyMedia" steht. Auf
|
||||
@@ -2799,10 +2799,22 @@ body.gate {
|
||||
/* =====================================================================
|
||||
DIE ZWEITE ZUGANGSWAND (10.09.2026)
|
||||
|
||||
Nur crew-index.html traegt `gate--crew`. Hier stehen die wenigen
|
||||
Nur die zweite Wand traegt `gate--crew`. Hier stehen die wenigen
|
||||
Stellen, an denen die gemeinsame Gestaltung nicht passt -- und zwar
|
||||
NUR die.
|
||||
|
||||
WARUM HIER WEDER IHRE ADRESSE NOCH IHR DATEINAME STEHT (21.09.2026):
|
||||
Diese Stilvorlage wird von BEIDEN Adressen ausgeliefert, und zwar
|
||||
ohne Anmeldung -- jeder im Netz kann sie herunterladen und lesen.
|
||||
Bis heute stand die Adresse der zweiten Wand hier im Klartext. Das
|
||||
war die eigentliche Auskunft: Die Rollennamen stehen auf jener Wand
|
||||
ohnehin offen, WO sie liegt dagegen nicht.
|
||||
|
||||
Der Dateiname der Wand steht seit demselben Tag in der Tafel
|
||||
GEHOERT_ZU_ADRESSE (crew-adresse.js) -- dort gehoert er hin, denn
|
||||
dort wird er auch durchgesetzt. Hier waere er nur eine Notiz, die
|
||||
jeder mitliest.
|
||||
|
||||
ES GEHT NICHT UM GESCHMACK, SONDERN UM DAS BILD DAHINTER.
|
||||
Die Karte holt sich absichtlich die Farben des gemalten Rahmens
|
||||
herein: rot oben links, blau unten rechts, "das, was die Karte mit
|
||||
|
||||
@@ -306,9 +306,16 @@
|
||||
/* =====================================================================
|
||||
DIE ALTERSFRAGE ERSCHEINT MIT DER COMMUNITY-KACHEL (15.09.2026)
|
||||
|
||||
Sie steht in crew-index.html und nirgends sonst -- auf der
|
||||
Sie steht auf der zweiten Zugangswand und nirgends sonst -- auf der
|
||||
Agenturwand gibt es sie gar nicht. Deshalb hier ueberall mit „?.“:
|
||||
Diese Datei laeuft auf beiden Waenden.
|
||||
|
||||
UND DESHALB STEHT HIER AUCH KEIN DATEINAME (21.09.2026): "Diese
|
||||
Datei laeuft auf beiden Waenden" heisst, dass sie von beiden
|
||||
Adressen ausgeliefert wird -- ohne Anmeldung, fuer jeden im Netz
|
||||
lesbar. Ein Kommentar darin ist keine interne Notiz, sondern
|
||||
Veroeffentlichung. Wo welche Wand zuhause ist, steht in
|
||||
crew-adresse.js; dort wird es auch durchgesetzt.
|
||||
===================================================================== */
|
||||
(() => {
|
||||
const alterFrage = document.getElementById('alterfrage');
|
||||
|
||||
@@ -110,8 +110,15 @@
|
||||
$('seiten-unter').textContent =
|
||||
'Was die Community vertraulich gemeldet hat. Du siehst den Namen; sonst niemand.';
|
||||
$('vertrauen-text').textContent =
|
||||
'Diese Meldungen sehen nur du und die rechte Hand. Weder Modis noch '
|
||||
+ 'andere Mitglieder haben Zugriff — auch nicht auf die Namen.';
|
||||
/* „die Moderation“ statt des Rollennamens (21.09.2026).
|
||||
Dieser Satz steht in einer Datei, die jeder im Netz ohne
|
||||
Anmeldung herunterladen kann. Die Aussage bleibt dieselbe
|
||||
-- und fuer jemanden, der neu im Treff ist, sogar klarer:
|
||||
„die Moderation“ erklaert sich selbst, ein Rollenname
|
||||
muss erst gelernt werden. */
|
||||
'Diese Meldungen sehen nur du und die rechte Hand. Weder die '
|
||||
+ 'Moderation noch andere Mitglieder haben Zugriff — auch nicht '
|
||||
+ 'auf die Namen.';
|
||||
}
|
||||
|
||||
const faelle = d.faelle || [];
|
||||
|
||||
@@ -94,8 +94,26 @@
|
||||
vergisst man eine.
|
||||
|
||||
`rolle` kam bis heute gar nicht erst mit -- die Abfrage im
|
||||
Server las sie nicht einmal. */
|
||||
k.dataset.rolle = m.rolle || 'modi';
|
||||
Server las sie nicht einmal.
|
||||
|
||||
KEIN RUECKFALL AUF EINEN ROLLENNAMEN (21.09.2026). Hier stand
|
||||
`m.rolle || 'modi'`. Der Rueckfall war doppelt daneben:
|
||||
|
||||
(1) Er stand in einer Datei, die JEDER herunterlaedt, der den
|
||||
Arbeitsplatz oeffnet -- auch jeder Manager, Scout und
|
||||
Creator auf der Agenturadresse, und zwar OHNE Anmeldung.
|
||||
Rollennamen der Community gehoeren dort nicht hin; darueber
|
||||
wacht eine eigene Pruefung im Serverordner.
|
||||
|
||||
(2) Er hat nie etwas bewirkt. Nachgemessen: Die Stilvorlage
|
||||
kennt zu dieser Karte nur `[data-rolle="hand"]`. Fuer jeden
|
||||
anderen Wert sieht sie gleich aus -- ob dort ein Rollenname
|
||||
steht oder nichts.
|
||||
|
||||
Der Server liefert `rolle` seit dem 20.09. immer mit (die
|
||||
Abfrage holt sie, und sie ist auf zwei Werte begrenzt). Fehlt
|
||||
sie doch einmal, bleibt das Merkmal weg statt falsch. */
|
||||
if (m.rolle) k.dataset.rolle = m.rolle;
|
||||
|
||||
const kopf = el('div', 'tperson__kopf');
|
||||
/* DAS BILD BEKOMMT SEINE KLASSE -- UND DAS WAR EIN ECHTER FEHLER.
|
||||
@@ -546,7 +564,7 @@
|
||||
ziel.textContent = '';
|
||||
ziel.setAttribute('aria-busy', 'false');
|
||||
|
||||
const leute = daten.modis || [];
|
||||
const leute = daten.leute || [];
|
||||
const offenGesamt = leute.reduce((s, m) =>
|
||||
s + Object.values(m.bereiche).reduce((x, b) => x + b.offen, 0), 0);
|
||||
/* Eine leere Seite ohne Erklaerung sieht aus wie ein Fehler --
|
||||
|
||||
@@ -360,12 +360,26 @@
|
||||
meisten Bewegung nach oben stellt, ist eine Rangliste mit einem
|
||||
anderen Namen. Der Server sortiert nach Namen, und dabei bleibt es.
|
||||
===================================================================== */
|
||||
/* Was über einer Gruppe steht. Aus der Rolle abgeleitet, nicht
|
||||
abgeschrieben -- der Rollenname kommt vom Server. */
|
||||
const GRUPPENSATZ = {
|
||||
hand: 'Koordiniert den Alltag und schaut mit dir zusammen auf das Team.',
|
||||
modi: 'Die Leute, die im Chat und im Live stehen.',
|
||||
};
|
||||
/* DER SATZ ÜBER EINER GRUPPE KOMMT VOM SERVER (21.09.2026).
|
||||
|
||||
Hier stand er als Liste im Quelltext -- mit den Rollennamen als
|
||||
Schlüssel. Der Kommentar daneben behauptete sogar, er sei
|
||||
"abgeleitet, nicht abgeschrieben"; das stimmte für den NAMEN
|
||||
daneben, nicht für diese Liste.
|
||||
|
||||
ZWEI GRÜNDE, WARUM ER JETZT VOM SERVER KOMMT:
|
||||
|
||||
(1) Diese Datei lädt JEDER herunter, der den Arbeitsplatz öffnet
|
||||
-- auch jeder Manager, Scout und Creator auf
|
||||
der Agenturadresse, und zwar OHNE Anmeldung. Rollennamen der
|
||||
Community gehören dort nicht hin; darüber wacht eine eigene
|
||||
Prüfung im Serverordner. Dieselbe Entscheidung wie bei
|
||||
ROLLENTEXT in start.js.
|
||||
|
||||
(2) Es wäre die zweite Liste gewesen. Kommt eine Rolle dazu,
|
||||
schickt der Server ihren Namen von selbst mit -- ihr Satz
|
||||
hätte hier nachgetragen werden müssen, und genau so entstehen
|
||||
Gruppen mit Überschrift und ohne Erklärung. */
|
||||
|
||||
function listeBauen(d) {
|
||||
const wurzel = el('div', 'w-liste');
|
||||
@@ -394,8 +408,8 @@
|
||||
const kopf = el('div', 'w-gruppe');
|
||||
kopf.dataset.rolle = p.rolle;
|
||||
kopf.append(el('h3', 'w-gruppe__name', p.rolle_name));
|
||||
if (GRUPPENSATZ[p.rolle]) {
|
||||
kopf.append(el('p', 'w-gruppe__satz', GRUPPENSATZ[p.rolle]));
|
||||
if (p.rolle_satz) {
|
||||
kopf.append(el('p', 'w-gruppe__satz', p.rolle_satz));
|
||||
}
|
||||
wurzel.append(kopf);
|
||||
gitter = el('div', 'w-liste__gitter');
|
||||
|
||||
+15
-15
@@ -12,19 +12,19 @@
|
||||
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
|
||||
eine Flaeche sind statt zweier. -->
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -291,14 +291,14 @@
|
||||
</form>
|
||||
</dialog>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/aufgaben.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/aufgaben.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+15
-15
@@ -12,20 +12,20 @@
|
||||
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
|
||||
eine Flaeche sind statt zweier. -->
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/automation.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/automation.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -168,13 +168,13 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>␍
|
||||
<script src="assets/js/meldung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>␍
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/automation.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/automation.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+14
-14
@@ -7,14 +7,14 @@
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link rel="manifest" href="/workspace/app.webmanifest" />
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -160,13 +160,13 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/befinden.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/befinden.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+19
-19
@@ -12,24 +12,24 @@
|
||||
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
|
||||
eine Flaeche sind statt zweier. -->
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202609211259" />
|
||||
<!-- Wegen des Blocks „Willst du dazugehoeren?" auf dem Brett
|
||||
„Mitmachen". Eine eigene Kopie der Regel hier waere die zweite
|
||||
Stelle, an der dieselbe Sache anders aussieht. -->
|
||||
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -277,16 +277,16 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/checkliste.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/ampel.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/schulung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereich.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/checkliste.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/ampel.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/schulung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereich.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+17
-17
@@ -7,17 +7,17 @@
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link rel="manifest" href="/workspace/app.webmanifest" />
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/treff.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/treff.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -108,12 +108,12 @@
|
||||
</main>
|
||||
|
||||
<!-- Der Fuß gehört zu jeder Seite - siehe pruef-css-klassen. -->
|
||||
<script src="assets/js/meldung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bewerben.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bewerben.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+16
-16
@@ -7,16 +7,16 @@
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link rel="manifest" href="/workspace/app.webmanifest" />
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -80,13 +80,13 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bewerbungen.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bewerbungen.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+16
-16
@@ -12,20 +12,20 @@
|
||||
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
|
||||
eine Flaeche sind statt zweier. -->
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/calls.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/calls.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -89,14 +89,14 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
|
||||
<script src="assets/js/ki.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/calls.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/ki.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/calls.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+17
-17
@@ -12,26 +12,26 @@
|
||||
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
|
||||
eine Flaeche sind statt zweier. -->
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<!-- aufgaben.css bringt die Dialog- und Formularstile mit (.dialog,
|
||||
.neu__zeile, .dialog__knoepfe). Sie stehen dort seit dem
|
||||
Aufgabenbrett; sie hierher zu kopieren hiesse, sie an zwei Stellen
|
||||
zu pflegen. Dieselbe Lösung nutzen kalender.html und content.html.
|
||||
Gemeldet von pruef-css-klassen.mjs, bevor jemand einen ungestylten
|
||||
Dialog zu sehen bekam. -->
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/chat.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/chat.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -414,18 +414,18 @@
|
||||
</form>
|
||||
</dialog>
|
||||
|
||||
<script src="assets/js/bereiche.js?v=202609211206"></script>
|
||||
<script src="assets/js/meldung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206"></script>
|
||||
<script src="assets/js/glocke.js?v=202609211206"></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259"></script>
|
||||
<script src="assets/js/meldung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259"></script>
|
||||
<script src="assets/js/glocke.js?v=202609211259"></script>
|
||||
<!-- ANRUF VOR CHAT (18.09.2026): anruf.js stellt `window.anrufStarten`
|
||||
bereit, und chat.js baut die Knoepfe nur, wenn es das gibt.
|
||||
Andersherum waere die Reihenfolge eine stille Abhaengigkeit --
|
||||
die Knoepfe fehlten, und niemand wuesste warum. -->
|
||||
<script src="assets/js/anruf.js?v=202609211206"></script>
|
||||
<script src="assets/js/chat.js?v=202609211206"></script>
|
||||
<script src="assets/js/anruf.js?v=202609211259"></script>
|
||||
<script src="assets/js/chat.js?v=202609211259"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+16
-16
@@ -12,20 +12,20 @@
|
||||
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
|
||||
eine Flaeche sind statt zweier. -->
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/content.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/content.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -179,14 +179,14 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/checkliste.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/content.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/checkliste.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/content.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -36,15 +36,15 @@
|
||||
<link rel="preload" as="image" href="assets/img/buehne/crew-gate-hoch-580.webp"
|
||||
type="image/webp" media="(max-width: 899px)" />
|
||||
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/crew-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/crew-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<!-- Diese Wand steht NUR auf der Adresse von Team Dogi (ueberall sonst
|
||||
404, siehe crewWeiche). Sie darf das Haus deshalb direkt nennen
|
||||
statt ueber den Platzhalter haus.css zu gehen -- und sie MUSS es:
|
||||
Eine Zugangswand, die sich erst nach dem Umbiegen faerbt, waere
|
||||
die eine Seite, auf der man das Umfaerben sieht. -->
|
||||
<link rel="stylesheet" href="assets/css/crew-haus.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/crew-haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="gate gate--crew">
|
||||
@@ -358,6 +358,6 @@
|
||||
|
||||
|
||||
|
||||
<script src="assets/js/gate.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/gate.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -22,25 +22,25 @@
|
||||
},
|
||||
"icons": [
|
||||
{
|
||||
"src": "/assets/img/app-symbole/crew-192.png?v=202609211206",
|
||||
"src": "/assets/img/app-symbole/crew-192.png?v=202609211259",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/app-symbole/crew-512.png?v=202609211206",
|
||||
"src": "/assets/img/app-symbole/crew-512.png?v=202609211259",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/app-symbole/crew-192-maskable.png?v=202609211206",
|
||||
"src": "/assets/img/app-symbole/crew-192-maskable.png?v=202609211259",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/app-symbole/crew-512-maskable.png?v=202609211206",
|
||||
"src": "/assets/img/app-symbole/crew-512-maskable.png?v=202609211259",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
|
||||
+16
-16
@@ -12,20 +12,20 @@
|
||||
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
|
||||
eine Flaeche sind statt zweier. -->
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/dateien.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/dateien.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -108,14 +108,14 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/dateien.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/dateien.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+14
-14
@@ -7,14 +7,14 @@
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link rel="manifest" href="/workspace/app.webmanifest" />
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -106,12 +106,12 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/entwicklung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/entwicklung.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+15
-15
@@ -7,13 +7,13 @@
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link rel="manifest" href="/workspace/app.webmanifest" />
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/hilfe.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/hilfe.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -72,8 +72,8 @@
|
||||
</span>
|
||||
<p class="vertrauen__text" id="vertrauen-text">
|
||||
<strong>DogFather und die rechte Hand lesen mit – sonst niemand.</strong>
|
||||
Sie sehen auch deinen Namen. Kein anderes Mitglied und kein Modi
|
||||
bekommt diese Meldungen zu Gesicht.
|
||||
Sie sehen auch deinen Namen. Kein anderes Mitglied und niemand aus
|
||||
der Moderation bekommt diese Meldungen zu Gesicht.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -146,12 +146,12 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/hilfe.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/hilfe.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -30,9 +30,9 @@
|
||||
<link rel="preload" as="image" href="assets/img/buehne/gate-hoch-580.webp"
|
||||
type="image/webp" media="(max-width: 899px)" />
|
||||
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="gate">
|
||||
@@ -411,6 +411,6 @@
|
||||
</div>
|
||||
|
||||
|
||||
<script src="assets/js/gate.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/gate.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+16
-16
@@ -12,20 +12,20 @@
|
||||
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
|
||||
eine Flaeche sind statt zweier. -->
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/kalender.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/kalender.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -383,14 +383,14 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kalender.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kalender-abo.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kalender.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kalender-abo.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+15
-15
@@ -12,20 +12,20 @@
|
||||
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
|
||||
eine Flaeche sind statt zweier. -->
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/leistung.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/leistung.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -444,12 +444,12 @@
|
||||
</form>
|
||||
</dialog>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609211206"></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206"></script>
|
||||
<script src="assets/js/wahl.js?v=202609211206"></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206"></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206"></script>
|
||||
<script src="assets/js/glocke.js?v=202609211206"></script>
|
||||
<script src="assets/js/leistung.js?v=202609211206"></script>
|
||||
<script src="assets/js/meldung.js?v=202609211259"></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259"></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259"></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259"></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259"></script>
|
||||
<script src="assets/js/glocke.js?v=202609211259"></script>
|
||||
<script src="assets/js/leistung.js?v=202609211259"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+15
-15
@@ -12,20 +12,20 @@
|
||||
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
|
||||
eine Flaeche sind statt zweier. -->
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/personen.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/personen.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -453,13 +453,13 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/personen.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/personen.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+17
-17
@@ -12,20 +12,20 @@
|
||||
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
|
||||
eine Flaeche sind statt zweier. -->
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/profil.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/profil.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -214,15 +214,15 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/steckbrief.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/profil.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/steckbrief.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/profil.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+14
-14
@@ -7,14 +7,14 @@
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link rel="manifest" href="/workspace/app.webmanifest" />
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/treff.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/treff.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -134,11 +134,11 @@
|
||||
Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen
|
||||
Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen,
|
||||
die seit dem 07.09. jede Seite danach absucht. -->
|
||||
<script src="assets/js/meldung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/rechte.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/rechte.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+16
-16
@@ -12,20 +12,20 @@
|
||||
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
|
||||
eine Flaeche sind statt zweier. -->
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/report.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/report.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -106,14 +106,14 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
|
||||
<script src="assets/js/ki.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/report.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/ki.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/report.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+15
-15
@@ -12,20 +12,20 @@
|
||||
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
|
||||
eine Flaeche sind statt zweier. -->
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/scouting.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/scouting.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -173,13 +173,13 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/scouting.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/scouting.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+14
-14
@@ -12,21 +12,21 @@
|
||||
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
|
||||
eine Flaeche sind statt zweier. -->
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<!-- Nur die Startseite: Begrüßungskachel, Uhr, Glockenmulde. Siehe
|
||||
den Hinweis in start.css -- dort stand es bis zum 07.09.2026. -->
|
||||
<link rel="stylesheet" href="assets/css/heim.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/heim.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -678,13 +678,13 @@
|
||||
</p>
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/start.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/start.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+16
-16
@@ -12,20 +12,20 @@
|
||||
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
|
||||
eine Flaeche sind statt zweier. -->
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/startcheck.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/startcheck.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -85,14 +85,14 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
|
||||
<script src="assets/js/ki.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/startcheck.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/ki.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/startcheck.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+17
-17
@@ -12,20 +12,20 @@
|
||||
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
|
||||
eine Flaeche sind statt zweier. -->
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/profil.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/profil.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -150,15 +150,15 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/steckbrief.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/steckbrief.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+15
-15
@@ -7,18 +7,18 @@
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link rel="manifest" href="/workspace/app.webmanifest" />
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609211259" />
|
||||
<!-- Wegen des Kastens „Anfragen“ ueber der Liste. Eine eigene Kopie
|
||||
der Regel hier waere die zweite Stelle, an der dieselbe Sache
|
||||
anders aussieht. -->
|
||||
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -111,12 +111,12 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/talente.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/talente.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+14
-14
@@ -7,20 +7,20 @@
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link rel="manifest" href="/workspace/app.webmanifest" />
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/team.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/team.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -110,12 +110,12 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/team.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/team.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+14
-14
@@ -7,20 +7,20 @@
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link rel="manifest" href="/workspace/app.webmanifest" />
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/team.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/team.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<!-- `data-buehne` steht hier fest und nicht im Skript: Die Kachel zu
|
||||
@@ -84,11 +84,11 @@
|
||||
Kaputt ist dabei nichts -- er funktioniert. Genau deshalb faellt
|
||||
es niemandem auf, und deshalb prueft pruef-css-klassen die
|
||||
ABHAENGIGKEIT statt der Optik. Hier hat sie angeschlagen. -->
|
||||
<script src="assets/js/meldung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/teamlage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/teamlage.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+13
-13
@@ -7,13 +7,13 @@
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link rel="manifest" href="/workspace/app.webmanifest" />
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -112,12 +112,12 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/teilen.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/teilen.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -7,14 +7,14 @@
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link rel="manifest" href="/workspace/app.webmanifest" />
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/treff.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/treff.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -126,12 +126,12 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/treff-moderation.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/treff-moderation.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+14
-14
@@ -7,18 +7,18 @@
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link rel="manifest" href="/workspace/app.webmanifest" />
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/treff.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/treff.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein. Auf der Adresse des
|
||||
Treffs biegt der Server genau diesen Dateinamen auf crew-haus.css
|
||||
um, und die Seite kommt schon beim ERSTEN Abruf in Lila und
|
||||
Babyblau an -- ohne Umfaerben im Browser, ohne Flackern. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -221,11 +221,11 @@
|
||||
Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen
|
||||
Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen,
|
||||
die seit dem 07.09. jede Seite danach absucht. -->
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/treff-regeln.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/treff-regeln.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+15
-15
@@ -12,22 +12,22 @@
|
||||
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
|
||||
eine Flaeche sind statt zweier. -->
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<!-- Formular- und Dialogstile: seit dem 07.09.2026 steht hier der
|
||||
Dialog "Creator anlegen". -->
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -149,14 +149,14 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/uebersicht.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/uebersicht.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link rel="manifest" href="/workspace/app.webmanifest" />
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/unsere-seiten.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/unsere-seiten.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -335,11 +335,11 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/unsere-seiten.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/unsere-seiten.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+14
-14
@@ -7,15 +7,15 @@
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link rel="manifest" href="/workspace/app.webmanifest" />
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/werdegang.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/werdegang.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -144,11 +144,11 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/werdegang.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/werdegang.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+16
-16
@@ -12,20 +12,20 @@
|
||||
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
|
||||
eine Flaeche sind statt zweier. -->
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211206" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/wissen.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211206" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609211259" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/wissen.css?v=202609211259" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609211259" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211206" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609211259" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -190,14 +190,14 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202609211259" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wissen.js?v=202609211206" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609211259" defer></script>
|
||||
<script src="assets/js/wissen.js?v=202609211259" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user