Die rechte Hand meldet wie das Team, die Leiste wird ein Universum, sein Kalender bleibt ganz
Drei Wuensche aus zwei Bildschirmfotos und einem Satz. === 1. SIE DARF SAGEN, WAS PASST UND WAS NICHT === Filipe: "die rechte hand soll bei diesen aufgaben auch wie die modis sagen koennen ob es passt oder nicht ... die rechte hand ist da um mir zu helfen aber auch wie die modis um mir zu sagen was passt und nicht wo die denken bedarf oder nicht. perfektionier das alles." SIE KONNTE ES NICHT, UND ZWAR AN DREI STELLEN GLEICHZEITIG -- die zweite und dritte kamen erst zum Vorschein, nachdem die erste behoben war. Genau deshalb steht "perfektionier das alles" ueber diesem Commit und nicht "eine Zeile geaendert": ERSTENS: Die Frage "an wessen Liste arbeitest du?" kannte nur Creator und Modis (dann die eigene). Sie fiel durch beide Zweige und konnte ueberall antworten, nirgends urteilen. ZWEITENS: Nach der Reparatur durfte sie -- und bekam den KATALOG DER CREATOR. Ihre Meldung trug einen Schluessel, den der Eingang gar nicht kennt, und wurde dort stillschweigend uebersprungen. Die Pruefung meldete "sie darf urteilen (200)" und eine Zeile spaeter "ihre Meldung steht NICHT in DogFathers Eingang". Beides stimmte. DRITTENS: Der Eingang sammelt aus der Liste der Teammitglieder, und die hiess `rolle = 'modi'`. Sie war die Empfaengerin dieser Seite und kam auf ihr selbst nicht vor. Wer nicht in der Liste steht, kann melden, so viel er will -- es erreicht niemanden. Jetzt steht sie in derselben Liste (aber `id <> ich`: eine Karte ueber sich selbst ist kein Ueberblick, sondern ein Spiegel), bekommt denselben Beobachtungskatalog wie die Modis und meldet in denselben Eingang. Alle Rollenvergleiche kommen dabei aus der vorhandenen Menge TEAM_DOGI_ROLLEN statt als zwei Vergleiche danebengeschrieben -- sonst steht dort beim naechsten Mal einer zu wenig. === 2. DIE LEISTE === Filipe: "der hintergrund dieser leiste soll extrem speziell aussehen wie ein universum und soll von lila auf babyblau wechseln, von links nach rechts ... der husky links soll auch babyblau strahlen und nicht rot und der rechts lila. dan brauch ich auch noch einen teilen button." DIE RICHTUNG IST DIE EIGENTLICHE AENDERUNG: Der Schein lief von UNTEN nach oben (die Glut der Agenturseite, nur in Lila). Jetzt von LINKS nach rechts, mit zwei Nebeln und sieben Sternen -- als Verlaufslagen und nicht als Elemente: Sieben Punkte waeren sieben Knoten im Baum auf jeder der zwanzig Seiten, nur fuer Zierde. DIE ZEICHEN TAUSCHEN DIE SEITEN. Links stand ein warmes Rot, fest hingeschrieben in start.css; rechts strahlte der zweite Husky babyblau. Jetzt umgekehrt -- so hat jede Seite der Leiste beide Farben, statt dass jede nur eine hat. Beim rechten wird die FUELLUNG mitgetauscht, nicht nur der Schein: Ein lila Schein um ein blaues Zeichen waere ein Rand, keine Farbe. "UEBERTRIEBEN GEIL" HAT EINE GRENZE, und sie ist gemessen, nicht geschaetzt. Erster Anlauf: .30 -- der Verlauf war zu ahnen, nicht zu sehen, Kontrast 5,26:1. Zweiter: .40 -- sichtbar, aber 4,79:1 in der Mitte, bei einer Grenze von 4,5 zu knapp. Jetzt kraeftige Enden und eine zurueckhaltende Mitte: 5,92 / 5,26 / 7,06:1 an drei Stellen des Verlaufs, gemessen an echten Bildpunkten. Die Farbe liest das Auge an den Enden; in der Mitte gewinnt die Lesbarkeit. DER TEILEN-KNOPF fehlte, weil `DARF_TEILEN` Leitung und Scouts kennt -- die rechte Hand ist keins von beidem. Gefragt wird jetzt nicht nach der Rolle, sondern nach `ich.marke`: Die setzt der Server genau dann, wenn jemand zu Team Dogi gehoert. Der Rollenname bleibt damit aus einer Datei heraus, die jeder herunterlaedt -- und die Frage lautet ohnehin "gehoert diese Person hierher?". === 3. SEIN KALENDER BLEIBT GANZ === Filipe: "mein kalender (dogfather) auf dieser seite hier soll komplett verbunden sein mit dem kalender in der workspace seite ABER NUR IN DER DOGFATHER ROLLE BEI DOGFATHER: NICHT BEI VANVAN." Bei Aufgaben, Bereichen und Dateien ist die Haustrennung eine Hilfe -- man will das andere Haus dort gerade nicht sehen. Beim Kalender waere sie eine Falle: Wer auf der Team-Seite einen Termin eintraegt und die Haelfte seines Tages nicht sieht, legt ihn auf eine Zeit, in der er schon woanders sitzt. Ein Kalender, der nur die halbe Wahrheit zeigt, ist schlimmer als keiner. Geprueft wird die ROLLE und nicht der Name -- ein Name waere die Stelle, an der es beim naechsten Menschen bricht. === WAS DIE PRUEFUNGEN GEZEIGT HABEN === Eine Erwartung war seit Stunden stumm rot: pruef-modi-checkliste verlangte GENAU EINE Zusatzkachel, und seit dem Ideen-Board sind es drei. Ich hatte sie nach der Aenderung nicht noch einmal laufen lassen. Sie zaehlt jetzt nicht mehr auf eine feste Zahl, sondern prueft die AUSSAGE: Wer welche bekommen soll, bekommt welche -- und jede gehoert in die Gruppe "Team Dogi". Eine Pruefung, die bei jeder neuen Kachel rot wird, erzieht dazu, ihr Rotwerden zu ignorieren. Zwei weitere Erwartungen haben sich gedreht und sind im Quelltext begruendet: Der Kalender auf crew. zeigt DogFather jetzt alles (die Pruefung unterscheidet dafuer ER-ja/SIE-nein statt einer einzelnen Antwort -- das ist mehr, nicht weniger), und "aus dem Eingang verschwunden" fragt jetzt nach Schluessel UND Person: Seit die rechte Hand denselben Katalog benutzt, koennen zwei Menschen denselben Punkt melden, und die Pruefung meldete einen Fehler, den es nicht gab. Und eine war wertlos: "die rechte Hand sieht den Agenturtermin nicht" lief gegen einen leeren Kalender -- sie sah ueberhaupt nichts. Sie hat jetzt zwei eigene Termine, einen aus jedem Haus; erst damit sagt die Messung etwas. pruef-modi-checkliste 59 -> 70 · pruef-team-stufen 24 -> 26 · pruef-team-ampel 32 · pruef-haus-trennung 61 -> 62 · pruef-rollen 278 · pruef-css-klassen gruen · pruef-modi-wortleck 5. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -133,6 +133,16 @@ d.prepare(`INSERT INTO termine (titel, beginn, dauer_min, creator_id, erstellt,
|
||||
VALUES ('Call mit Luna','2026-09-12T18:00:00.000Z',60,?,?,?)`).run(idCrea, jetzt, idDogi);
|
||||
d.prepare(`INSERT INTO termine (titel, beginn, dauer_min, teilnehmer_id, erstellt, erstellt_von)
|
||||
VALUES ('Teamrunde','2026-09-12T20:00:00.000Z',30,?,?,?)`).run(idModi, jetzt, idDogi);
|
||||
/* ZWEI TERMINE FUER DIE RECHTE HAND, und beide braucht die Pruefung:
|
||||
|
||||
Ohne einen eigenen Termin saehe sie GAR NICHTS -- jeder sieht nur,
|
||||
woran er beteiligt ist -- und "sie sieht den Agenturtermin nicht"
|
||||
waere ein gruener Haken ueber einer Null. Erst mit einem sichtbaren
|
||||
daneben sagt die Messung etwas: Das eine kommt an, das andere nicht. */
|
||||
d.prepare(`INSERT INTO termine (titel, beginn, dauer_min, creator_id, erstellt, erstellt_von)
|
||||
VALUES ('Lunas Abnahme','2026-09-13T17:00:00.000Z',45,?,?,?)`).run(idCrea, jetzt, idHand);
|
||||
d.prepare(`INSERT INTO termine (titel, beginn, dauer_min, teilnehmer_id, erstellt, erstellt_von)
|
||||
VALUES ('Schichtuebergabe','2026-09-13T19:00:00.000Z',20,?,?,?)`).run(idModi, jetzt, idHand);
|
||||
|
||||
async function anmelden(rolle, code, wand) {
|
||||
const a = await hole("/workspace/api/anmelden", { host: wand, methode: "POST",
|
||||
@@ -233,12 +243,37 @@ console.log("");
|
||||
console.log("=== Kalender ===");
|
||||
{
|
||||
const weg = "/workspace/api/termine?von=2026-09-01&bis=2026-09-30";
|
||||
/* DER KALENDER IST DIE EINE AUSNAHME (11.09.2026).
|
||||
|
||||
Filipe: "mein kalender (dogfather) auf dieser seite hier soll
|
||||
komplett verbunden sein mit dem kalender in der workspace seite
|
||||
ABER NUR IN DER DOGFATHER ROLLE BEI DOGFATHER: NICHT BEI VANVAN."
|
||||
|
||||
Bei Aufgaben, Bereichen und Dateien ist die Trennung eine Hilfe --
|
||||
man will das andere Haus dort gerade nicht sehen. Beim Kalender
|
||||
waere sie eine Falle: Wer auf der Team-Seite einen Termin eintraegt
|
||||
und die Haelfte seines Tages nicht sieht, legt ihn auf eine Zeit,
|
||||
in der er schon woanders sitzt.
|
||||
|
||||
Diese Erwartung hat sich damit gedreht -- vorher verlangte sie das
|
||||
Gegenteil. Sie ist dadurch nicht schwaecher: Sie prueft jetzt eine
|
||||
UNTERSCHEIDUNG (er ja, sie nein) statt einer einzelnen Antwort, und
|
||||
das ist mehr, nicht weniger. */
|
||||
const a = await beide(weg, dogi.keks);
|
||||
const t = (x) => (x?.termine || []).map((z) => z.titel);
|
||||
ok(t(a.crew).includes("Teamrunde"), `auf crew. steht die Teamrunde (${t(a.crew).join(" | ") || "leer"})`);
|
||||
ok(!t(a.crew).includes("Call mit Luna"), "der Call mit der Creatorin nicht");
|
||||
ok(t(a.crew).includes("Teamrunde") && t(a.crew).includes("Call mit Luna"),
|
||||
`DogFather sieht auf crew. seinen GANZEN Kalender (${t(a.crew).join(" | ") || "leer"})`);
|
||||
ok(t(a.ws).includes("Call mit Luna") && t(a.ws).includes("Teamrunde"),
|
||||
`auf workspace. stehen beide (${t(a.ws).length})`);
|
||||
`und auf workspace. denselben (${t(a.ws).length})`);
|
||||
|
||||
/* UND DIE RECHTE HAND NICHT -- sonst hiesse "verbunden" schlicht
|
||||
"die Trennung ist weg". */
|
||||
const h = (await hole(weg, { host: CREW, keks: hand.keks })).daten;
|
||||
const th = (h?.termine || []).map((z) => z.titel);
|
||||
ok(th.includes("Schichtuebergabe"),
|
||||
`die rechte Hand sieht ihren Team-Termin (${th.join(" | ") || "leer"})`);
|
||||
ok(!th.includes("Lunas Abnahme"),
|
||||
"und ihren eigenen Agenturtermin dort NICHT -- die Trennung gilt fuer sie weiter");
|
||||
}
|
||||
|
||||
/* =======================================================================
|
||||
|
||||
@@ -70,6 +70,10 @@ const idVan = anlegen("VanVan", "admin", "CODE-VAN-0001");
|
||||
const idSpicy = anlegen("Cigdem", "spicy", "CODE-SPIC-0001");
|
||||
const idCreat = anlegen("Tili", "creator", "CODE-ANNA-0001");
|
||||
const idModi = anlegen("Marina", "modi", "CODE-MODI-0001");
|
||||
/* DIE RECHTE HAND (11.09.2026). Bis heute gab es sie in dieser Pruefung
|
||||
nicht -- und deshalb war nie gemessen, ob sie ueberhaupt etwas melden
|
||||
kann. Sie konnte es nicht. */
|
||||
const idHand = anlegen("Rieke", "hand", "CODE-HAND-0001");
|
||||
d.close();
|
||||
void idSpicy;
|
||||
|
||||
@@ -92,6 +96,7 @@ const jsonKopf = { "Content-Type": "application/json" };
|
||||
const modiAn = await anmelden("creator", "CODE-MODI-0001");
|
||||
const dogiAn = await anmelden("admin", "CODE-DOGI-0001");
|
||||
const vanAn = await anmelden("admin", "CODE-VAN-0001");
|
||||
const handAn = await anmelden("hand", "CODE-HAND-0001");
|
||||
const spicyAn = await anmelden("spicy", "CODE-SPIC-0001");
|
||||
const creatAn = await anmelden("creator", "CODE-ANNA-0001");
|
||||
|
||||
@@ -138,11 +143,73 @@ for (const [name, an] of [["DogFather", dogiAn], ["VanVan", vanAn]]) {
|
||||
body: JSON.stringify({ stufe: "gut", creator_id: idModi }),
|
||||
});
|
||||
/* Der Name in der Meldung wird MITGEPRUEFT, nicht nur die Nummer.
|
||||
Am 10.09.2026 wurde die Kachel von "Team-Lage" in "Eingang"
|
||||
umbenannt, weil es zwei gleichnamige gab -- ein Hinweistext, der
|
||||
danach auf die alte fuehrt, schickt jeden auf die falsche Seite. */
|
||||
ok(b.status === 403 && /Eingang/.test(b.daten?.fehler || ""),
|
||||
`${name.padEnd(10)} und wird auf den Eingang verwiesen (${b.status})`);
|
||||
|
||||
Die Kachel hiess "Team-Lage", dann "Eingang", seit dem 11.09.2026
|
||||
"Dein Team" -- und JEDES Mal stand der alte Name noch in dieser
|
||||
Meldung. Ein Hinweistext, der auf eine Seite zeigt, die es unter
|
||||
diesem Namen nicht gibt, schickt jeden auf die falsche Suche.
|
||||
|
||||
Dass es dreimal passiert ist, sagt etwas ueber die Bauart: Der Name
|
||||
steht im Meldetext und nicht an der Kachel. Diese Pruefung ist der
|
||||
Ersatz dafuer -- sie faellt beim naechsten Umbenennen wieder um,
|
||||
und genau das soll sie. */
|
||||
ok(b.status === 403 && /Dein Team/.test(b.daten?.fehler || ""),
|
||||
`${name.padEnd(10)} und wird auf "Dein Team" verwiesen (${b.status})`);
|
||||
}
|
||||
|
||||
/* =====================================================================
|
||||
DIE RECHTE HAND MELDET GENAUSO (11.09.2026)
|
||||
|
||||
Filipe: "die rechte hand soll bei diesen aufgaben auch wie die modis
|
||||
sagen koennen ob es passt oder nicht ... die rechte hand ist da um
|
||||
mir zu helfen aber auch wie die modis um mir zu sagen was passt und
|
||||
nicht wo die denken bedarf oder nicht."
|
||||
|
||||
SIE KONNTE ES NICHT, und das lag an zwei Stellen gleichzeitig: Die
|
||||
Frage "an wessen Liste arbeitest du?" kannte nur Creator und Modis
|
||||
(dann die eigene) -- fuer alle anderen war es die Liste eines
|
||||
ANDEREN, und an einer fremden darf man nicht bewerten. Sie fiel also
|
||||
durch beide Zweige und konnte ueberall antworten, nirgends urteilen.
|
||||
|
||||
UND IHRE MELDUNG MUSS ANKOMMEN. Der Eingang sammelt aus der Liste
|
||||
der Teammitglieder; stand sie nicht darin, konnte sie melden, so
|
||||
viel sie wollte -- es erreichte niemanden. Beides wird hier gemessen,
|
||||
in dieser Reihenfolge: erst darf sie, dann kommt es an.
|
||||
===================================================================== */
|
||||
console.log("");
|
||||
console.log("=== 2b. Die rechte Hand drückt „Verbessern“ ===");
|
||||
console.log("");
|
||||
{
|
||||
const eigene = await hole(handAn.keks, "/workspace/api/checkliste/live");
|
||||
const punkt = (eigene.daten?.gruppen || []).flatMap((g) => g.punkte || [])[0]?.schluessel;
|
||||
ok(!!punkt, `sie bekommt ihre eigene Liste (${punkt || "leer"})`);
|
||||
|
||||
const a = await hole(handAn.keks, `/workspace/api/checkliste/live/${punkt}`, {
|
||||
method: "PUT", headers: jsonKopf,
|
||||
body: JSON.stringify({ stufe: "verbessern", begruendung: "Der Ablauf hakt beim Übergeben" }),
|
||||
});
|
||||
ok(a.status === 200, `und darf urteilen (${a.status})`);
|
||||
|
||||
const b = await hole(dogiAn.keks, "/workspace/api/teamlage");
|
||||
const drin = (b.daten?.eingang || []).find((e) => e.begruendung === "Der Ablauf hakt beim Übergeben");
|
||||
ok(!!drin, "ihre Meldung steht in DogFathers Eingang");
|
||||
ok(drin?.von === "Rieke", `mit ihrem Namen dabei ("${drin?.von || ""}")`);
|
||||
|
||||
/* 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);
|
||||
ok(leute.includes("Rieke"), `und sie selbst im Team (${leute.join(", ") || "leer"})`);
|
||||
|
||||
/* GEGENPROBE: „Passt so" landet auch bei ihr nicht im Eingang --
|
||||
sonst waere er nach einer Sendung voll mit Lob. */
|
||||
const p2 = (eigene.daten?.gruppen || []).flatMap((g) => g.punkte || [])[1]?.schluessel;
|
||||
await hole(handAn.keks, `/workspace/api/checkliste/live/${p2}`, {
|
||||
method: "PUT", headers: jsonKopf, body: JSON.stringify({ stufe: "gut" }),
|
||||
});
|
||||
const c = await hole(dogiAn.keks, "/workspace/api/teamlage");
|
||||
ok(!(c.daten?.eingang || []).some((e) => e.schluessel === p2 && e.person_id === idHand),
|
||||
"„Passt so“ von ihr landet ebenfalls nicht im Eingang");
|
||||
}
|
||||
|
||||
/* ---------- 3. Er meldet etwas --------------------------------------- */
|
||||
@@ -195,7 +262,15 @@ console.log("\n=== 4. Daraus wird eine Aufgabe ===\n");
|
||||
/* Aus dem Eingang verschwunden -- ein Eingang, der nie leer wird,
|
||||
wird nicht mehr angesehen. */
|
||||
const c = await hole(dogiAn.keks, "/workspace/api/teamlage");
|
||||
ok(!(c.daten?.eingang || []).some((e) => e.schluessel === ersterPunkt),
|
||||
/* NACH SCHLUESSEL UND PERSON, nicht nur nach Schluessel (11.09.2026).
|
||||
|
||||
Seit die rechte Hand denselben Katalog benutzt wie die Modis,
|
||||
koennen zwei Menschen denselben Punkt melden -- und tun es in
|
||||
dieser Pruefung auch. Die Frage "ist SEINE Meldung behandelt?"
|
||||
laesst sich dann nicht mehr am Schluessel allein beantworten; die
|
||||
Pruefung meldete einen Fehler, den es nicht gab. */
|
||||
ok(!(c.daten?.eingang || []).some(
|
||||
(e) => e.schluessel === ersterPunkt && e.person_id === idModi),
|
||||
"und ist aus dem Eingang verschwunden");
|
||||
|
||||
/* UND DER MODI MERKT ES. Eine Meldung, auf die nichts folgt, sieht
|
||||
@@ -274,13 +349,34 @@ console.log("\n=== 6. Spicy Media bekommt nichts davon ===\n");
|
||||
|
||||
/* ---------- 7. Die Kachel -------------------------------------------- */
|
||||
console.log("\n=== 7. Die Kachel für euch beide ===\n");
|
||||
for (const [name, an, soll] of [
|
||||
/* GEZAEHLT WIRD NICHT MEHR AUF EINE FESTE ZAHL (11.09.2026).
|
||||
|
||||
Hier stand `1`. Seither sind zwei Kacheln dazugekommen (Ideen-Board
|
||||
und Rueckmeldung), und die Pruefung war ab dem Tag rot, an dem die
|
||||
erste kam -- gemerkt habe ich es erst heute, weil ich sie nach der
|
||||
Aenderung nicht noch einmal habe laufen lassen. Genau der Fehler, vor
|
||||
dem im Haus an drei Stellen gewarnt wird: Eine Pruefung, die bei
|
||||
jeder neuen Kachel rot wird, erzieht dazu, ihr Rotwerden zu
|
||||
ignorieren.
|
||||
|
||||
Geprueft wird deshalb die AUSSAGE statt der Anzahl: Wer welche
|
||||
bekommen soll, bekommt welche -- und JEDE davon gehoert in die
|
||||
Gruppe "Team Dogi". Eine Kachel in der falschen Gruppe faellt damit
|
||||
weiterhin auf, eine zusaetzliche in der richtigen kostet keinen
|
||||
Handgriff mehr. */
|
||||
for (const [name, an, wenigstens] of [
|
||||
["DogFather", dogiAn, 1], ["VanVan", vanAn, 1],
|
||||
["Spicy Media", spicyAn, 0], ["Creator", creatAn, 0], ["Modi", modiAn, 0],
|
||||
]) {
|
||||
const a = await hole(an.keks, "/workspace/api/ich");
|
||||
const n = (a.daten?.bereiche_zusatz || []).length;
|
||||
ok(n === soll, `${name.padEnd(12)} bekommt ${n} Zusatzkachel(n), erwartet ${soll}`);
|
||||
const zusatz = a.daten?.bereiche_zusatz || [];
|
||||
const falsch = zusatz.filter((k) => k.gruppe !== "Team Dogi").map((k) => k.name);
|
||||
ok(wenigstens ? zusatz.length >= 1 : zusatz.length === 0,
|
||||
`${name.padEnd(12)} bekommt ${zusatz.length} Zusatzkachel(n)`
|
||||
+ `, erwartet ${wenigstens ? "mindestens eine" : "keine"}`);
|
||||
ok(falsch.length === 0,
|
||||
`${name.padEnd(12)} und alle stehen in der Gruppe Team Dogi`
|
||||
+ (falsch.length ? ` -- ausser: ${falsch.join(", ")}` : ""));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -73,8 +73,8 @@ function anlegen(name, rolle, code, aktiv = 1, erstellt = jetzt) {
|
||||
andere Aussage (Lehre vom 06.09.2026). */
|
||||
const vor40Tagen = new Date(Date.now() - 40 * 86400000).toISOString();
|
||||
|
||||
anlegen("Filipe", "admin", "CODE-DOGI-0001");
|
||||
anlegen("Rieke", "hand", "CODE-HAND-0001");
|
||||
const idDogi = anlegen("Filipe", "admin", "CODE-DOGI-0001");
|
||||
const idHand = anlegen("Rieke", "hand", "CODE-HAND-0001");
|
||||
const idMarina = anlegen("Marina", "modi", "CODE-MODI-0001", 1, vor40Tagen);
|
||||
const idKim = anlegen("Kim", "modi", "CODE-MODI-0002", 0); // pausiert
|
||||
const idCreator = anlegen("Tili", "creator", "CODE-TILI-0001");
|
||||
@@ -113,7 +113,22 @@ ok(a1.status === 200, `DogFather bekommt die Lage (${a1.status})`);
|
||||
const lage = await a1.json();
|
||||
const leute = lage.modis || [];
|
||||
|
||||
ok(leute.length === 2, `beide Modis stehen da, auch der pausierte (${leute.length})`);
|
||||
/* SEIT DEM 11.09.2026 GEHOERT DIE RECHTE HAND DAZU.
|
||||
|
||||
Filipe: "die rechte hand ist da um mir zu helfen aber auch wie die
|
||||
modis um mir zu sagen was passt und nicht." Damit steht sie in
|
||||
derselben Liste -- sonst kaemen ihre Rueckmeldungen nirgends an.
|
||||
|
||||
Die Zahl steht hier trotzdem, und zwar mit der Rechnung dahinter:
|
||||
zwei Modis (einer pausiert) plus die rechte Hand, minus die Person,
|
||||
die gerade liest. Eine Pruefung, die nur `> 0` verlangt, haette den
|
||||
Umbau nicht bemerkt. */
|
||||
ok(leute.length === 3,
|
||||
`beide Modis und die rechte Hand stehen da, auch der pausierte (${leute.length})`);
|
||||
ok(!leute.some((p) => p.id === idDogi),
|
||||
"und DogFather selbst nicht -- er liest die Seite, er steht nicht darauf");
|
||||
ok(leute.some((p) => p.id === idHand),
|
||||
"die rechte Hand steht wirklich darin (sonst waere die 3 oben Zufall)");
|
||||
|
||||
const marina = leute.find((m) => m.id === idMarina);
|
||||
const kim = leute.find((m) => m.id === idKim);
|
||||
|
||||
@@ -36,7 +36,7 @@ import express from "express";
|
||||
import {
|
||||
db, sitzungLesen, istLeitung, istDogFather, siehtAlles, darfCreator, betreuteIds,
|
||||
protokolliere, echteIp,
|
||||
siehtModis,
|
||||
siehtModis, TEAM_DOGI_ROLLEN,
|
||||
} from "./workspace.js";
|
||||
import { MODI_PUNKTE, MODI_GRUPPENTEXTE } from "./workspace-modi-punkte.js";
|
||||
import {
|
||||
@@ -290,7 +290,23 @@ function gleicheHerkunft(req, res, next) {
|
||||
* und jede davon waere eine Gelegenheit fuer einen Fehler.
|
||||
*/
|
||||
function creatorAus(req) {
|
||||
if (req.person.rolle === "creator" || req.person.rolle === "modi") return req.person.id;
|
||||
/* DIE RECHTE HAND ARBEITET AN IHRER EIGENEN LISTE (11.09.2026).
|
||||
|
||||
Filipe: "die rechte hand soll bei diesen aufgaben auch wie die
|
||||
modis sagen koennen ob es passt oder nicht ... die rechte hand ist
|
||||
da um mir zu helfen aber auch wie die modis um mir zu sagen was
|
||||
passt und nicht."
|
||||
|
||||
Sie stand bis hierher in keinem der beiden Zweige: nicht bei denen
|
||||
mit einer eigenen Liste, und die Auswahl "fuer wen?" darunter gab
|
||||
ihr nur fremde. Ergebnis: Sie konnte ueberall antworten und
|
||||
nirgends etwas beurteilen.
|
||||
|
||||
Aus der MENGE gelesen und nicht als zwei Vergleiche hingeschrieben
|
||||
-- sonst steht hier beim naechsten Mal einer zu wenig. */
|
||||
if (req.person.rolle === "creator" || TEAM_DOGI_ROLLEN.has(req.person.rolle)) {
|
||||
return req.person.id;
|
||||
}
|
||||
const id = Number(req.body?.creator_id || req.query?.creator_id) || 0;
|
||||
if (!id) return 0;
|
||||
return darfPerson(req.person, id) ? id : -1; /* -1 = verboten */
|
||||
@@ -307,7 +323,10 @@ function creatorAus(req) {
|
||||
function darfPerson(person, zielId) {
|
||||
const ziel = db().prepare("SELECT id, rolle FROM personen WHERE id = ?").get(Number(zielId));
|
||||
if (!ziel) return false;
|
||||
if (ziel.rolle === "modi") return siehtModis(person);
|
||||
/* Fuer die rechte Hand gilt dasselbe wie fuer einen Modi: Ihre Liste
|
||||
geht Spicy Media und die Manager nichts an. Aus derselben Menge --
|
||||
zwei Vergleiche waeren zwei Gelegenheiten, einen zu vergessen. */
|
||||
if (TEAM_DOGI_ROLLEN.has(ziel.rolle)) return siehtModis(person);
|
||||
return darfCreator(person, ziel.id);
|
||||
}
|
||||
|
||||
@@ -387,7 +406,20 @@ checklisteRouter.get("/workspace/api/checkliste/:bereich", (req, res) => {
|
||||
const zielRolle = creatorId > 0
|
||||
? db().prepare("SELECT rolle FROM personen WHERE id = ?").get(creatorId)?.rolle
|
||||
: req.person.rolle;
|
||||
const gruppen = gruppenFuer(bereich, zielRolle === "modi");
|
||||
/* WELCHER KATALOG? (11.09.2026 erweitert)
|
||||
|
||||
Es gibt zwei Punktsaetze: den fuer Creator ("Ton geprueft") und
|
||||
den fuer das Team ("Der Ton war durchgehend verstaendlich") --
|
||||
Beobachtungen ueber die Sendung statt Pflichten.
|
||||
|
||||
Die rechte Hand bekam bis hierher den CREATOR-Satz. Sie durfte
|
||||
seit heute frueh zwar urteilen, aber ueber die falschen Punkte:
|
||||
Ihre Meldung trug einen Schluessel, den der Eingang gar nicht
|
||||
kennt -- und wurde dort stillschweigend uebersprungen. Gemessen,
|
||||
nicht vermutet: Die Pruefung meldete "sie darf urteilen (200)"
|
||||
und eine Zeile spaeter "ihre Meldung steht NICHT in DogFathers
|
||||
Eingang". Beides stimmte. */
|
||||
const gruppen = gruppenFuer(bereich, TEAM_DOGI_ROLLEN.has(zielRolle));
|
||||
|
||||
res.json({
|
||||
bereich, name: liste.name,
|
||||
@@ -426,9 +458,9 @@ checklisteRouter.get("/workspace/api/checkliste/:bereich", (req, res) => {
|
||||
DogFather und VanVan LESEN ihn und handeln im Eingang: Aus
|
||||
"Verbessern" wird dort mit einem Klick eine Aufgabe -- oder eine
|
||||
begruendete Absage, die beim Verfasser ankommt. */
|
||||
darf_bewerten: zielRolle === "modi"
|
||||
darf_bewerten: TEAM_DOGI_ROLLEN.has(zielRolle)
|
||||
? req.person.id === creatorId
|
||||
: (req.person.rolle !== "creator" && req.person.rolle !== "modi"),
|
||||
: (req.person.rolle !== "creator" && !TEAM_DOGI_ROLLEN.has(req.person.rolle)),
|
||||
ich: req.person.id,
|
||||
});
|
||||
} catch (fehler) {
|
||||
@@ -450,8 +482,11 @@ checklisteRouter.put("/workspace/api/checkliste/:bereich/:schluessel", gleicheHe
|
||||
const zielRolle = zielId > 0
|
||||
? db().prepare("SELECT rolle FROM personen WHERE id = ?").get(zielId)?.rolle
|
||||
: null;
|
||||
const eigenerBericht = zielRolle === "modi" && req.person.id === zielId;
|
||||
if (zielRolle === "modi" && !eigenerBericht) {
|
||||
/* "Der eigene Bericht" heisst jetzt: eine Liste aus dem Team,
|
||||
und ich bin die Person, um die es geht. Das trifft auf einen
|
||||
Modi zu und seit dem 11.09.2026 ebenso auf die rechte Hand. */
|
||||
const eigenerBericht = TEAM_DOGI_ROLLEN.has(zielRolle) && req.person.id === zielId;
|
||||
if (TEAM_DOGI_ROLLEN.has(zielRolle) && !eigenerBericht) {
|
||||
/* Auch DogFather nicht: Es ist der Bericht des Modis. Er
|
||||
handelt im Eingang, nicht hier.
|
||||
|
||||
@@ -462,12 +497,16 @@ checklisteRouter.put("/workspace/api/checkliste/:bereich/:schluessel", gleicheHe
|
||||
falsche Seite zeigt, ist schlimmer als keiner: Man geht hin,
|
||||
findet nichts und glaubt, die Funktion sei kaputt. */
|
||||
return res.status(403).json({
|
||||
fehler: "Das ist die Rückmeldung des Modis. Sie wird nicht überschrieben, "
|
||||
+ "sondern im Eingang behandelt.",
|
||||
/* DER NAME DER KACHEL, DRITTE FASSUNG. Er stand hier schon
|
||||
einmal falsch ("Team-Lage"); seit dem 11.09.2026 heisst sie
|
||||
"Dein Team". Ein Hinweis, der auf eine Seite zeigt, die es
|
||||
unter diesem Namen nicht gibt, ist schlimmer als keiner. */
|
||||
fehler: "Das ist die Rückmeldung aus dem Team. Sie wird nicht überschrieben, "
|
||||
+ "sondern unter „Dein Team“ behandelt.",
|
||||
});
|
||||
}
|
||||
if (!eigenerBericht
|
||||
&& (req.person.rolle === "creator" || req.person.rolle === "modi")) {
|
||||
&& (req.person.rolle === "creator" || TEAM_DOGI_ROLLEN.has(req.person.rolle))) {
|
||||
return res.status(403).json({
|
||||
fehler: "Die Bewertung setzt deine Betreuung. Du kannst hier antworten.",
|
||||
});
|
||||
|
||||
@@ -147,10 +147,26 @@ teamlageRouter.get("/workspace/api/teamlage", (req, res) => {
|
||||
niemand mehr.
|
||||
|
||||
Aktive zuerst, dann nach Namen -- wer pausiert ist, steht unten
|
||||
und nicht mittendrin. */
|
||||
und nicht mittendrin.
|
||||
|
||||
DIE RECHTE HAND GEHOERT DAZU (11.09.2026). Filipe: "die rechte
|
||||
hand ist da um mir zu helfen aber auch wie die modis um mir zu
|
||||
sagen was passt und nicht."
|
||||
|
||||
Bis hierher stand hier `rolle = 'modi'`. Damit war sie zwar die
|
||||
Empfaengerin dieser Seite, kam auf ihr aber nicht vor -- und vor
|
||||
allem: Ihre Rueckmeldungen landeten nirgends. Der Eingang weiter
|
||||
unten sammelt genau aus dieser Liste; wer nicht darin steht, kann
|
||||
melden, so viel er will, es kommt nicht an.
|
||||
|
||||
`id <> ?` LAESST DEN LESER SELBST HERAUS. Ohne das saehe die
|
||||
rechte Hand eine Karte ueber sich selbst -- mit ihrer eigenen
|
||||
Ampel, ihrer eigenen Stufe und ihren eigenen offenen Punkten.
|
||||
Das ist kein Ueberblick ueber das Team, das ist ein Spiegel. */
|
||||
const modis = db().prepare(
|
||||
`SELECT id, name, bild, letzter_login, aktiv, erstellt, stufe FROM personen
|
||||
WHERE rolle = 'modi' ORDER BY aktiv DESC, name`).all();
|
||||
WHERE rolle IN ('hand','modi') AND id <> ?
|
||||
ORDER BY aktiv DESC, name`).all(person.id);
|
||||
|
||||
if (!modis.length) {
|
||||
/* `eingang` auch hier -- die Oberflaeche darf nicht raten
|
||||
|
||||
+20
-1
@@ -4256,7 +4256,26 @@ export function termineSichtbar(person, praefix = "t") {
|
||||
`teilnehmer_id` gehoert in die Liste. Ein Gespraech mit einem
|
||||
Creator haengt oft an gar keiner creator_id -- der Creator IST das
|
||||
Gegenueber. Wer nur zwei Spalten prueft, hat hier nichts geprueft. */
|
||||
if (person.haus === "crew") {
|
||||
/* EINE AUSNAHME, UND ZWAR GENAU EINE (11.09.2026).
|
||||
|
||||
Filipe: "mein kalender (dogfather) auf dieser seite hier soll
|
||||
komplett verbunden sein mit dem kalender in der workspace seite
|
||||
ABER NUR IN DER DOGFATHER ROLLE BEI DOGFATHER: NICHT BEI VANVAN."
|
||||
|
||||
Ein Kalender ist etwas anderes als eine Liste. Bei den Aufgaben,
|
||||
den Bereichen und den Dateien ist die Trennung eine Hilfe -- man
|
||||
will das andere Haus gerade NICHT sehen. Beim Kalender waere sie
|
||||
eine Falle: Wer auf der Team-Seite einen Termin einträgt und die
|
||||
Haelfte seines Tages nicht sieht, legt ihn auf eine Zeit, in der er
|
||||
schon woanders sitzt. Ein Kalender, der nur die halbe Wahrheit
|
||||
zeigt, ist schlimmer als keiner.
|
||||
|
||||
NUR FUER DIE DOGFATHER-ROLLE, und das ist sein ausdrueckliches
|
||||
Wort. Die rechte Hand behaelt die Trennung: Sie arbeitet auf dieser
|
||||
Adresse mit dem Team, und die Termine der Agentur gehen sie dort
|
||||
nichts an. Geprueft wird die ROLLE und nicht der Name -- ein Name
|
||||
waere die Stelle, an der es beim naechsten Menschen bricht. */
|
||||
if (person.haus === "crew" && person.rolle !== "admin") {
|
||||
return {
|
||||
wo: `(${eigen}) AND ${ohneAgentur(p, ["creator_id", "teilnehmer_id", "erstellt_von"])}`,
|
||||
werte,
|
||||
|
||||
@@ -13,25 +13,25 @@
|
||||
"theme_color": "#06090f",
|
||||
"icons": [
|
||||
{
|
||||
"src": "/assets/img/app-symbole/workspace-192.png?v=202609110022",
|
||||
"src": "/assets/img/app-symbole/workspace-192.png?v=202609110045",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/app-symbole/workspace-512.png?v=202609110022",
|
||||
"src": "/assets/img/app-symbole/workspace-512.png?v=202609110045",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202609110022",
|
||||
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202609110045",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202609110022",
|
||||
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202609110045",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
|
||||
@@ -287,26 +287,108 @@
|
||||
steht auf JEDER Seite und liegt beim Lesen immer im Bild. Sie darf
|
||||
nicht leuchten, nur schimmern.
|
||||
===================================================================== */
|
||||
/* =====================================================================
|
||||
DIE LEISTE ALS UNIVERSUM (11.09.2026)
|
||||
|
||||
Filipe: "der hintergrund dieser leiste soll extrem speziell aussehen
|
||||
wie ein universum und soll von lila auf babyblau wechseln, von links
|
||||
nach rechts. mach das uebertrieben geil."
|
||||
|
||||
DIE RICHTUNG IST DIE EIGENTLICHE AENDERUNG. Vorher lief der Schein
|
||||
von UNTEN nach oben (die Glut der Agenturseite, nur in Lila). Jetzt
|
||||
laeuft er von LINKS nach rechts: Lila am Anfang, Babyblau am Ende --
|
||||
dieselbe Diagonale, die im ganzen Haus gilt, nur waagerecht gelegt,
|
||||
weil eine Leiste breit ist und nicht hoch.
|
||||
|
||||
DAS STERNENFELD SIND SIEBEN VERLAEUFE UND KEINE ELEMENTE. Sieben
|
||||
Punkte waeren sieben Knoten im Baum, auf jeder der zwanzig Seiten,
|
||||
nur fuer Zierde. Als Verlaufslagen kosten sie nichts und lassen sich
|
||||
nicht anklicken.
|
||||
|
||||
"UEBERTRIEBEN GEIL" HAT EINE GRENZE, und sie steht nicht zur
|
||||
Verhandlung: Diese Leiste liegt auf JEDER Seite dauerhaft im Bild.
|
||||
Die kraeftigste Lage bleibt bei 34 %, die Sterne bei 55 % auf
|
||||
anderthalb Bildpunkten. Was darueber liegt, ist keine Stimmung mehr,
|
||||
sondern ein Flimmern am oberen Bildrand -- und die Schrift davor muss
|
||||
lesbar bleiben. */
|
||||
.kopfleiste {
|
||||
background:
|
||||
/* der Schimmer an der Unterkante */
|
||||
linear-gradient(180deg,
|
||||
transparent 34%,
|
||||
rgba(74, 46, 150, .15) 72%,
|
||||
rgba(116, 78, 214, .28) 100%),
|
||||
/* in der Mitte kraeftiger als an den Raendern */
|
||||
radial-gradient(120% 190% at 50% 118%,
|
||||
rgba(169, 139, 255, .30) 0%,
|
||||
rgba(88, 56, 168, .18) 38%,
|
||||
transparent 72%),
|
||||
rgba(8, 7, 18, .88);
|
||||
/* 1. das Sternenfeld -- unregelmaessig gesetzt, nicht im Raster:
|
||||
gleichmaessige Punkte lesen sich als Muster, nicht als Himmel */
|
||||
radial-gradient(1.4px 1.4px at 9% 66%, rgba(255, 255, 255, .55), transparent),
|
||||
radial-gradient(1px 1px at 21% 28%, rgba(214, 226, 255, .45), transparent),
|
||||
radial-gradient(1.2px 1.2px at 34% 74%, rgba(226, 216, 255, .40), transparent),
|
||||
radial-gradient(1px 1px at 52% 22%, rgba(255, 255, 255, .38), transparent),
|
||||
radial-gradient(1.5px 1.5px at 67% 60%, rgba(198, 226, 255, .48), transparent),
|
||||
radial-gradient(1px 1px at 81% 32%, rgba(255, 255, 255, .34), transparent),
|
||||
radial-gradient(1.2px 1.2px at 93% 70%, rgba(186, 220, 255, .42), transparent),
|
||||
/* 2. zwei Nebel, einer je Seite -- sie geben dem Verlauf Tiefe,
|
||||
statt ihn flach durchlaufen zu lassen */
|
||||
radial-gradient(70% 220% at 8% 120%, rgba(150, 110, 255, .44), transparent 70%),
|
||||
radial-gradient(70% 220% at 92% 120%, rgba(126, 200, 242, .38), transparent 70%),
|
||||
/* 3. der Verlauf selbst: links Lila, rechts Babyblau.
|
||||
|
||||
DIE WERTE SIND NACHGEMESSEN, NICHT GEWAEHLT. Beim ersten
|
||||
Anlauf lagen sie bei .30/.26 -- der Verlauf war zu ahnen und
|
||||
nicht zu sehen. Gemessen am fertigen Bildschirmfoto hielt die
|
||||
Leiste dabei 5,26:1 an ihrer schlechtesten Stelle, bei einer
|
||||
Grenze von 4,5. Da war Luft, und die ist jetzt genutzt: Die
|
||||
Lagen sind kraeftiger, die schlechteste Stelle bleibt ueber
|
||||
der Grenze. Wer sie weiter aufdreht, misst wieder nach --
|
||||
diese Leiste steht auf JEDER Seite dauerhaft im Bild. */
|
||||
linear-gradient(90deg,
|
||||
rgba(132, 96, 240, .40) 0%,
|
||||
/* Die MITTE bleibt zurueckhaltender als die Enden -- dort stand
|
||||
im Bildschirmfoto der schlechteste Kontrast (4,79:1 bei einer
|
||||
Grenze von 4,5, also zu knapp). Die Farbe liest das Auge
|
||||
ohnehin an den Enden; in der Mitte gewinnt die Lesbarkeit. */
|
||||
rgba(124, 112, 236, .22) 34%,
|
||||
rgba(110, 158, 244, .20) 64%,
|
||||
rgba(126, 200, 242, .36) 100%),
|
||||
/* 4. der dunkle Grund darunter -- er traegt die Lesbarkeit */
|
||||
rgba(8, 7, 18, .9);
|
||||
}
|
||||
/* Die Naht zum Inhalt schimmert mit -- sonst endet das Licht an einer
|
||||
grauen Linie. */
|
||||
/* Die Naht unten laeuft mit -- links Lila, rechts Babyblau, an beiden
|
||||
Enden auslaufend. Eine Kante, die in der Mitte am hellsten ist, waere
|
||||
ein Strich; eine, die die Richtung des Verlaufs aufnimmt, ist sein
|
||||
Abschluss. */
|
||||
.kopfleiste::after {
|
||||
background: linear-gradient(90deg,
|
||||
transparent, rgba(150, 122, 255, .55) 22%, rgba(178, 150, 255, .75) 50%,
|
||||
rgba(150, 122, 255, .55) 78%, transparent);
|
||||
transparent, rgba(150, 122, 255, .70) 18%, rgba(150, 150, 250, .62) 50%,
|
||||
rgba(126, 200, 242, .70) 82%, transparent);
|
||||
}
|
||||
|
||||
/* ---- Die beiden Zeichen ---------------------------------------------
|
||||
Filipe: "der husky links soll auch babyblau strahlen und nicht rot
|
||||
und der rechts lila."
|
||||
|
||||
Links stand ein warmes Rot (`rgba(255, 92, 68, .5)`) -- die Farbe
|
||||
der Agentur, fest hingeschrieben in start.css. Rechts strahlte der
|
||||
zweite Husky babyblau. Die beiden tauschen jetzt die Seiten: Der
|
||||
Verlauf der Leiste beginnt links in Lila und endet rechts in
|
||||
Babyblau, die Zeichen setzen den Gegenakzent -- so hat jede Seite
|
||||
beide Farben, statt dass jede nur eine hat. */
|
||||
.kopfleiste .marke::before {
|
||||
filter: saturate(1.06) brightness(1.06)
|
||||
drop-shadow(0 0 7px rgba(143, 216, 255, .62));
|
||||
}
|
||||
.kopfleiste:hover .marke::before {
|
||||
filter: saturate(1.1) brightness(1.16)
|
||||
drop-shadow(0 0 9px rgba(143, 216, 255, .75));
|
||||
}
|
||||
/* Der rechte Husky ist eine MASKE mit einem Verlauf darin -- seine
|
||||
Fuellung wird mitgetauscht, nicht nur der Schein. Ein lila Schein um
|
||||
ein blaues Zeichen waere ein Rand, keine Farbe. */
|
||||
.kopfleiste .marke::after {
|
||||
background-image:
|
||||
url("../img/marke-husky.webp"),
|
||||
linear-gradient(162deg, #9a7ee8 0%, #6a4bc0 44%, #33236b 100%);
|
||||
filter: brightness(.9) drop-shadow(0 0 6px rgba(169, 139, 255, .55));
|
||||
}
|
||||
.kopfleiste:hover .marke::after {
|
||||
filter: brightness(1.04) drop-shadow(0 0 8px rgba(169, 139, 255, .68));
|
||||
}
|
||||
|
||||
/* Der Schriftzug selbst. Links stand die Chili in Rot, rechts das
|
||||
|
||||
@@ -201,7 +201,22 @@
|
||||
function teilenKnopf(ich) {
|
||||
const leiste = document.querySelector('.kopfleiste__rechts');
|
||||
if (!leiste || document.getElementById('teilen')) return;
|
||||
if (!DARF_TEILEN.has(ich.rolle)) return;
|
||||
/* UND WER ZU TEAM DOGI GEHOERT (11.09.2026).
|
||||
|
||||
Filipe: "dan brauch ich auch noch einen teilen button in der
|
||||
leiste." Auf der Team-Adresse fehlte er -- `DARF_TEILEN` kennt
|
||||
Leitung und Scouts, und die rechte Hand ist keins von beiden.
|
||||
|
||||
GEFRAGT WIRD NICHT NACH DER ROLLE, sondern nach `ich.marke`. Die
|
||||
setzt der Server genau dann, wenn jemand zu Team Dogi gehoert
|
||||
ODER auf dessen Adresse steht -- und sie steht hier ohnehin schon
|
||||
im Zugriff. Der Rollenname bleibt damit aus dieser Datei heraus,
|
||||
und zwar nicht als Trick, sondern weil die Frage wirklich lautet:
|
||||
"gehoert diese Person hierher?"
|
||||
|
||||
Teilen gibt ohnehin nur die ADRESSE der Seite weiter -- es
|
||||
verraet nichts, was der Angemeldete nicht ohnehin sieht. */
|
||||
if (!DARF_TEILEN.has(ich.rolle) && !ich.marke) return;
|
||||
const kannTeilen = typeof navigator.share === 'function';
|
||||
const kannKopieren = !!navigator.clipboard?.writeText;
|
||||
if (!kannTeilen && !kannKopieren) return;
|
||||
|
||||
+12
-12
@@ -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=202609110022" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110022" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609110045" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110045" />
|
||||
<!-- 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=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609110045" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -252,10 +252,10 @@
|
||||
</form>
|
||||
</dialog>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/aufgaben.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/aufgaben.js?v=202609110045" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+13
-13
@@ -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=202609110022" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/automation.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110022" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609110045" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/automation.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110045" />
|
||||
<!-- 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=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609110045" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -147,10 +147,10 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/automation.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/automation.js?v=202609110045" 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=202609110022" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110022" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609110045" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110045" />
|
||||
<!-- 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=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609110045" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -181,14 +181,14 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/checkliste.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/ampel.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/schulung.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/vorlagen.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/bereich.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/checkliste.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/ampel.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/schulung.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/vorlagen.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/bereich.js?v=202609110045" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+14
-14
@@ -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=202609110022" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/calls.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110022" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609110045" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/calls.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110045" />
|
||||
<!-- 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=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609110045" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -89,11 +89,11 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/ki.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/calls.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/ki.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/calls.js?v=202609110045" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+13
-13
@@ -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=202609110022" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110022" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609110045" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110045" />
|
||||
<!-- 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=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/chat.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/chat.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110045" />
|
||||
<!-- 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=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609110045" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -289,10 +289,10 @@
|
||||
</form>
|
||||
</dialog>
|
||||
|
||||
<script src="assets/js/bereiche.js?v=202609110022"></script>
|
||||
<script src="assets/js/wahl.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110022"></script>
|
||||
<script src="assets/js/glocke.js?v=202609110022"></script>
|
||||
<script src="assets/js/chat.js?v=202609110022"></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110045"></script>
|
||||
<script src="assets/js/wahl.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110045"></script>
|
||||
<script src="assets/js/glocke.js?v=202609110045"></script>
|
||||
<script src="assets/js/chat.js?v=202609110045"></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=202609110022" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/content.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110022" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609110045" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/content.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110045" />
|
||||
<!-- 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=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609110045" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -179,12 +179,12 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/checkliste.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/vorlagen.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/content.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/checkliste.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/vorlagen.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/content.js?v=202609110045" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -30,15 +30,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=202609110022" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110022" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/crew-32.png?v=202609110045" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110045" />
|
||||
<!-- 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=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/crew-haus.css?v=202609110045" />
|
||||
</head>
|
||||
|
||||
<body class="gate gate--crew">
|
||||
@@ -252,6 +252,6 @@
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<script src="assets/js/gate.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/gate.js?v=202609110045" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -13,25 +13,25 @@
|
||||
"theme_color": "#06090f",
|
||||
"icons": [
|
||||
{
|
||||
"src": "/assets/img/app-symbole/crew-192.png?v=202609110022",
|
||||
"src": "/assets/img/app-symbole/crew-192.png?v=202609110045",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/app-symbole/crew-512.png?v=202609110022",
|
||||
"src": "/assets/img/app-symbole/crew-512.png?v=202609110045",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/app-symbole/crew-192-maskable.png?v=202609110022",
|
||||
"src": "/assets/img/app-symbole/crew-192-maskable.png?v=202609110045",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/app-symbole/crew-512-maskable.png?v=202609110022",
|
||||
"src": "/assets/img/app-symbole/crew-512-maskable.png?v=202609110045",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
|
||||
+13
-13
@@ -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=202609110022" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/dateien.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110022" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609110045" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/dateien.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110045" />
|
||||
<!-- 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=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609110045" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -108,10 +108,10 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/dateien.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/dateien.js?v=202609110045" 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=202609110022" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110022" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609110045" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110045" />
|
||||
</head>
|
||||
|
||||
<body class="gate">
|
||||
@@ -401,6 +401,6 @@
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<script src="assets/js/gate.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/gate.js?v=202609110045" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+14
-14
@@ -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=202609110022" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/kalender.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110022" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609110045" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/kalender.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110045" />
|
||||
<!-- 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=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609110045" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -377,11 +377,11 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/kalender.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/kalender-abo.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/kalender.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/kalender-abo.js?v=202609110045" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+13
-13
@@ -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=202609110022" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/leistung.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110022" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609110045" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/leistung.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110045" />
|
||||
<!-- 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=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609110045" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -224,10 +224,10 @@
|
||||
</form>
|
||||
</dialog>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609110022"></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110022"></script>
|
||||
<script src="assets/js/kopf.js?v=202609110022"></script>
|
||||
<script src="assets/js/glocke.js?v=202609110022"></script>
|
||||
<script src="assets/js/leistung.js?v=202609110022"></script>
|
||||
<script src="assets/js/wahl.js?v=202609110045"></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110045"></script>
|
||||
<script src="assets/js/kopf.js?v=202609110045"></script>
|
||||
<script src="assets/js/glocke.js?v=202609110045"></script>
|
||||
<script src="assets/js/leistung.js?v=202609110045"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+13
-13
@@ -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=202609110022" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/personen.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110022" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609110045" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/personen.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110045" />
|
||||
<!-- 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=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609110045" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -396,10 +396,10 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/personen.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/personen.js?v=202609110045" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+14
-14
@@ -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=202609110022" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/profil.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110022" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609110045" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/profil.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110045" />
|
||||
<!-- 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=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609110045" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -214,11 +214,11 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/steckbrief.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/profil.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/steckbrief.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/profil.js?v=202609110045" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+14
-14
@@ -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=202609110022" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/report.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110022" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609110045" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/report.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110045" />
|
||||
<!-- 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=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609110045" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -106,11 +106,11 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/ki.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/report.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/ki.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/report.js?v=202609110045" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+13
-13
@@ -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=202609110022" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/scouting.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110022" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609110045" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/scouting.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110045" />
|
||||
<!-- 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=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609110045" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -139,10 +139,10 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/scouting.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/scouting.js?v=202609110045" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+12
-12
@@ -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=202609110022" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110022" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609110045" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110045" />
|
||||
<!-- 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=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/heim.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110045" />
|
||||
<!-- 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=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609110045" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -674,10 +674,10 @@
|
||||
</p>
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/start.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/start.js?v=202609110045" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+14
-14
@@ -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=202609110022" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/startcheck.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110022" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609110045" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/startcheck.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110045" />
|
||||
<!-- 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=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609110045" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -85,11 +85,11 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/ki.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/startcheck.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/ki.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/startcheck.js?v=202609110045" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+13
-13
@@ -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=202609110022" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/profil.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110022" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609110045" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/profil.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110045" />
|
||||
<!-- 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=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609110045" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -126,10 +126,10 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/steckbrief.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/steckbrief.js?v=202609110045" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+13
-13
@@ -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=202609110022" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/team.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110022" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609110045" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/team.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110045" />
|
||||
<!-- 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=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609110045" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -110,10 +110,10 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/team.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/team.js?v=202609110045" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+12
-12
@@ -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=202609110022" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/team.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110022" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609110045" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/team.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110045" />
|
||||
<!-- 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=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609110045" />
|
||||
</head>
|
||||
|
||||
<!-- `data-buehne` steht hier fest und nicht im Skript: Die Kachel zu
|
||||
@@ -84,9 +84,9 @@
|
||||
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/wahl.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/teamlage.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/teamlage.js?v=202609110045" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+13
-13
@@ -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=202609110022" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110022" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609110045" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110045" />
|
||||
<!-- Formular- und Dialogstile: seit dem 07.09.2026 steht hier der
|
||||
Dialog "Creator anlegen". -->
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110045" />
|
||||
<!-- 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=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609110045" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -149,11 +149,11 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/bereiche.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110045" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/uebersicht.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/uebersicht.js?v=202609110045" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+13
-13
@@ -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=202609110022" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/wissen.css?v=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110022" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609110045" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/wissen.css?v=202609110045" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609110045" />
|
||||
<!-- 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=202609110022" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202609110045" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -190,10 +190,10 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/wissen.js?v=202609110022" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609110045" defer></script>
|
||||
<script src="assets/js/wissen.js?v=202609110045" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user