Jeder darf seine eigene Chat-Nachricht bearbeiten

Filipe: "die nachrichten die man in den chat reinschreibt. jeder soll
seine eigene nachricht bearbeiten koennen. diese option soll jeder
fuer seine eigene nachrichten haben die er selber verfasst hat."

NUR DIE EIGENE -- OHNE AUSNAHME, auch nicht fuer DogFather und die
rechte Hand. Beim LOESCHEN gibt es diese Ausnahme seit dem 22.09.
(fuer den Notfall), und es waere naheliegend gewesen, sie
mitzunehmen. Das waere falsch: Eine fremde Nachricht zu entfernen
heisst "das soll hier nicht stehen". Eine fremde zu AENDERN heisst,
jemandem Worte in den Mund zu legen, die unter seinem Namen und
seinem Bild stehen bleiben. Nicht dieselbe Befugnis in groesser,
sondern eine andere. Genau das ist die wichtigste Pruefzeile:
DogFather darf loeschen und bekommt beim Bearbeiten 403/404.

AN DER NACHRICHT STEHT "BEARBEITET". Ein Text, der sich still
aendert, nachdem andere darauf geantwortet haben, ist ein
Vertrauensproblem und kein Komfort. Der Vermerk traegt die Zeit im
Titel. Derselbe Text setzt ihn NICHT -- sonst stuende er irgendwann
ueberall und waere nichts mehr wert.

ERWAEHNUNGEN BLEIBEN, WIE SIE BEIM SENDEN WAREN. Wer beim Bearbeiten
"@Anna" ergaenzt, spricht Anna damit nicht an. Sonst gaebe es nur
schlechte Wege: nachtraeglich benachrichtigen laesst sich beliebig
oft wiederholen, und still eintragen setzt jemanden auf eine Liste,
von der er nie erfaehrt. Ansprechen tut man mit einer neuen
Nachricht. (Falls das anders gewuenscht ist, ist es eine eigene
Entscheidung -- nicht etwas, das hier nebenbei mitpassiert.)

DER RAUM RUECKT NICHT NACH OBEN und niemand bekommt die Nachricht
als ungelesen: Eine Tippfehlerkorrektur ist keine Wortmeldung.
`letzte_am` wird deshalb nicht angefasst.

Leer geht nicht -- dafuer steht "loeschen" daneben, mit Rueckfrage.
Grenzen (4000 Zeichen) sind dieselben wie beim Senden; eine zweite
Rechnung waere die, die auseinanderlaeuft.

Das Feld sitzt AN der Nachricht, nicht im Schreibfeld unten: Wer
seinen Text zum Bearbeiten unten wiederfindet, schickt ihn beim
naechsten Enter als NEUE Nachricht ab und hat ihn zweimal im Raum.
Enter speichert, Shift+Enter macht eine Zeile, Escape bricht ab --
dieselben Tasten wie beim Schreiben. 16 px Schrift, sonst zoomt iOS
beim Hineintippen die ganze Seite heran.

Der Stift traegt sich in die Familie der Handgriffe ein, wie es der
Hinweis in chat.css ausdruecklich verlangt ("wer einen sechsten
Handgriff baut, traegt ihn hier ein und bekommt sein Zeichen").

EIN FEHLER, DEN NUR DAS BILD GEZEIGT HAT. Ich hatte im Code
behauptet, die Gespraechsliste aendere sich beim Bearbeiten nicht,
und darum auf das Nachladen verzichtet. Auf dem Bildschirmfoto stand
rechts "Treffen um 15 Uhr" und links in der Liste weiter "Du:
Treffen um 15 Urh" -- derselbe Satz, zweimal verschieden, auf einem
Schirm. Richtig ist: Die REIHENFOLGE aendert sich nicht, die
VORSCHAU sehr wohl. Beide Haelften waren fuer sich gemessen und
gruen; keine Zahl hat es gemerkt.

pruef-chat 17 neue Pruefungen: eigene geht, fremde nicht, DogFather
nicht, Vermerk kommt mit nach draussen (auch im SELECT -- genau das
hat am 03.10. bei den Anhaengen einen halben Tag gekostet), Raum
rueckt nicht, Vorschau zieht nach, leer/zu lang abgelehnt,
unveraendert ohne Vermerk, geloeschte nicht bearbeitbar, wer nicht
im Raum ist bekommt 404 statt 403.

pruef-chat-optik 71 -> 84: im echten Browser, mit zwei Sitzungen.
Darunter die Zeile, auf die es ankommt -- der neue Text steht bei
Patrick, OHNE Neuladen. Ein Bearbeiten, das nur der Schreibende
sieht, waere schlimmer als keins.

Dabei zwei eigene Messfehler behoben: Die Sitzungen von oben waren
laengst geschlossen (Playwright meldet nur "Target page has been
closed"), und beide klickten "das oberste Gespraech" statt
denselben Raum -- wodurch die Pruefung "an ihr steht KEIN
bearbeiten" gruen war, weil die Nachricht gar nicht da war. Sie
haengt jetzt daran, dass er sie wirklich sieht.

Datenbank vorher gesichert und zurueckgelesen (integrity_check,
324 Nachrichten, 20 Personen).

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-10-04 00:06:29 +02:00
co-authored by Claude Opus 5
parent 5d9c8cd377
commit b625d901a5
52 changed files with 1314 additions and 686 deletions
+151
View File
@@ -1065,6 +1065,157 @@ melde("\n=== Wer hat reagiert? ===");
" das Vorlesewort der Kachel nennt sie auf beiden Geräten");
}
/* =====================================================================
BEARBEITEN -- AM ECHTEN BROWSER (03.10.2026)
Filipe: "jeder soll seine eigene nachricht bearbeiten koennen."
Die Route ist in pruef-chat gemessen. Hier geht es um das, was eine
Route nicht zeigen kann: Steht der Knopf da, wo man ihn braucht,
steht er NICHT an fremden Nachrichten, und kommt der neue Text bei
dem an, der daneben sitzt -- ohne dass er neu laedt.
DIE LETZTE FRAGE IST DIE WICHTIGSTE. Ein Bearbeiten, das nur der
Schreibende sieht, ist schlimmer als keins: Zwei Leute haetten
denselben Satz verschieden im Bild und wuessten es nicht.
===================================================================== */
console.log("\n=== Eine eigene Nachricht bearbeiten (im Browser) ===");
{
/* EIGENE SITZUNGEN, NICHT DIE VON OBEN. Die Namen `luna` und `pat`
gibt es hier noch, ihre Kontexte sind aber seit Abschnitt 3
geschlossen -- und Playwright meldet dann nur "Target page has
been closed", nicht, woran es liegt. Genau daran bin ich hier
einmal haengengeblieben. */
const luna2 = await alsRolle("creator", "CODE-CREA-0001");
const pat2 = await alsRolle("scout", "CODE-SCOU-0001");
/* DERSELBE RAUM BEI BEIDEN -- und zwar ueber die NUMMER, nicht ueber
"den ersten in der Liste" (03.10.2026).
Der erste Anlauf liess beide auf `.chat-raum__knopf` klicken, also
jeweils auf ihr oberstes Gespraech. Inzwischen gibt es in diesem
Lauf mehrere: Luna landete in ihrem, Patrick in einem anderen, und
die Messung meldete "Patrick sieht die Nachricht nicht" -- ein
Befund, der dem Testaufbau gehoerte und nicht dem Haus.
Schlimmer war die Nebenwirkung: Die Pruefung "an ihr steht KEIN
bearbeiten" war gruen, weil die Nachricht ueberhaupt nicht da war.
Ein gruener Haken fuer ein Element, das es nicht gibt -- genau die
Sorte, die nichts beweist. Deshalb haengt sie unten jetzt daran,
dass er sie wirklich sieht. */
await luna2.seite.waitForSelector(".chat-raum__knopf", { timeout: 10000 });
const raumNr = await luna2.seite.evaluate(() => {
const li = [...document.querySelectorAll("li[data-id]")]
.find((x) => /Patrick/.test(x.textContent));
return li ? li.dataset.id : null;
});
ok(!!raumNr, `das Gespraech mit Patrick steht in Lunas Liste (#${raumNr})`);
for (const wer of [luna2, pat2]) {
await wer.seite.waitForSelector(`li[data-id="${raumNr}"] .chat-raum__knopf`, { timeout: 10000 });
await wer.seite.click(`li[data-id="${raumNr}"] .chat-raum__knopf`);
await wer.seite.waitForSelector("#schreiben:not([hidden])", { timeout: 10000 });
}
await luna2.seite.waitForTimeout(600);
await luna2.seite.fill("#text", "Treffen um 15 Urh");
await luna2.seite.click("#senden");
await luna2.seite.waitForTimeout(900);
/* Bei Luna steht der Knopf, bei Patrick an derselben Nachricht
nicht -- das ist die Gegenprobe, und sie laeuft am SELBEN Satz. */
const knopfBeiLuna = await luna2.seite.evaluate(() => {
const k = [...document.querySelectorAll(".chat-nachricht")]
.find((x) => /15 Urh/.test(x.textContent));
return !!k?.querySelector(".chat-nachricht__bearb-knopf");
});
ok(knopfBeiLuna, "an der eigenen Nachricht steht „bearbeiten“");
await pat2.seite.waitForTimeout(600);
const knopfBeiPat = await pat2.seite.evaluate(() => {
const k = [...document.querySelectorAll(".chat-nachricht")]
.find((x) => /15 Urh/.test(x.textContent));
return { da: !!k, knopf: !!k?.querySelector(".chat-nachricht__bearb-knopf") };
});
/* DIE ZWEITE ZEILE HAENGT AN DER ERSTEN. "Kein Knopf" ist sonst auch
wahr, wenn die Nachricht gar nicht da ist -- und dann prueft die
Zeile nichts. */
ok(knopfBeiPat.da, "Patrick sieht dieselbe Nachricht");
ok(knopfBeiPat.da && knopfBeiPat.knopf === false,
"und an ihr KEIN „bearbeiten“ — fremde Worte aendert niemand");
/* Luna oeffnet das Feld und richtet den Tippfehler. */
await luna2.seite.evaluate(() => {
[...document.querySelectorAll(".chat-nachricht")]
.find((x) => /15 Urh/.test(x.textContent))
?.querySelector(".chat-nachricht__bearb-knopf")?.click();
});
await luna2.seite.waitForSelector(".chat-bearb__feld", { timeout: 8000 });
const feldGross = await luna2.seite.evaluate(() => {
const f = document.querySelector(".chat-bearb__feld");
const r = f.getBoundingClientRect();
return { schrift: parseFloat(getComputedStyle(f).fontSize), hoch: Math.round(r.height),
wert: f.value };
});
ok(feldGross.wert === "Treffen um 15 Urh",
`im Feld steht der alte Text ("${feldGross.wert}")`);
/* 16 px, sonst zoomt iOS beim Hineintippen die ganze Seite heran. */
ok(feldGross.schrift >= 16, `Schrift im Feld ${feldGross.schrift} px (mindestens 16)`);
await luna2.seite.fill(".chat-bearb__feld", "Treffen um 15 Uhr");
await luna2.seite.click(".chat-bearb__knopf--ja");
await luna2.seite.waitForTimeout(900);
const beiLunaNach = await luna2.seite.evaluate(() => {
const k = [...document.querySelectorAll(".chat-nachricht")]
.find((x) => /15 Uhr/.test(x.textContent));
return {
text: k?.querySelector(".chat-nachricht__text")?.textContent,
vermerk: k?.querySelector(".chat-nachricht__bearbeitet")?.textContent || null,
feldNochDa: !!document.querySelector(".chat-bearb__feld"),
};
});
ok(beiLunaNach.text === "Treffen um 15 Uhr",
`bei ihr steht der neue Text ("${beiLunaNach.text}")`);
ok(beiLunaNach.vermerk === "bearbeitet",
`und daneben der Vermerk (${beiLunaNach.vermerk})`);
ok(beiLunaNach.feldNochDa === false, "das Feld ist wieder zu");
/* DIE VORSCHAU LINKS MUSS MITKOMMEN (03.10.2026).
Diese Zeile gibt es, weil ein Bildschirmfoto sie erzwungen hat:
Rechts stand schon "Treffen um 15 Uhr", links in der
Gespraechsliste weiter "Du: Treffen um 15 Urh". Derselbe Satz,
zweimal verschieden, auf einem Schirm -- und keine einzige
Messung hat es gemerkt, weil beide Haelften fuer sich stimmten. */
await luna2.seite.waitForTimeout(700);
const vorschau = await luna2.seite.evaluate((nr) =>
document.querySelector(`li[data-id="${nr}"]`)?.textContent || "", raumNr);
ok(/15 Uhr/.test(vorschau) && !/15 Urh/.test(vorschau),
`die Vorschau in der Liste zeigt den neuen Text ("${vorschau.replace(/\s+/g, " ").trim()}")`);
/* UND BEI PATRICK -- ohne Neuladen, ueber den Ereignisstrom. */
await pat2.seite.waitForTimeout(1200);
const beiPatNach = await pat2.seite.evaluate(() => {
const alle = [...document.querySelectorAll(".chat-nachricht")];
const k = alle.find((x) => /15 Uhr/.test(x.textContent));
return {
neu: k?.querySelector(".chat-nachricht__text")?.textContent,
vermerk: !!k?.querySelector(".chat-nachricht__bearbeitet"),
altNochDa: alle.some((x) => /15 Urh/.test(x.textContent)),
};
});
ok(beiPatNach.neu === "Treffen um 15 Uhr",
`bei Patrick steht er auch -- ohne Neuladen ("${beiPatNach.neu}")`);
ok(beiPatNach.vermerk, "mit demselben Vermerk");
ok(beiPatNach.altNochDa === false,
"und der alte Satz ist nicht doppelt stehengeblieben");
await luna2.seite.screenshot({ path: new URL("./pruef-chat-bearbeiten.png", import.meta.url)
.pathname.replace(/^\/([A-Za-z]:)/, "$1") });
await luna2.ctx.close();
await pat2.ctx.close();
}
await browser.close();
try { rmSync(ordner, { recursive: true, force: true }); } catch { /* egal */ }
+115
View File
@@ -313,6 +313,121 @@ console.log("\n=== Ungelesene Nachrichten ===");
ok(zurueck === 0, `ein alter "gelesen bis 1" dreht nichts zurück (${zurueck})`);
}
/* =======================================================================
6b. EIGENE NACHRICHT BEARBEITEN (03.10.2026)
Filipe: "die nachrichten die man in den chat reinschreibt. jeder
soll seine eigene nachricht bearbeiten koennen."
DIE WICHTIGSTE ZEILE IST DIE GEGENPROBE MIT DOGFATHER. Er darf
JEDE Nachricht loeschen -- fuer den Notfall, so steht es seit dem
22.09. im Haus. Beim Bearbeiten darf er das ausdruecklich NICHT:
Eine fremde Nachricht zu entfernen heisst "das soll hier nicht
stehen"; sie zu AENDERN heisst, jemandem Worte in den Mund zu
legen, die unter seinem Namen und seinem Bild stehen bleiben.
Waere der Loeschweg hier blind mituebernommen worden, haette es
niemandem auffallen muessen -- es sieht ja aus wie dieselbe
Befugnis.
======================================================================= */
console.log("\n=== Eine eigene Nachricht bearbeiten ===");
{
const a = await rufe(luna.keks, `/workspace/api/chat/raeume/${raumLunaPat}/nachrichten`,
{ text: "Ich kome moregn" }, "POST");
const { nachricht } = await a.json();
ok(!!nachricht?.id, `Luna schreibt etwas mit Tippfehlern (#${nachricht?.id})`);
/* Vorher merken: Rueckt der Raum beim Bearbeiten nach oben? Er
darf NICHT -- eine Tippfehlerkorrektur ist keine Wortmeldung. */
const vorher = await holen(luna.keks, "/workspace/api/chat/raeume");
const raumVorher = (vorher.raeume || []).find((r) => r.id === raumLunaPat);
ok(!!raumVorher?.letzte?.erstellt,
`der Raum steht in der Liste und hat einen Zeitpunkt (${raumVorher?.letzte?.erstellt || "keinen"})`);
const standVorher = raumVorher?.letzte?.erstellt;
/* ---- Die eigene: geht ------------------------------------------- */
const b = await rufe(luna.keks, `/workspace/api/chat/nachrichten/${nachricht.id}`,
{ text: "Ich komme morgen" }, "PATCH");
ok(b.ok, `die eigene bearbeiten: geht (${b.status})`);
const bd = await b.json().catch(() => ({}));
ok(!!bd.bearbeitet_am, `und der Zeitpunkt kommt zurueck (${bd.bearbeitet_am || "nichts"})`);
/* ---- Steht es auch im Verlauf? ---------------------------------- */
const verlauf = await holen(luna.keks,
`/workspace/api/chat/raeume/${raumLunaPat}/nachrichten`);
const drin = (verlauf.nachrichten || []).find((x) => x.id === nachricht.id);
ok(drin?.text === "Ich komme morgen",
`der neue Text steht im Verlauf ("${drin?.text}")`);
ok(!!drin?.bearbeitet_am,
`und der Vermerk "bearbeitet" geht mit nach draussen (${drin?.bearbeitet_am || "fehlt"})`);
/* DIE SPALTE MUSS AUCH IM SELECT STEHEN. Genau das hat am 03.10.
schon einmal einen halben Tag gekostet: `anhang_datei` fehlte dort,
die Abbildung lieferte brav `null`, und alles sah gebaut aus. */
/* ---- Der Raum ist NICHT nach oben gerueckt ---------------------- */
const nachher = await holen(luna.keks, "/workspace/api/chat/raeume");
const raumNachher = (nachher.raeume || []).find((r) => r.id === raumLunaPat);
ok(!!standVorher && standVorher === raumNachher?.letzte?.erstellt,
`der Raum rueckt nicht nach oben (${standVorher} -> ${raumNachher?.letzte?.erstellt})`);
/* Die Vorschau in der Liste zieht aber sehr wohl nach -- sie liest
dieselbe Nachricht. Stuende dort weiter der Tippfehler, waere die
Liste eine zweite, veraltete Wahrheit neben dem Verlauf. */
ok(raumNachher?.letzte?.text === "Ich komme morgen",
`aber die Vorschau zeigt den neuen Text ("${raumNachher?.letzte?.text}")`);
/* ---- GEGENPROBE: fremde Nachricht ------------------------------- */
const c = await rufe(pat.keks, `/workspace/api/chat/nachrichten/${nachricht.id}`,
{ text: "Von Patrick umgeschrieben" }, "PATCH");
ok(c.status === 403, `Gegenprobe: Patrick aendert sie NICHT (${c.status})`);
/* ---- GEGENPROBE, DIE ZAEHLT: auch DogFather nicht --------------- */
const d = await rufe(dogi.keks, `/workspace/api/chat/nachrichten/${nachricht.id}`,
{ text: "Von DogFather umgeschrieben" }, "PATCH");
ok(d.status === 403 || d.status === 404,
`auch DogFather nicht -- loeschen darf er, umschreiben nicht (${d.status})`);
const nochda = await holen(luna.keks,
`/workspace/api/chat/raeume/${raumLunaPat}/nachrichten`);
const unberuehrt = (nochda.nachrichten || []).find((x) => x.id === nachricht.id);
ok(unberuehrt?.text === "Ich komme morgen",
`und ihr Text ist unberuehrt ("${unberuehrt?.text}")`);
/* ---- Leer und zu lang ------------------------------------------- */
const leer = await rufe(luna.keks, `/workspace/api/chat/nachrichten/${nachricht.id}`,
{ text: " " }, "PATCH");
ok(leer.status === 400, `leer geht nicht -- dafuer gibt es loeschen (${leer.status})`);
const lang = await rufe(luna.keks, `/workspace/api/chat/nachrichten/${nachricht.id}`,
{ text: "x".repeat(4001) }, "PATCH");
ok(lang.status === 400, `zu lang geht nicht (${lang.status})`);
/* ---- Unveraendert setzt KEINEN Vermerk -------------------------- */
const zweite = await rufe(luna.keks, `/workspace/api/chat/raeume/${raumLunaPat}/nachrichten`,
{ text: "Steht schon richtig" }, "POST");
const n2 = (await zweite.json()).nachricht;
const gleich = await rufe(luna.keks, `/workspace/api/chat/nachrichten/${n2.id}`,
{ text: "Steht schon richtig" }, "PATCH");
const gd = await gleich.json().catch(() => ({}));
ok(gleich.ok && gd.unveraendert === true && !gd.bearbeitet_am,
`derselbe Text setzt keinen Vermerk (${JSON.stringify(gd)})`);
const pruefN2 = (await holen(luna.keks,
`/workspace/api/chat/raeume/${raumLunaPat}/nachrichten`)).nachrichten
.find((x) => x.id === n2.id);
ok(!pruefN2?.bearbeitet_am,
`und an ihr steht nichts -- sonst waere der Vermerk nichts mehr wert`);
/* ---- Eine geloeschte laesst sich nicht bearbeiten --------------- */
await rufe(luna.keks, `/workspace/api/chat/nachrichten/${n2.id}`, undefined, "DELETE");
const tot = await rufe(luna.keks, `/workspace/api/chat/nachrichten/${n2.id}`,
{ text: "Doch noch etwas" }, "PATCH");
ok(tot.status === 404,
`eine geloeschte Nachricht gibt es nicht mehr zu bearbeiten (${tot.status})`);
/* ---- Wer nicht im Raum ist, sieht sie gar nicht ----------------- */
const fremderRaum = await rufe(nora.keks, `/workspace/api/chat/nachrichten/${nachricht.id}`,
{ text: "Von Nora" }, "PATCH");
ok(fremderRaum.status === 404,
`wer nicht im Raum ist, bekommt 404 und nicht 403 (${fremderRaum.status})`);
}
/* =======================================================================
7. Zurücknehmen
======================================================================= */
+104 -1
View File
@@ -1818,7 +1818,7 @@ chatRouter.get("/workspace/api/chat/raeume/:id/nachrichten", (req, res) => {
(Und KEINE Gegen-Apostrophe in diesem Text: Er steht
in einem Template-Literal, und einer davon beendet
es. Heute schon das zweite Mal.) */
n.anhang_datei,
n.anhang_datei, n.bearbeitet_am,
a.text AS zitat_text, a.weg_am AS zitat_weg, ap.name AS zitat_von,
a.anhang_art AS zitat_anhang
FROM chat_nachrichten n
@@ -2034,6 +2034,13 @@ chatRouter.get("/workspace/api/chat/raeume/:id/nachrichten", (req, res) => {
von_kachel: kachelPruefen(n.von_kachel) || autoKachelFuer(n.person_id),
text: n.weg_am ? null : n.text,
zurueckgenommen: !!n.weg_am,
/* WANN BEARBEITET -- oder null. Geht nach draussen, weil an
der Nachricht "bearbeitet" stehen soll: Ein Text, der sich
hinterher still aendert, waehrend andere schon darauf
geantwortet haben, ist ein Vertrauensproblem und kein
Komfort. An einer geloeschten steht es nicht, dort gibt es
keinen Text mehr, auf den es sich beziehen koennte. */
bearbeitet_am: n.weg_am ? null : (n.bearbeitet_am || null),
erstellt: n.erstellt,
selbst: n.person_id === req.person.id,
angeheftet: !!n.angeheftet_am,
@@ -3597,6 +3604,102 @@ chatRouter.put("/workspace/api/chat/nachrichten/:id/anheften", gleicheHerkunft,
const darfJedeNachrichtLoeschen = (person) =>
istDogFather(person) || person?.rolle === "hand";
/* =====================================================================
EIGENE NACHRICHT BEARBEITEN (03.10.2026)
Filipe: "die nachrichten die man in den chat reinschreibt. jeder
soll seine eigene nachricht bearbeiten koennen. diese option soll
jeder fuer seine eigene nachrichten haben die er selber verfasst
hat."
NUR DIE EIGENE -- OHNE AUSNAHME, auch nicht fuer DogFather und die
rechte Hand. Beim LOESCHEN gibt es diese Ausnahme (siehe
`darfJedeNachrichtLoeschen`, fuer den Notfall), und es waere
naheliegend, sie hier mitzunehmen. Das waere falsch: Eine fremde
Nachricht zu entfernen heisst "das soll hier nicht stehen". Eine
fremde Nachricht zu AENDERN heisst, jemandem Worte in den Mund zu
legen, die unter seinem Namen und seinem Bild stehen bleiben. Das
ist nicht dieselbe Befugnis in groesser, sondern eine andere.
ERWAEHNUNGEN BLEIBEN, WIE SIE BEIM SENDEN WAREN. Wer beim
Bearbeiten "@Anna" ergaenzt, spricht Anna damit NICHT an. Der
Grund ist die Richtung, in die es sonst schiefgeht: Entweder man
benachrichtigt nachtraeglich -- dann laesst sich jemand beliebig
oft anpingen, indem man dieselbe Nachricht immer wieder
bearbeitet -- oder man traegt die Erwaehnung still ein, und dann
steht jemand auf einer Liste, von der er nie erfaehrt. Beides ist
schlechter als die klare Regel: Ansprechen tut man mit einer neuen
Nachricht.
DER RAUM RUECKT NICHT NACH OBEN, und niemand bekommt sie als
ungelesen. Ein Bearbeiten ist keine Wortmeldung; wuerde der Raum
dadurch hochspringen, waere jede Tippfehlerkorrektur eine Stoerung
fuer alle anderen. Genau deshalb wird `letzte_am` hier NICHT
angefasst -- anders als beim Loeschen, wo es neu gerechnet werden
muss, weil die juengste Nachricht verschwunden sein kann.
===================================================================== */
chatRouter.patch("/workspace/api/chat/nachrichten/:id", gleicheHerkunft,
express.json({ limit: "8kb" }), (req, res) => {
try {
const id = Number(req.params.id);
if (!Number.isInteger(id)) return res.status(400).json({ fehler: "ungueltig" });
/* DIESELBEN GRENZEN WIE BEIM SENDEN. Eine zweite Rechnung waere
die, die auseinanderlaeuft -- und ein Text, der sich senden,
aber nicht bearbeiten laesst, waere eine Falle. */
const text = String(req.body?.text ?? "").trim();
if (!text) {
/* LEEREN IST LOESCHEN, und dafuer steht der Knopf daneben. Wer
hier eine leere Nachricht zuliesse, haette zwei Wege zu
derselben Sache -- und einen davon ohne Rueckfrage. */
return res.status(400).json({ fehler: "leer" });
}
if (text.length > TEXT_MAX) {
return res.status(400).json({ fehler: `Länger als ${TEXT_MAX} Zeichen geht nicht.` });
}
const d = db();
const n = d.prepare(
"SELECT id, raum_id, person_id, text, weg_am FROM chat_nachrichten WHERE id = ?").get(id);
/* Was jemand nicht sehen darf, gibt es fuer ihn nicht: 404 statt
403 -- dieselbe Ueberlegung wie beim Loeschen eine Route
weiter unten. */
if (!n || !istDrin(n.raum_id, req.person)) {
return res.status(404).json({ fehler: "nicht_gefunden" });
}
if (n.person_id !== req.person.id) {
return res.status(403).json({ fehler: "Nur eigene Nachrichten." });
}
if (n.weg_am) {
return res.status(409).json({ fehler: "Diese Nachricht ist zurückgenommen." });
}
/* UNVERAENDERT IST KEINE AENDERUNG. Sonst stuende "bearbeitet" an
einer Nachricht, an der niemand etwas getan hat -- und der
Vermerk waere ab da nichts mehr wert. */
if (text === n.text) {
return res.json({ ok: true, unveraendert: true });
}
const wann = new Date().toISOString();
d.prepare("UPDATE chat_nachrichten SET text = ?, bearbeitet_am = ? WHERE id = ?")
.run(text, wann, id);
/* An ALLE im Raum, aber an niemanden als Benachrichtigung (leere
Empfaengerliste) -- siehe oben. */
chatEreignis(n.raum_id,
{ id, raum_id: n.raum_id, text, bearbeitet_am: wann }, [], "geaendert");
protokolliere("chat_bearbeitet", {
personId: req.person.id, rolle: req.person.rolle, ip: echteIp(req),
detail: `#${id}`,
});
res.json({ ok: true, bearbeitet_am: wann, text });
} catch (fehler) {
console.error("[chat] Bearbeiten:", fehler?.message);
res.status(503).json({ fehler: "nicht_verfuegbar" });
}
});
chatRouter.delete("/workspace/api/chat/nachrichten/:id", gleicheHerkunft, (req, res) => {
try {
const id = Number(req.params.id);
+6
View File
@@ -4038,6 +4038,12 @@ function umstellungen(d) {
sobald es die Datei kennt. Was wirklich schuetzt, ist die
Byte-Grenze, nicht diese Zahl. */
["chat_nachrichten", "anhang_dauer", "INTEGER"],
/* WANN ZULETZT BEARBEITET (03.10.2026) -- NULL heisst: nie.
Filipe: "jeder soll seine eigene nachricht bearbeiten koennen."
Die Spalte traegt die Zeit und nicht nur ein Ja/Nein: "vor zwei
Minuten geaendert" und "gestern geaendert" sind zwei
verschiedene Auskuenfte, und die zweite will man sehen. */
["chat_nachrichten", "bearbeitet_am", "TEXT"],
/* WELCHE VORLAGE DAHINTERSTECKT (09.09.2026).
+5 -5
View File
@@ -16,8 +16,8 @@
verdeckt. Gefunden hat es pruef-struktur.
Richtig sind `gate.css` (die Farbwerte des Hauses) und `haus.css`. -->
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
<!-- Ohne diese drei nimmt ein iPhone einen Bildschirmausschnitt als
Symbol, Android zeichnet die Leiste weiss, und die Seite oeffnet
ausserhalb der App -- auf einer Seite, die genau erklaeren soll,
@@ -33,7 +33,7 @@
schreibt jede Seite app.webmanifest -- auch die hier. -->
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<style>
/* Bewusst in der Seite und nicht in einer eigenen Datei: Diese Seite
soll auch dann noch etwas anzeigen, wenn genau das schiefgeht,
@@ -135,7 +135,7 @@
<script src="assets/js/anruf-probe.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/anruf-probe.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
</body>
</html>
+4 -4
View File
@@ -23,25 +23,25 @@
},
"icons": [
{
"src": "/assets/img/app-symbole/workspace-192.png?v=202610032333",
"src": "/assets/img/app-symbole/workspace-192.png?v=202610040006",
"sizes": "192x192",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/workspace-512.png?v=202610032333",
"src": "/assets/img/app-symbole/workspace-512.png?v=202610040006",
"sizes": "512x512",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202610032333",
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202610040006",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202610032333",
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202610040006",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
+79
View File
@@ -2227,6 +2227,7 @@
.chat-nachricht__antwort-knopf,
.chat-nachricht__reag-knopf,
.chat-nachricht__kopie-knopf,
.chat-nachricht__bearb-knopf,
.chat-nachricht__weg-knopf {
display: inline-flex; align-items: center; gap: 5px;
border: 1px solid transparent;
@@ -2248,6 +2249,7 @@
.chat-nachricht__reag-knopf::before,
.chat-nachricht__kopie-knopf::before,
.chat-nachricht__pin-knopf::before,
.chat-nachricht__bearb-knopf::before,
.chat-nachricht__weg-knopf::before {
content: ""; flex: none;
width: 13px; height: 13px;
@@ -5734,3 +5736,80 @@
@media (pointer: coarse) {
.chat-art { min-height: 44px; }
}
/* =====================================================================
BEARBEITEN (03.10.2026)
=====================================================================
Filipe: "jeder soll seine eigene nachricht bearbeiten koennen."
Der Stift traegt sich in die Familie der Handgriffe ein, wie es der
Hinweis weiter oben verlangt -- Form, Polsterung und Rundung kommen
von dort. Hier steht nur, was ihm allein gehoert.
===================================================================== */
.chat-nachricht__bearb-knopf {
--zeichen: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M14.6 5.4l4 4'/><path d='M4.5 19.5h4L19.3 8.7a2.1 2.1 0 0 0-3-3L5.5 16.5z'/></svg>");
}
.chat-nachricht__bearb-knopf:hover {
opacity: 1;
background: color-mix(in srgb, var(--akzent) 14%, transparent);
border-color: color-mix(in srgb, var(--akzent) 32%, transparent);
}
.chat-nachricht__bearb-knopf:focus-visible { outline: 2px solid var(--akzent); outline-offset: 2px; }
/* DER VERMERK IST EINE ANGABE, KEIN KNOPF -- also so leise wie die
Zeit daneben und ohne eigene Farbe. Er steht bewusst NICHT in
Klammern: Klammern lesen sich wie eine Nebenbemerkung, und das ist
es nicht. Wer wissen will, wann, faehrt darueber. */
.chat-nachricht__bearbeitet {
font-size: .68rem;
font-style: italic;
opacity: .62;
letter-spacing: .01em;
cursor: help;
flex: none;
}
/* ---- Das Feld an der Nachricht ------------------------------------
Es sitzt IN der Blase, an der Stelle des Textes. Deshalb erbt es
deren Farben und bekommt nur eine eigene Umrandung -- ein eigener
Hintergrund liesse es wie ein zweites Fenster ueber der Nachricht
aussehen, und man wuesste nicht mehr, welche man gerade aendert. */
.chat-bearb { display: grid; gap: 8px; }
.chat-bearb__feld {
width: 100%; box-sizing: border-box;
min-height: 44px;
padding: 9px 11px;
border-radius: 12px;
border: 1px solid color-mix(in srgb, var(--akzent) 42%, transparent);
background: rgba(0, 0, 0, .22);
color: inherit;
font: inherit;
/* 1 rem, nicht kleiner: Unter 16 px zoomt iOS beim Hineintippen die
ganze Seite heran, und danach steht der Verlauf schief. */
font-size: 1rem;
line-height: 1.5;
resize: none;
overflow-y: auto;
}
.chat-bearb__feld:focus-visible { outline: 2px solid var(--akzent); outline-offset: 1px; }
.chat-bearb__reihe { display: flex; gap: 8px; flex-wrap: wrap; }
.chat-bearb__knopf {
min-height: 44px; padding: 8px 16px;
border-radius: 999px;
border: 1px solid var(--rand);
background: transparent;
color: inherit;
font: inherit; font-size: .88rem; font-weight: 600;
cursor: pointer;
transition: background-color .16s ease, border-color .16s ease;
}
.chat-bearb__knopf:hover { border-color: var(--rand-hell); }
.chat-bearb__knopf--ja {
background: color-mix(in srgb, var(--akzent) 18%, transparent);
border-color: color-mix(in srgb, var(--akzent) 46%, transparent);
}
.chat-bearb__knopf--ja:hover { background: color-mix(in srgb, var(--akzent) 26%, transparent); }
.chat-bearb__knopf:focus-visible { outline: 2px solid var(--akzent); outline-offset: 2px; }
+175 -1
View File
@@ -626,6 +626,11 @@
let raeume = [];
let offen = null; // der gerade angesehene Raum
let nachrichten = [];
/* WELCHE NACHRICHT GERADE BEARBEITET WIRD -- 0 heisst: keine.
EINE Zahl und kein Merkmal an der Nachricht: Zwei offene Felder
gleichzeitig waeren zwei Staende desselben Textes, und beim
Speichern gewinnt der Zufall. */
let bearbeiteId = 0;
let strom = null; // die EventSource
let gewaehlt = new Set(); // im Neu-Dialog
@@ -2291,7 +2296,8 @@
NUR WENN WIRKLICH TEXT DA IST: Eine Nachricht, die nur aus
einem Foto besteht, hätte sonst einen leeren Absatz darunter
-- und der nimmt Platz, den niemand erklären kann. */
if (n.text) blase.append(textAbsatz(n.text, !!n.rudel));
if (bearbeiteId === n.id) blase.append(bearbeitenFeld(n));
else if (n.text) blase.append(textAbsatz(n.text, !!n.rudel));
}
/* ==== DAS WORT KOMMT INS ELEMENT, NICHT AN DEN KNOPF ==========
@@ -2335,6 +2341,17 @@
zeit.title = wann(n.erstellt, true);
fuss.append(zeit);
/* DER VERMERK STEHT AN DER NACHRICHT, nicht im Protokoll
(03.10.2026). Ein Text, der sich still aendert, nachdem
andere darauf geantwortet haben, ist ein Vertrauensproblem.
Er steht direkt hinter der Zeit, weil er zur Zeit gehoert:
beides sagt, WANN hier was passiert ist. */
if (n.bearbeitet_am) {
const v = el('span', 'chat-nachricht__bearbeitet', 'bearbeitet');
v.title = `bearbeitet ${wann(n.bearbeitet_am, true)}`;
fuss.append(v);
}
/* Antworten geht auf JEDE Nachricht, auch die eigene -- in einer
Gruppe bezieht man sich durchaus auf sich selbst. Nur auf eine
zurueckgenommene nicht: Das Zitat waere leer. */
@@ -2373,6 +2390,27 @@
das kein gewöhnlicher Handgriff ist. Die Schranke steht
ohnehin im Server; hier geht es darum, sie nicht aus Versehen
zu benutzen. */
/* BEARBEITEN -- NUR DIE EIGENE (03.10.2026).
Filipe: "jeder soll seine eigene nachricht bearbeiten
koennen."
`n.selbst` OHNE die Ausnahme fuer DogFather und die rechte
Hand, die es beim Loeschen gibt. Eine fremde Nachricht zu
entfernen heisst "das soll hier nicht stehen"; sie zu AENDERN
heisst, jemandem Worte in den Mund zu legen, die unter seinem
Namen und seinem Bild stehen bleiben. Zwei verschiedene
Dinge, nicht dasselbe in groesser.
NUR WO TEXT IST: Ein reines Foto oder eine Sprachnachricht
hat nichts zu bearbeiten -- dort waere der Knopf ein Angebot,
das ins Leere fuehrt. Wer einen Begleittext hat, kann ihn
aendern; der Anhang bleibt davon unberuehrt. */
if (n.id > 0 && n.selbst && !n.zurueckgenommen && n.text && bearbeiteId !== n.id) {
const bea = wortKnopf('chat-nachricht__bearb-knopf', 'bearbeiten');
bea.addEventListener('click', () => { bearbeiteId = n.id; verlaufZeichnen(); });
fuss.append(bea);
}
if (n.id > 0 && (n.selbst || darfAllesLoeschen)) {
const fremd = !n.selbst;
const weg = wortKnopf('chat-nachricht__weg-knopf',
@@ -3403,6 +3441,105 @@
+ `mit „Nochmal senden“ kannst du es gleich wiederholen.`);
}
/** Das Feld, in dem eine eigene Nachricht geaendert wird.
*
* AN DER STELLE DER NACHRICHT, nicht im Schreibfeld unten. Wer
* seinen Text zum Bearbeiten unten wiederfindet, schickt ihn beim
* naechsten Enter als NEUE Nachricht ab -- und hat ihn dann
* zweimal im Raum. Hier kann das nicht passieren: Was im Feld
* steht, hat nur einen Weg, und der fuehrt auf dieselbe Nummer.
*/
function bearbeitenFeld(n) {
const kasten = el('div', 'chat-bearb');
const feld = el('textarea', 'chat-bearb__feld');
feld.value = n.text || '';
feld.rows = 1;
feld.maxLength = 4000;
feld.setAttribute('aria-label', 'Nachricht bearbeiten');
/* Mitwachsen wie das Schreibfeld unten -- bis zu einer Grenze,
sonst verdraengt eine lange Nachricht den ganzen Verlauf. */
const wachsen = () => {
feld.style.height = 'auto';
feld.style.height = Math.min(feld.scrollHeight, 200) + 'px';
};
feld.addEventListener('input', wachsen);
const fertig = () => { bearbeiteId = 0; verlaufZeichnen(); };
const senden = () => { void bearbeitenSenden(n, feld.value); };
/* DIESELBEN TASTEN WIE BEIM SCHREIBEN: Enter schickt ab,
Shift+Enter macht eine Zeile. Eine zweite Regel hier waere eine,
die man erst beim Danebengreifen merkt. Escape bricht ab -- der
Weg, den jeder ohnehin probiert. */
feld.addEventListener('keydown', (e) => {
if (e.key === 'Enter' && !e.shiftKey) { e.preventDefault(); senden(); }
else if (e.key === 'Escape') { e.preventDefault(); fertig(); }
});
const reihe = el('div', 'chat-bearb__reihe');
const ja = el('button', 'chat-bearb__knopf chat-bearb__knopf--ja', 'Speichern');
ja.type = 'button';
ja.addEventListener('click', senden);
const nein = el('button', 'chat-bearb__knopf', 'Abbrechen');
nein.type = 'button';
nein.addEventListener('click', fertig);
reihe.append(ja, nein);
kasten.append(feld, reihe);
/* NACH dem Einhaengen scharfstellen: Vorher hat das Feld keine
Hoehe und `focus()` rollt den Verlauf an die falsche Stelle.
Der Zeiger steht am Ende, nicht am Anfang -- man will meistens
etwas anfuegen oder das letzte Wort richten. */
setTimeout(() => {
wachsen();
feld.focus();
feld.setSelectionRange(feld.value.length, feld.value.length);
}, 0);
return kasten;
}
async function bearbeitenSenden(n, roh) {
const text = String(roh || '').trim();
if (!text) {
/* LEEREN IST LOESCHEN, und dafuer steht der Knopf daneben --
mit Rueckfrage. Hier waere es derselbe Eingriff ohne sie. */
melde('Leer geht nicht – zum Entfernen gibt es „löschen“ daneben.');
return;
}
if (text === (n.text || '')) { bearbeiteId = 0; verlaufZeichnen(); return; }
try {
const a = await hole(`/workspace/api/chat/nachrichten/${n.id}`, {
method: 'PATCH',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ text }),
});
if (!a.ok) {
const d = await a.json().catch(() => ({}));
melde(d.fehler ? `Ging nicht: ${d.fehler}` : 'Ging nicht.');
return;
}
const d = await a.json().catch(() => ({}));
/* NICHT auf das Ereignis vom Server warten. Es kommt zwar auch
bei mir an, aber erst nach dem Umweg ueber die Leitung -- und
bis dahin stuende mein alter Text noch da. Der Strom holt
spaeter dasselbe Ergebnis und schreibt dasselbe hin. */
const i = nachrichten.findIndex((x) => x.id === n.id);
if (i >= 0) {
nachrichten[i].text = text;
nachrichten[i].bearbeitet_am = d.bearbeitet_am || new Date().toISOString();
}
for (const x of nachrichten) {
if (x.antwort?.id === n.id) x.antwort = { ...x.antwort, text: text.slice(0, 140) };
}
bearbeiteId = 0;
verlaufZeichnen();
/* Die Vorschau in der Gespraechsliste zeigt denselben Satz --
sie muss mitkommen, sonst steht links der alte Text. */
raeumeLaden();
} catch { /* umgeleitet */ }
}
async function zuruecknehmen(id, fremd = false) {
if (!await frageNach({
titel: fremd ? 'Diese Nachricht löschen?' : 'Nachricht löschen?',
@@ -3598,6 +3735,43 @@
raeumeLaden();
});
/* EINE NACHRICHT WURDE BEARBEITET (03.10.2026).
Sie bleibt an ihrer Stelle -- nur Text und Vermerk wechseln.
UND DIE RAUMLISTE WIRD DOCH NEU GEHOLT (berichtigt 03.10.2026).
Hier stand das Gegenteil, mit der Begruendung, die Liste aendere
sich ja nicht. Das war falsch, und ein Bildschirmfoto hat es
gezeigt: Links in der Gespraechsliste stand weiter "Du: Treffen
um 15 Urh", waehrend rechts schon "Treffen um 15 Uhr" stand --
derselbe Satz, zweimal verschieden, auf einem Schirm.
Richtig ist: Die REIHENFOLGE aendert sich nicht (der Server
ruehrt `letzte_am` bewusst nicht an), die VORSCHAU sehr wohl.
Ein Abruf je Bearbeitung ist dafuer kein Preis -- bearbeitet
wird selten, und die Alternative waere eine veraltete Zeile.
Wer die Nachricht gerade selbst offen im Bearbeiten-Feld hat,
behaelt sein Feld: Sein eigener Stand ist neuer als das, was
hier ankommt -- es ist ja seine eigene Aenderung, die
zurueckkommt. */
strom.addEventListener('geaendert', (e) => {
let n;
try { n = JSON.parse(e.data); } catch { return; }
const i = nachrichten.findIndex((x) => x.id === n.id);
if (i < 0) return;
nachrichten[i].text = n.text;
nachrichten[i].bearbeitet_am = n.bearbeitet_am;
/* Auch das Zitat an ANDEREN Nachrichten zieht nach -- sonst
stuende oben der alte Satz und unten der neue, und beide
behaupten, dasselbe zu sein. */
for (const x of nachrichten) {
if (x.antwort?.id === n.id) x.antwort = { ...x.antwort, text: String(n.text).slice(0, 140) };
}
verlaufZeichnen();
raeumeLaden();
});
strom.addEventListener('weg', (e) => {
let n;
try { n = JSON.parse(e.data); } catch { return; }
+19 -19
View File
@@ -12,19 +12,19 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<!-- 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=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -430,22 +430,22 @@
<!-- TEXTFORM ZUERST (21.09.2026): Die Seite fragt beim Zeichnen nach
`window.Textform`. Kaeme sie spaeter, waere der erste Eintrag ohne
Gestaltung. Kein `defer`, damit sie wirklich vorher dasteht. -->
<script src="assets/js/textform.js?v=202610032333"></script>
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/hochladen.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/textform.js?v=202610040006"></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/hochladen.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/zuteilung.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/zuteilung.js?v=202610040006" defer></script>
<!-- Der Vorlagenkatalog stand bis zum 23.09.2026 mitten in
aufgaben.js. Er bedient jetzt zwei Seiten und hat deshalb eine
eigene Datei; hier zeigt er den Creator-Katalog.
Vor aufgaben.js, weil die Seite ihn beim Start einrichtet. -->
<script src="assets/js/vorlagenbrett.js?v=202610032333" defer></script>
<script src="assets/js/aufgaben.js?v=202610032333" defer></script>
<script src="assets/js/vorlagenbrett.js?v=202610040006" defer></script>
<script src="assets/js/aufgaben.js?v=202610040006" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/automation.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/automation.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<!-- 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=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -168,15 +168,15 @@
</main>
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/automation.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/automation.js?v=202610040006" defer></script>
</body>
</html>
+17 -17
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -197,16 +197,16 @@
</main>
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/holen.js?v=202610032333" defer></script>
<script src="assets/js/befinden.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/holen.js?v=202610040006" defer></script>
<script src="assets/js/befinden.js?v=202610040006" defer></script>
</body>
</html>
+22 -22
View File
@@ -12,24 +12,24 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202610040006" />
<!-- Wegen des Blocks „Willst du dazugehoeren?" auf dem Brett
„Mitmachen". Eine eigene Kopie der Regel hier waere die zweite
Stelle, an der dieselbe Sache anders aussieht. -->
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<!-- 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=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -318,19 +318,19 @@
<!-- TEXTFORM ZUERST (21.09.2026): Die Seite fragt beim Zeichnen nach
`window.Textform`. Kaeme sie spaeter, waere der erste Eintrag ohne
Gestaltung. Kein `defer`, damit sie wirklich vorher dasteht. -->
<script src="assets/js/textform.js?v=202610032333"></script>
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/textform.js?v=202610040006"></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/checkliste.js?v=202610032333" defer></script>
<script src="assets/js/ampel.js?v=202610032333" defer></script>
<script src="assets/js/schulung.js?v=202610032333" defer></script>
<script src="assets/js/holen.js?v=202610032333" defer></script>
<script src="assets/js/bereich.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/checkliste.js?v=202610040006" defer></script>
<script src="assets/js/ampel.js?v=202610040006" defer></script>
<script src="assets/js/schulung.js?v=202610040006" defer></script>
<script src="assets/js/holen.js?v=202610040006" defer></script>
<script src="assets/js/bereich.js?v=202610040006" defer></script>
</body>
</html>
+19 -19
View File
@@ -7,17 +7,17 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -108,15 +108,15 @@
</main>
<!-- Der Fuß gehört zu jeder Seite - siehe pruef-css-klassen. -->
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/auskunft.js?v=202610032333" defer></script>
<script src="assets/js/bewerben.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/auskunft.js?v=202610040006" defer></script>
<script src="assets/js/bewerben.js?v=202610040006" defer></script>
</body>
</html>
+18 -18
View File
@@ -7,16 +7,16 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -80,16 +80,16 @@
</main>
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/auskunft.js?v=202610032333" defer></script>
<script src="assets/js/bewerbungen.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/auskunft.js?v=202610040006" defer></script>
<script src="assets/js/bewerbungen.js?v=202610040006" defer></script>
</body>
</html>
+3 -3
View File
@@ -59,11 +59,11 @@
<!-- DIE WERBEEINBLENDUNG. Dieselbe Datei wie in der Reaction-Seite:
Zwei Fassungen altern unterschiedlich, und dann sieht der Stream
anders aus als das, worueber geredet wird. -->
<link rel="stylesheet" href="assets/css/werbung.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/werbung.css?v=202610040006" />
</head>
<body class="obs-buehne">
<div id="platz"></div>
<script src="assets/js/werbung.js?v=202610032333" defer></script>
<script src="assets/js/buehne.js?v=202610032333" defer></script>
<script src="assets/js/werbung.js?v=202610040006" defer></script>
<script src="assets/js/buehne.js?v=202610040006" defer></script>
</body>
</html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/calls.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/calls.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<!-- 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=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -89,15 +89,15 @@
</main>
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/ki.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/calls.js?v=202610032333" defer></script>
<script src="assets/js/ki.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/calls.js?v=202610040006" defer></script>
</body>
</html>
+20 -20
View File
@@ -12,26 +12,26 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<!-- 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=202610032333" />
<link rel="stylesheet" href="assets/css/chat.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/chat.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<!-- 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=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -739,24 +739,24 @@
</form>
</dialog>
<script src="assets/js/bereiche.js?v=202610032333"></script>
<script src="assets/js/bereiche.js?v=202610040006"></script>
<!-- TEXTFORM VOR ALLEM ANDEREN (21.09.2026): chat.js und bereich.js
fragen beim Zeichnen nach `window.Textform`. Kaeme sie spaeter,
waere die erste gezeichnete Nachricht ohne Gestaltung -- und das
faellt nur dem auf, der genau hinsieht. KEIN `defer`, damit sie
wirklich vor den anderen dasteht. -->
<script src="assets/js/textform.js?v=202610032333"></script>
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/hochladen.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333"></script>
<script src="assets/js/glocke.js?v=202610032333"></script>
<script src="assets/js/textform.js?v=202610040006"></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/hochladen.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006"></script>
<script src="assets/js/glocke.js?v=202610040006"></script>
<!-- ANRUF VOR CHAT (18.09.2026): anruf.js stellt `window.anrufStarten`
bereit, und chat.js baut die Knoepfe nur, wenn es das gibt.
Andersherum waere die Reihenfolge eine stille Abhaengigkeit --
die Knoepfe fehlten, und niemand wuesste warum. -->
<script src="assets/js/anruf.js?v=202610032333"></script>
<script src="assets/js/anruf.js?v=202610040006"></script>
<!-- DIE BILDSCHAU (25.09.2026). Eigene Datei, weil sie nichts vom
Chat weiss: Sie bekommt einen Weg und einen Namen und zeigt ein
Bild. Jede andere Seite mit Fotos kann sie ebenso benutzen, ohne
@@ -767,8 +767,8 @@
sie beim ersten Foto noch nicht da -- und der erste Klick ginge
wie frueher in den Tab. Ein Fehler, der nur beim ERSTEN Mal
auftritt, ist der, den man nie nachstellen kann. -->
<script src="assets/js/bildschau.js?v=202610032333"></script>
<script src="assets/js/chat.js?v=202610032333"></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/bildschau.js?v=202610040006"></script>
<script src="assets/js/chat.js?v=202610040006"></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
</body>
</html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/content.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/content.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<!-- 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=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -179,15 +179,15 @@
</main>
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/checkliste.js?v=202610032333" defer></script>
<script src="assets/js/content.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/checkliste.js?v=202610040006" defer></script>
<script src="assets/js/content.js?v=202610040006" defer></script>
</body>
</html>
+6 -6
View File
@@ -36,15 +36,15 @@
<link rel="preload" as="image" href="assets/img/buehne/crew-gate-hoch-580.webp"
type="image/webp" media="(max-width: 899px)" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/crew-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/crew-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<!-- 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=202610032333" />
<link rel="stylesheet" href="assets/css/crew-haus.css?v=202610040006" />
</head>
<body class="gate gate--crew">
@@ -459,7 +459,7 @@
<script src="assets/js/gate.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/gate.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
</body>
</html>
+4 -4
View File
@@ -23,25 +23,25 @@
},
"icons": [
{
"src": "/assets/img/app-symbole/crew-192.png?v=202610032333",
"src": "/assets/img/app-symbole/crew-192.png?v=202610040006",
"sizes": "192x192",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/crew-512.png?v=202610032333",
"src": "/assets/img/app-symbole/crew-512.png?v=202610040006",
"sizes": "512x512",
"type": "image/png",
"purpose": "any"
},
{
"src": "/assets/img/app-symbole/crew-192-maskable.png?v=202610032333",
"src": "/assets/img/app-symbole/crew-192-maskable.png?v=202610040006",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/assets/img/app-symbole/crew-512-maskable.png?v=202610032333",
"src": "/assets/img/app-symbole/crew-512-maskable.png?v=202610040006",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/dateien.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/dateien.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<!-- 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=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -108,15 +108,15 @@
</main>
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/hochladen.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/hochladen.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/dateien.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/dateien.js?v=202610040006" defer></script>
</body>
</html>
+18 -18
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -306,20 +306,20 @@
</main>
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/holen.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/holen.js?v=202610040006" defer></script>
<!-- VOR entwicklung.js: Die Seite richtet den Katalog beim Start ein,
also muss es ihn zu dem Zeitpunkt geben. Mit "defer" laufen beide
in Dokumentreihenfolge. -->
<script src="assets/js/vorlagenbrett.js?v=202610032333" defer></script>
<script src="assets/js/entwicklung.js?v=202610032333" defer></script>
<script src="assets/js/vorlagenbrett.js?v=202610040006" defer></script>
<script src="assets/js/entwicklung.js?v=202610040006" defer></script>
</body>
</html>
+15 -15
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/hilfe.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/hilfe.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -146,14 +146,14 @@
</main>
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/hilfe.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/hilfe.js?v=202610040006" defer></script>
</body>
</html>
+5 -5
View File
@@ -30,9 +30,9 @@
<link rel="preload" as="image" href="assets/img/buehne/gate-hoch-580.webp"
type="image/webp" media="(max-width: 899px)" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
</head>
<body class="gate">
@@ -427,7 +427,7 @@
<script src="assets/js/gate.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/gate.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
</body>
</html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/kalender.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/kalender.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<!-- 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=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -383,15 +383,15 @@
</main>
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/kalender.js?v=202610032333" defer></script>
<script src="assets/js/kalender-abo.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/kalender.js?v=202610040006" defer></script>
<script src="assets/js/kalender-abo.js?v=202610040006" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/leistung.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/leistung.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<!-- 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=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -444,13 +444,13 @@
</form>
</dialog>
<script src="assets/js/meldung.js?v=202610032333"></script>
<script src="assets/js/nachfrage.js?v=202610032333"></script>
<script src="assets/js/wahl.js?v=202610032333"></script>
<script src="assets/js/bereiche.js?v=202610032333"></script>
<script src="assets/js/kopf.js?v=202610032333"></script>
<script src="assets/js/glocke.js?v=202610032333"></script>
<script src="assets/js/leistung.js?v=202610032333"></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006"></script>
<script src="assets/js/nachfrage.js?v=202610040006"></script>
<script src="assets/js/wahl.js?v=202610040006"></script>
<script src="assets/js/bereiche.js?v=202610040006"></script>
<script src="assets/js/kopf.js?v=202610040006"></script>
<script src="assets/js/glocke.js?v=202610040006"></script>
<script src="assets/js/leistung.js?v=202610040006"></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
</body>
</html>
+14 -14
View File
@@ -7,17 +7,17 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/manager-ziele.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/manager-ziele.css?v=202610040006" />
<!-- module.css an VORLETZTER, haus.css an LETZTER Stelle. Die
Reihenfolge ist keine Geschmacksfrage: haus.css setzt nur
Variablen, und bei Variablen entscheidet allein, wer zuletzt
kommt. pruef-css-klassen.mjs misst genau dieses Paar nach. -->
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -218,16 +218,16 @@
kopf.js liest daraus die Leitungsrollen. Ohne sie stürzt jede
Seite ab, und zwar nur in der Browserkonsole -- die Kopfleiste
kommt trotzdem. -->
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<!-- wahl.js gehört zu kopf.js: Der Sicht-Umschalter baut daraus seine
Liste. pruef-css-klassen setzt das durch, und zwar auch die
Reihenfolge -- kopf.js fragt beim Aufbau nach dem fertigen
Bedienelement. -->
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/manager-ziele.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/manager-ziele.js?v=202610040006" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,13 +12,13 @@
vergessen wird. -->
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/material.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/material.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start" data-ton="42" data-buehne="studio">
@@ -138,14 +138,14 @@
<p class="m-laedt" id="laedt">Einen Moment …</p>
</main>
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/hochladen.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/material.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/hochladen.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/material.js?v=202610040006" defer></script>
</body>
</html>
+14 -14
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/notizen.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/notizen.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start" data-ton="46">
@@ -181,12 +181,12 @@
<!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js
liest daraus die Leitungsrollen. -->
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/notizen.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/notizen.js?v=202610040006" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/personen.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/personen.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<!-- 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=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -453,14 +453,14 @@
</main>
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/personen.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/personen.js?v=202610040006" defer></script>
</body>
</html>
+18 -18
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/profil.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/profil.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<!-- 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=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -214,16 +214,16 @@
</main>
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/hochladen.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/hochladen.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/steckbrief.js?v=202610032333" defer></script>
<script src="assets/js/profil.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/steckbrief.js?v=202610040006" defer></script>
<script src="assets/js/profil.js?v=202610040006" defer></script>
</body>
</html>
+19 -19
View File
@@ -7,15 +7,15 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/reaktion.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/spendenkarte.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/werbung.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/reaktion.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/spendenkarte.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/werbung.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start reaktion-seite" data-stand="laedt">
@@ -905,15 +905,15 @@
<!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js
liest daraus die Leitungsrollen. -->
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/spendenkarte.js?v=202610032333" defer></script>
<script src="assets/js/werbung.js?v=202610032333" defer></script>
<script src="assets/js/reaktion.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/spendenkarte.js?v=202610040006" defer></script>
<script src="assets/js/werbung.js?v=202610040006" defer></script>
<script src="assets/js/reaktion.js?v=202610040006" defer></script>
</body>
</html>
+17 -17
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -134,14 +134,14 @@
Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen
Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen,
die seit dem 07.09. jede Seite danach absucht. -->
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/holen.js?v=202610032333" defer></script>
<script src="assets/js/rechte.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/holen.js?v=202610040006" defer></script>
<script src="assets/js/rechte.js?v=202610040006" defer></script>
</body>
</html>
+18 -18
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/report.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/report.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<!-- 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=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -106,17 +106,17 @@
</main>
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/ki.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/holen.js?v=202610032333" defer></script>
<script src="assets/js/report.js?v=202610032333" defer></script>
<script src="assets/js/ki.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/holen.js?v=202610040006" defer></script>
<script src="assets/js/report.js?v=202610040006" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/scouting.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/scouting.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<!-- 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=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -173,14 +173,14 @@
</div>
</div>
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/scouting.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/scouting.js?v=202610040006" defer></script>
</body>
</html>
+16 -16
View File
@@ -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=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<!-- 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=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/heim.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<!-- 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=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -751,16 +751,16 @@
</p>
</main>
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/live.js?v=202610032333" defer></script>
<script src="assets/js/start.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/live.js?v=202610040006" defer></script>
<script src="assets/js/start.js?v=202610040006" defer></script>
</body>
</html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/startcheck.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/startcheck.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<!-- 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=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -85,16 +85,16 @@
</main>
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/ki.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/startcheck.js?v=202610032333" defer></script>
<script src="assets/js/ki.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/startcheck.js?v=202610040006" defer></script>
</body>
</html>
+18 -18
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/profil.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/profil.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<!-- 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=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -150,16 +150,16 @@
</main>
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/hochladen.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/hochladen.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/auskunft.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/steckbrief.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/auskunft.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/steckbrief.js?v=202610040006" defer></script>
</body>
</html>
+14 -14
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/support.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/support.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -154,16 +154,16 @@
(reading 'LEITUNG')" ab -- gemessen am 24.09.2026, als diese
Zeile beim Anlegen der Seite fehlte. Die Kopfleiste kam
trotzdem, deshalb sah man es nur in der Browserkonsole. -->
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<!-- wahl.js gehoert zu kopf.js: Der Sicht-Umschalter in der
Kopfleiste baut daraus seine Liste. pruef-css-klassen setzt das
seit dem 07.09.2026 durch -- damals fehlte es auf chat.html und
uebersicht.html, und heute hier. -->
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/support.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/support.js?v=202610040006" defer></script>
</body>
</html>
+3 -3
View File
@@ -23,7 +23,7 @@
„Eigenes CSS" leer lassen (der Grund ist schon
durchsichtig).
====================================================================== -->
<link rel="stylesheet" href="assets/css/spendenkarte.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/spendenkarte.css?v=202610040006" />
<style>
/* DURCHSICHTIG BIS AUF DIE KARTEN. OBS legt die Quelle über das
Bild; jede Fläche, die hier steht, deckt dort etwas zu. */
@@ -80,7 +80,7 @@
<body>
<div class="obs-tafel spendentafel" id="tafel" aria-live="polite"></div>
<script src="assets/js/spendenkarte.js?v=202610032333" defer></script>
<script src="assets/js/tafel.js?v=202610032333" defer></script>
<script src="assets/js/spendenkarte.js?v=202610040006" defer></script>
<script src="assets/js/tafel.js?v=202610040006" defer></script>
</body>
</html>
+18 -18
View File
@@ -7,18 +7,18 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610040006" />
<!-- Wegen des Kastens „Anfragen“ ueber der Liste. Eine eigene Kopie
der Regel hier waere die zweite Stelle, an der dieselbe Sache
anders aussieht. -->
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -111,15 +111,15 @@
</main>
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/holen.js?v=202610032333" defer></script>
<script src="assets/js/talente.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/holen.js?v=202610040006" defer></script>
<script src="assets/js/talente.js?v=202610040006" defer></script>
</body>
</html>
+16 -16
View File
@@ -7,20 +7,20 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/team.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/team.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<!-- 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=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -110,15 +110,15 @@
</main>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/holen.js?v=202610032333" defer></script>
<script src="assets/js/team.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/holen.js?v=202610040006" defer></script>
<script src="assets/js/team.js?v=202610040006" defer></script>
</body>
</html>
+17 -17
View File
@@ -7,20 +7,20 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/team.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/team.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<!-- 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=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<!-- `data-buehne` steht hier fest und nicht im Skript: Die Kachel zu
@@ -84,15 +84,15 @@
Kaputt ist dabei nichts -- er funktioniert. Genau deshalb faellt
es niemandem auf, und deshalb prueft pruef-css-klassen die
ABHAENGIGKEIT statt der Optik. Hier hat sie angeschlagen. -->
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/holen.js?v=202610032333" defer></script>
<script src="assets/js/teamlage.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/holen.js?v=202610040006" defer></script>
<script src="assets/js/teamlage.js?v=202610040006" defer></script>
</body>
</html>
+15 -15
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -112,15 +112,15 @@
</main>
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/teilen.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/teilen.js?v=202610040006" defer></script>
</body>
</html>
+16 -16
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -126,14 +126,14 @@
</main>
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/treff-moderation.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/treff-moderation.js?v=202610040006" defer></script>
</body>
</html>
+16 -16
View File
@@ -7,18 +7,18 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<!-- haus.css MUSS die letzte Stilvorlage sein. Auf der Adresse des
Rudels biegt der Server genau diesen Dateinamen auf crew-haus.css
um, und die Seite kommt schon beim ERSTEN Abruf in Lila und
Babyblau an -- ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -248,14 +248,14 @@
Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen
Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen,
die seit dem 07.09. jede Seite danach absucht. -->
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/auskunft.js?v=202610032333" defer></script>
<script src="assets/js/treff-regeln.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/auskunft.js?v=202610040006" defer></script>
<script src="assets/js/treff-regeln.js?v=202610040006" defer></script>
</body>
</html>
+16 -16
View File
@@ -12,22 +12,22 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<!-- Formular- und Dialogstile: seit dem 07.09.2026 steht hier der
Dialog "Creator anlegen". -->
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<!-- 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=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -149,16 +149,16 @@
</main>
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/uebersicht.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/uebersicht.js?v=202610040006" defer></script>
</body>
</html>
+15 -15
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/unsere-seiten.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/unsere-seiten.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -335,14 +335,14 @@
</main>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/live.js?v=202610032333" defer></script>
<script src="assets/js/unsere-seiten.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/live.js?v=202610040006" defer></script>
<script src="assets/js/unsere-seiten.js?v=202610040006" defer></script>
</body>
</html>
+16 -16
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/unterstuetzen.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/unterstuetzen.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -106,17 +106,17 @@
<!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js
liest daraus die Leitungsrollen. Ohne sie stürzt jede Seite mit
„Cannot read properties of undefined (reading 'LEITUNG')" ab. -->
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/holen.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/holen.js?v=202610040006" defer></script>
<!-- Die Satz-Tafel. Ohne sie stand auf dieser Seite das Maschinenwort
des Servers (z.B. "nicht_gefunden") statt eines Satzes -- gemeldet
von pruef-meldungen, nicht beim Ansehen. -->
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/unterstuetzen.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/unterstuetzen.js?v=202610040006" defer></script>
</body>
</html>
+16 -16
View File
@@ -7,15 +7,15 @@
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/werdegang.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/werdegang.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -144,14 +144,14 @@
</main>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/werdegang.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/werdegang.js?v=202610040006" defer></script>
</body>
</html>
+15 -15
View File
@@ -12,13 +12,13 @@
vergessen wird. -->
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/willkommen.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/willkommen.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<!-- KOERPERKLASSE "start", NICHT "gate" (berichtigt 21.09.2026).
`body.gate` ist die Anmeldewand: `display:flex; align-items:center`,
@@ -75,13 +75,13 @@
<p class="fehler" id="fehler" hidden></p>
</main>
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/willkommen.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/willkommen.js?v=202610040006" defer></script>
</body>
</html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/wissen.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610040006" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610040006" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/start.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/wissen.css?v=202610040006" />
<link rel="stylesheet" href="assets/css/module.css?v=202610040006" />
<!-- 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=202610032333" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610040006" />
</head>
<body class="start">
@@ -190,15 +190,15 @@
</main>
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/hochladen.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/meldung.js?v=202610040006" defer></script>
<script src="assets/js/hochladen.js?v=202610040006" defer></script>
<script src="assets/js/nachfrage.js?v=202610040006" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/wissen.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610040006" defer></script>
<script src="assets/js/bereiche.js?v=202610040006" defer></script>
<script src="assets/js/installieren.js?v=202610040006" defer></script>
<script src="assets/js/kopf.js?v=202610040006" defer></script>
<script src="assets/js/glocke.js?v=202610040006" defer></script>
<script src="assets/js/wissen.js?v=202610040006" defer></script>
</body>
</html>