Die Einweisung gibt es jetzt auch fuer Team Dogi -- vier Fassungen, 106 Karten

Filipe hat den Bauplan "Willkommen & Anleitung -- Einweisung je Rolle"
(27 Seiten, Stand 06.10.2026) geschickt: pruefen, perfektionieren und
auf der Crew-Seite umsetzen.

AUSGANGSMESSUNG, bevor etwas angefasst wurde:

    agentur  creator 18 · manager 22 · scout 21 · spicy 23 Karten
    crew     0 Karten -- die Schnittstelle antwortete 404 "nicht_hier"

Die Seite lud also, war aber leer. Baulich vorbereitet war sie schon:
Alle drei Inhaltstabellen tragen `haus` mit UNIQUE (haus, rolle,
kachel), und die Aussaat nimmt das Haus als Parameter.

WAS JETZT DA IST

  gast   14 Karten (5 Muss, 4 Regelmaessig, 5 Bedarf)
  modi   29 Karten (7 / 7 / 15)
  linke  29 Karten (7 / 7 / 15)
  hand   34 Karten (8 / 7 / 19)

Jede Zahl entspricht Kapitel 13 des Bauplans. Dazu je Rolle
Leitgedanke, drei Saetze, fuenf Erste Schritte, "Nicht deins",
Rhythmus und Fragen -- woertlich aus Kapitel 06 bis 09.

VOR DEM SCHREIBEN ABGEGLICHEN, nicht danach: Ein Skript prueft jede
Karte gegen die echte Kachelliste der Rolle. Ergebnis fuer alle vier
Fassungen: Kartenzahl wie im Plan, jede Karte trifft eine Kachel,
jede Kachel hat eine Karte, keine doppelt.

ZWEI KACHELN AUF EINER SEITE. Auf der Crew-Adresse fuehren "Chat"
(das Team) und "Rudel-Chat" (`?raum=treff`) beide auf chat.html.
`schluesselVonZiel` behielt nur `b` -- beide ergaben denselben
Schluessel, und damit konnten sie keine eigenen Karten haben, obwohl
der Bauplan ihnen verschiedene Einordnungen gibt (fuer die rechte
Hand: Team-Chat Muss, Rudel-Chat nur bei Bedarf). Jetzt wird auch
`raum` unterschieden. Auf der Agenturadresse gibt es nur eine
Chat-Kachel; dort aendert sich nichts.

DAS HAUS KOMMT AUS DER ADRESSE, nicht aus der angesehenen Rolle.
`const HAUS = "agentur"` ist einer Funktion gewichen. Nimmt DogFather
die Sicht einer anderen Rolle ein, wechselt er die ROLLE, nicht die
ADRESSE -- wer hier `req.sicht` naehme, bekaeme auf der Crew-Adresse
Agenturinhalte, sobald eine Sicht gesetzt ist.

`FASSUNGEN` stand an zehn Stellen fest und haette die Crew ueberall
abgewiesen. Jetzt `fassungenFuer(haus)` -- eine Funktion statt zweier
Listen an zehn Stellen.

Neue Zeilenart `vorweg` fuer "Drei Dinge vorweg" (nur die Community,
Bauplan Kapitel 04). Fehlt die Liste bei einer Rolle, wird nichts
eingetragen -- kein Sonderfall noetig.

Eigene Datei fuer die Crew-Inhalte: anleitung-tabellen.js traegt
schon die Agenturfassungen und ist 856 Zeilen lang. Getrennte Dateien
sind hier dasselbe Prinzip wie getrennte Haeuser.

pruef-anleitung 125 -> 127. Fuenf Zeilen darin verteidigten den alten
Zustand ("ein Modi bekommt die Anleitung nicht, erwartet 404") -- sie
sind mitgewandert statt stehenzubleiben. Dazu eine neue Gegenprobe
zur Haustrennung: In der Crew-Fassung darf keine Agenturkachel
vorkommen.

Datenbank vorher gesichert und zurueckgelesen (integrity_check,
84 Karten).

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-10-06 16:29:38 +02:00
co-authored by Claude Opus 5
parent a654f74dd1
commit 96eff525d0
53 changed files with 1553 additions and 744 deletions
+724
View File
@@ -0,0 +1,724 @@
/* =====================================================================
Die Einweisung für Team Dogi — Inhalte der vier Crew-Fassungen.
Quelle: Bauplan „Willkommen & Anleitung — Einweisung je Rolle",
Stand 06.10.2026, Kapitel 06 bis 09. Gelesen mit `tools/pdf-text.mjs`
(auf diesem Rechner liegt kein PDF-Werkzeug; der Auszug übersetzt
die Teilschriften über ihre ToUnicode-Tabellen zurück).
---------------------------------------------------------------------
WARUM EINE EIGENE DATEI
`anleitung-tabellen.js` trägt die Agenturfassungen und ist dabei
schon 856 Zeilen lang. Die Crew bringt noch einmal so viel mit.
Beides in einer Datei wäre eine Datei, in der man nichts mehr
findet — und bei der jede Änderung an einem Haus das andere
mitberührt. Getrennte Dateien sind hier dasselbe Prinzip wie
getrennte Häuser.
---------------------------------------------------------------------
DIE SCHLÜSSEL SIND GEMESSEN, NICHT GERATEN
Jeder `kachel`-Schlüssel stammt aus `bereicheFuer()` für die
jeweilige Rolle, durch dieselbe Regel geschickt, die auch der
Browser benutzt (`schluesselVonZiel`). Zwei Namen sind dabei
überraschend, und beide hätte man beim Abschreiben falsch geraten:
entwicklung.html heißt „Eure Aufgaben"
werdegang.html heißt „Entwicklung"
Und `chat.html` trägt ZWEI Kacheln: „Chat" (das Team) und
„Rudel-Chat" (`?raum=treff`). Sie werden seit dem 06.10. als `chat`
und `chat:treff` unterschieden — vorher ergaben beide denselben
Schlüssel, und der Bauplan gibt ihnen verschiedene Einordnungen.
---------------------------------------------------------------------
DIE ZAHLEN DES BAUPLANS GEHEN AUF
Nachgezählt gegen die echten Kachellisten (Kapitel 13):
Community 14 Karten + Willkommen = 15 Kacheln
Modi 29 Karten + Willkommen = 30
Linke Hand 29 Karten + Willkommen = 30
Rechte Hand 34 Karten + Willkommen = 35
Die linke Hand stimmte zuerst nicht (34 statt 30). Gemessen: Vier
ihrer Kacheln führten auf Seiten, die sie nicht öffnen darf. Das
lag an der Kachelliste, nicht am Bauplan — behoben am 06.10.2026.
Für die Kachel „Willkommen & Anleitung" selbst gibt es bewusst
KEINE Karte: Eine Seite, die sich selbst erklärt, ist eine Schleife.
===================================================================== */
export const INHALTE_CREW = {
/* ===================================================================
COMMUNITY (Rolle `gast`) — Kapitel 06
=================================================================== */
gast: {
leitgedanke:
"Dein Platz im Rudel. Schau dich um, schreib etwas oder lies erst mal mit. "
+ "Beides ist richtig.",
saetze: [
"Fünf Kacheln reichen für den Anfang. Den Rest entdeckst du nebenbei.",
"Du musst nichts schreiben und nichts geben. Mitlesen ist völlig in Ordnung.",
"Manches geht erst nach ein paar Tagen. Das kommt von selbst.",
],
schritte: [
{ titel: "Regeln & Hilfe", ziel: "treff-regeln.html",
text: "Fünf Regeln, einmal lesen." },
{ titel: "Mein Steckbrief", ziel: "steckbrief.html",
text: "Bild wählen, ein Satz über dich." },
{ titel: "Draußen", ziel: "unsere-seiten.html",
text: "Dort siehst du, ob Dogi gerade live ist." },
{ titel: "Wunschliste", ziel: "bereich.html?b=wunsch",
text: "Bei einem Wunsch „Will ich auch“ drücken." },
/* KEIN ZIEL. „Installieren" ist keine Kachel, sondern der Knopf
in der Kopfleiste -- ein Sprung ginge ins Leere. */
{ titel: "Installieren", ziel: null,
text: "Oben antippen, dann hast du das Rudel als App." },
],
karten: [
{ kachel: "treff-regeln", stufe: "muss",
wozu: "Wie es hier läuft.",
tust: "Einmal lesen: fünf Regeln, die Stufen und die Folgen.",
merke: "Reihenfolge bei Verstößen: Hinweis, Pause, Ende." },
{ kachel: "steckbrief", stufe: "muss",
wozu: "Deine Seite.",
tust: "Einmal ausfüllen: Bild, ein Satz, deine Kanäle.",
merke: "Unten kannst du herunterladen, was über dich gespeichert ist." },
{ kachel: "chat:treff", stufe: "muss",
wozu: "Miteinander reden.",
tust: "Im Kanal „Das Rudel“ schreiben, antworten, reagieren.",
merke: "Schreiben ab Stufe Dabei. Mit @ und Namen sprichst du jemanden direkt an." },
{ kachel: "bereich:ansteht", stufe: "muss",
wozu: "Streams, Events, Turniere.",
tust: "Nachsehen, was kommt, mit Countdown.",
merke: "Steht hier nichts, steht noch kein Termin fest." },
{ kachel: "bereich:anschlag", stufe: "muss",
wozu: "Was gerade gilt.",
tust: "Lesen: Ansagen, neue Regeln, Hinweise, Danke.",
merke: "Hier schreibt nur das Team. Abgehängtes gilt nicht mehr." },
{ kachel: "bereich:wunsch", stufe: "regelmaessig",
wozu: "Was ihr euch wünscht.",
tust: "„Will ich auch“ drücken. Ab Stufe Dabei eigene Wünsche einstellen.",
merke: "Sortiert nach dem, was die meisten wollen. DogFather entscheidet." },
{ kachel: "bereich:highlight", stufe: "regelmaessig",
wozu: "Clips, Bilder, Fanart.",
tust: "Ansehen und auf TikTok liken. Ab Stufe Stamm selbst einstellen.",
merke: "Der Knopf führt zu TikTok. Dort zählt das Liken wirklich." },
{ kachel: "unsere-seiten", stufe: "regelmaessig",
wozu: "Wo es Dogi sonst gibt.",
tust: "Live-Status, Kanäle, Website und Shop öffnen.",
merke: "Im Shop gibt es 10 % für die Community. Der Code steht dort zum Kopieren." },
{ kachel: "reaktion", stufe: "regelmaessig",
wozu: "Zusammen schauen.",
tust: "In den Saal gehen, wenn er offen ist, und im Live-Chat mitschreiben.",
merke: "Ob der Saal offen ist, siehst du schon an der Kachel." },
{ kachel: "material", stufe: "bedarf",
wozu: "Bilder und Videos zum Posten.",
tust: "„Nehmen und laden“ antippen.",
merke: "Jedes Stück gibt es nur einmal. Wer es nimmt, hat es." },
{ kachel: "unterstuetzen", stufe: "bedarf",
wozu: "Etwas zurückgeben.",
tust: "Aussuchen, was passt: da sein, weitersagen, schenken oder direkt geben.",
merke: "Nichts ist Pflicht, und niemand sieht, wer etwas gegeben hat." },
{ kachel: "bereich:mitmachen", stufe: "bedarf",
wozu: "Wie du dazugehören kannst.",
tust: "Lesen, was gesucht wird. Über „Anfrage stellen“ Modi werden wollen.",
merke: "Ab Stufe Dabei. Die Anfrage lesen nur DogFather und die rechte Hand." },
{ kachel: "support", stufe: "bedarf",
wozu: "Etwas ist kaputt.",
tust: "Einen Satz schreiben, Bildschirmfoto anhängen.",
merke: "Für Fehler an der Seite, nicht für Streit." },
{ kachel: "hilfe", stufe: "bedarf",
wozu: "Wenn etwas vorgefallen ist.",
tust: "„Neue Meldung“ schreiben.",
merke: "Nur DogFather und die rechte Hand lesen mit. Sie sehen deinen Namen." },
],
nicht: [
{ titel: "Geld geben.", text: "Wer nur zuschaut, gehört genauso dazu." },
{ titel: "Jeden Tag schreiben.", text: "Mitlesen reicht." },
{ titel: "In den ersten 7 Tagen schreiben.",
text: "Geht noch nicht und kommt von selbst." },
{ titel: "Alle Kacheln kennen.", text: "Fang mit den fünf Muss-Kacheln an." },
{ titel: "Streit selbst klären.", text: "An jedem fremden Beitrag steht „melden“." },
],
takt: [
{ titel: "Wenn du reinschaust",
text: "Startseite, Rudel-Chat, Was ansteht, Anschlagbrett." },
{ titel: "Wenn Dogi live ist", text: "Draußen, Reaction." },
{ titel: "Ab und zu", text: "Wunschliste, Highlights." },
],
fragen: [
{ titel: "Muss ich alles kennen?",
text: "Nein. Fünf Kacheln reichen. Der Rest kommt, wenn du ihn brauchst." },
{ titel: "Warum kann ich noch nicht schreiben?",
text: "In den ersten 7 Tagen kannst du lesen und mitstimmen. "
+ "Das schützt vor Wegwerf-Zugängen." },
{ titel: "Mir gefällt ein Beitrag nicht. Was tun?",
text: "An jedem fremden Beitrag steht „melden“. "
+ "Schreib in einem Satz, was nicht in Ordnung ist." },
{ titel: "Muss ich Geld geben, um dazuzugehören?",
text: "Nein. Wer nur zuschaut, gehört genauso dazu." },
{ titel: "Mein Code geht nicht mehr.",
text: "Frag im Live nach. Team Dogi gibt dir einen neuen." },
],
/* NUR FUER DIE COMMUNITY (Bauplan, Kapitel 04). Drei Saetze, die
VOR allem anderen stehen -- sie regeln nichts, sie sagen nur,
woran sich alle halten. */
vorweg: [
{ titel: "Dein Code gehört dir.",
text: "Gib ihn nicht weiter. Was damit geschrieben wird, steht unter deinem Namen." },
{ titel: "Nachts ist Ruhe.",
text: "Zwischen 0 und 6 Uhr kannst du lesen, schreiben geht ab 6 Uhr wieder. "
+ "Das gilt für alle, auch für DogFather." },
{ titel: "Was hier passiert, bleibt hier.",
text: "Keine Bildschirmfotos nach draußen." },
],
},
/* ===================================================================
MODI — Kapitel 07
=================================================================== */
modi: {
leitgedanke:
"Dein Bereich im Team. Du nimmst an, was du schaffst, und sagst ab, was nicht geht. "
+ "Eine Absage ist in Ordnung, schreib kurz warum.",
saetze: [
"Dein Alltag sind drei Dinge: Aufgaben, Meldungen aus dem Rudel und das Live.",
"Aus 15 Kacheln sind 30 geworden. Sieben davon brauchst du wirklich.",
"Die Kacheln der Community kennst du schon. Jetzt befüllst du einige davon.",
],
schritte: [
{ titel: "Aufgaben", ziel: "aufgaben.html",
text: "So nimmst du eine Aufgabe an oder lehnst sie mit einem Satz ab." },
{ titel: "Meldungen & Maßnahmen", ziel: "treff-moderation.html",
text: "Hier landet, was aus dem Rudel gemeldet wird." },
{ titel: "Live-Ablauf", ziel: "bereich.html?b=live",
text: "Die Checkliste für vor, während und nach der Sendung." },
{ titel: "Kalender", ziel: "kalender.html",
text: "Live-Zeiten in deinen eigenen Kalender holen." },
{ titel: "Mein Steckbrief", ziel: "steckbrief.html", text: "Ausfüllen." },
],
karten: [
{ kachel: "aufgaben", stufe: "muss",
wozu: "Was für dich dran ist.",
tust: "Annehmen oder ablehnen, bearbeiten, zur Freigabe geben.",
merke: "Wer ablehnt, schreibt einen Satz dazu. Dann muss niemand nachfragen." },
{ kachel: "treff-moderation", stufe: "muss",
wozu: "Die Arbeit am Rudel.",
tust: "Offene Meldungen prüfen, Beitrag entfernen, Hinweis oder Pause geben.",
merke: "Du kannst bis zu 7 Tage Pause geben. Jeder Eingriff braucht einen Grund, "
+ "die Person erfährt ihn." },
{ kachel: "bereich:live", stufe: "muss",
wozu: "Checkliste fürs Live.",
tust: "Vor, während und nach der Sendung die Punkte durchgehen: passt so, zu verbessern.",
merke: "40 feste Punkte in drei Phasen." },
{ kachel: "chat", stufe: "muss",
wozu: "Nachrichten mit dem Team.",
tust: "Einzelgespräche, Gruppen, Kanäle.",
merke: "Mit @ und Namen bekommt die Person eine eigene Meldung." },
{ kachel: "kalender", stufe: "muss",
wozu: "Live-Zeiten und Termine.",
tust: "Termine ansehen und anlegen, Live-Zeiten in deinen eigenen Kalender holen.",
merke: "Am Handy einen Tag antippen." },
{ kachel: "chat:treff", stufe: "muss",
wozu: "Der Chat der Community.",
tust: "Mitlesen und mitreden.",
merke: "Zwischen 0 und 6 Uhr nur lesen. Das gilt für alle." },
{ kachel: "steckbrief", stufe: "muss",
wozu: "So sehen dich die anderen.",
tust: "Einmal ausfüllen: Bild, Satz, Kanäle.",
merke: "Jeder pflegt nur seinen eigenen." },
{ kachel: "bereich:ideen", stufe: "regelmaessig",
wozu: "Ideen sammeln.",
tust: "Idee eintragen, fertige Vorschläge übernehmen.",
merke: "Sortiert nach Dringlichkeit." },
{ kachel: "bereich:rueckmeldung", stufe: "regelmaessig",
wozu: "Was gut läuft, was hakt.",
tust: "Eine Zeile reicht.",
merke: "Geht in beide Richtungen." },
{ kachel: "entwicklung", stufe: "regelmaessig",
wozu: "Was im Team über deine Arbeit notiert ist.",
tust: "Deine Karte ansehen und selbst etwas dazu sagen.",
merke: "Keine Noten. Eine Einschätzung erscheint erst, wenn beide Hände sie "
+ "gesetzt haben." },
{ kachel: "befinden", stufe: "regelmaessig",
wozu: "Ein paar Fragen über dich.",
tust: "Antworten und Runde abschließen.",
merke: "Niemand im Team sieht deine Antworten." },
{ kachel: "bereich:anschlag", stufe: "regelmaessig",
wozu: "Was gerade gilt.",
tust: "Ansagen, neue Regeln, Hinweise einstellen.",
merke: "Hier schreibt nur das Team. Abgehängtes gilt nicht mehr." },
{ kachel: "bereich:ansteht", stufe: "regelmaessig",
wozu: "Streams, Events, Turniere.",
tust: "Termine eintragen.",
merke: "Steht hier nichts, sieht die Community keinen Termin." },
{ kachel: "bereich:highlight", stufe: "regelmaessig",
wozu: "Clips, Bilder, Fanart.",
tust: "Eingestellte Beiträge freigeben.",
merke: "Beiträge der Community erscheinen erst nach Freigabe durch das Team." },
{ kachel: "calls", stufe: "bedarf",
wozu: "Gespräche mit To-dos.",
tust: "Protokolle lesen und schreiben.",
merke: "To-dos werden zu Aufgaben." },
{ kachel: "dateien", stufe: "bedarf",
wozu: "Ablage und Freigaben.",
tust: "Dateien hochladen (bis 25 MB) und öffnen.",
merke: "Entwurf, Zur Freigabe, Freigegeben." },
{ kachel: "bereich:angebote", stufe: "bedarf",
wozu: "Vorschläge für DogFather.",
tust: "Aktion oder Format vorschlagen.",
merke: "DogFather nimmt an oder lehnt ab." },
{ kachel: "werdegang", stufe: "bedarf",
wozu: "Wie du dich bewegst.",
tust: "Verlauf ansehen.",
merke: "Am Anfang leer. Das ist normal." },
{ kachel: "bereich:community", stufe: "bedarf",
wozu: "Begrüßen, vermitteln, wiedererkennen.",
tust: "Festhalten, was vorbereitet ist und was geholfen hat.",
merke: "36 feste Punkte." },
{ kachel: "bereich:technik", stufe: "bedarf",
wozu: "Ton, Bild, Verbindung.",
tust: "Probleme und Lösungen notieren.",
merke: "25 feste Punkte." },
{ kachel: "bereich:wunsch", stufe: "bedarf",
wozu: "Was sich das Rudel wünscht.",
tust: "Mitlesen, was die meisten wollen.",
merke: "DogFather entscheidet." },
{ kachel: "material", stufe: "bedarf",
wozu: "Bilder und Videos zum Posten.",
tust: "Neue Stücke einstellen.",
merke: "Jedes Stück gibt es nur einmal." },
{ kachel: "reaktion", stufe: "bedarf",
wozu: "Zusammen schauen.",
tust: "Dabei sein, wenn der Saal offen ist.",
merke: "Ob er offen ist, steht an der Kachel." },
{ kachel: "unsere-seiten", stufe: "bedarf",
wozu: "Live-Status, Kanäle, Website, Shop.",
tust: "Nachsehen.",
merke: "Du siehst, was die Community sieht." },
{ kachel: "unterstuetzen", stufe: "bedarf",
wozu: "Wie man Dogi etwas zurückgeben kann.",
tust: "Nachsehen.",
merke: "Nichts ist Pflicht." },
{ kachel: "bereich:mitmachen", stufe: "bedarf",
wozu: "Wie man dazugehören kann.",
tust: "Lesen, was gesucht wird.",
merke: "Anfragen lesen nur DogFather und die rechte Hand." },
{ kachel: "treff-regeln", stufe: "bedarf",
wozu: "Regeln, Stufen und Folgen.",
tust: "Nachschlagen, bevor du eingreifst.",
merke: "Reihenfolge bei Verstößen: Hinweis, Pause, Ende." },
{ kachel: "notizen", stufe: "bedarf",
wozu: "Dein Block.",
tust: "Aufschreiben, was dir einfällt.",
merke: "Nur du siehst ihn. Auch DogFather nicht." },
{ kachel: "support", stufe: "bedarf",
wozu: "Etwas ist kaputt.",
tust: "Beschreiben, Bild anhängen.",
merke: "Geht an DogFather und die rechte Hand." },
],
nicht: [
{ titel: "Jede Aufgabe annehmen.", text: "Ablehnen ist ausdrücklich vorgesehen." },
{ titel: "Aufgaben verteilen.", text: "Das machen die Linke und die Rechte Hand." },
{ titel: "Pausen über 7 Tage und Ausschlüsse.", text: "Das entscheidet DogFather." },
{ titel: "Leute anlegen und Codes vergeben.",
text: "Das machen die Rechte Hand und DogFather." },
{ titel: "Vertrauliche Meldungen.",
text: "Die lesen nur die Rechte Hand und DogFather." },
],
takt: [
{ titel: "Vor dem Live", text: "Live-Ablauf, Kalender, Chat." },
{ titel: "Täglich",
text: "Startseite, Aufgaben, Meldungen & Maßnahmen, Rudel-Chat." },
{ titel: "Wöchentlich",
text: "Ideen-Board, Rückmeldung, Eure Aufgaben, Wie geht's dir?" },
],
fragen: [
{ titel: "Darf ich eine Aufgabe ablehnen?",
text: "Ja. Das ist ausdrücklich vorgesehen. Schreib einen Satz dazu." },
{ titel: "Wie lange darf ich jemanden pausieren?",
text: "Bis zu 7 Tage. Längere Pausen und Ausschlüsse sind DogFathers Entscheidung." },
{ titel: "Wer liest meine Notizen?", text: "Niemand außer dir." },
{ titel: "Muss ich begründen, wenn ich etwas entferne?",
text: "Ja. Der Grund wird festgehalten, und die Person erfährt ihn." },
],
},
/* ===================================================================
LINKE HAND — Kapitel 08
=================================================================== */
linke: {
leitgedanke:
"Du führst das Team durch den Tag, mit denselben Werkzeugen wie die Rechte Hand. "
+ "Du siehst dieselben 30 Kacheln wie ein Modi, arbeitest aber anders darin.",
saetze: [
"Du verteilst Aufgaben und behältst das Team im Blick.",
"Neu für dich gegenüber dem Modi: Aufgaben anlegen, Eure Aufgaben für alle, "
+ "Entwicklung für alle.",
"Bei Meldungen springst du ein, wenn niemand reagiert.",
],
schritte: [
{ titel: "Mein Steckbrief", ziel: "steckbrief.html", text: "Ausfüllen." },
{ titel: "Aufgaben", ziel: "aufgaben.html",
text: "Mit „Neue Aufgabe“ eine anlegen: für eine Person oder mehrere." },
{ titel: "Eure Aufgaben", ziel: "entwicklung.html",
text: "Unter „Wen gehst du durch?“ steht das ganze Team." },
{ titel: "Entwicklung", ziel: "werdegang.html",
text: "Alle Karten, nach Rolle geordnet." },
{ titel: "Rückmeldung", ziel: "bereich.html?b=rueckmeldung",
text: "Jemandem kurz Rückmeldung geben." },
],
karten: [
{ kachel: "aufgaben", stufe: "muss",
wozu: "Wer macht was.",
tust: "Aufgaben anlegen und verteilen, Stände verfolgen, Rückmeldung geben.",
merke: "Bei mehreren Personen wählen: Jede macht ihren Teil, "
+ "oder die Erste mit Zeit übernimmt." },
{ kachel: "entwicklung", stufe: "muss",
wozu: "Das Team im Blick.",
tust: "Jede Person durchgehen, Beobachtungen setzen, Aufgaben aus der Vorlage übernehmen.",
merke: "101 fertige Aufgaben in 14 Kategorien. Eine Einschätzung zählt erst, "
+ "wenn beide Hände sie gesetzt haben." },
{ kachel: "treff-moderation", stufe: "muss",
wozu: "Die Arbeit am Rudel.",
tust: "Wie die Modis, und du springst ein, wenn niemand reagiert.",
merke: "Längere Pausen und Ausschlüsse bleiben bei DogFather." },
{ kachel: "bereich:live", stufe: "muss",
wozu: "Checkliste fürs Live.",
tust: "Vor, während und nach der Sendung die Punkte durchgehen: passt so, zu verbessern.",
merke: "40 feste Punkte in drei Phasen." },
{ kachel: "chat", stufe: "muss",
wozu: "Nachrichten mit dem Team.",
tust: "Einzelgespräche, Gruppen, Kanäle.",
merke: "Mit @ und Namen bekommt die Person eine eigene Meldung." },
{ kachel: "kalender", stufe: "muss",
wozu: "Live-Zeiten und Termine.",
tust: "Termine ansehen und anlegen, Live-Zeiten in deinen eigenen Kalender holen.",
merke: "Am Handy einen Tag antippen." },
{ kachel: "steckbrief", stufe: "muss",
wozu: "So sehen dich die anderen.",
tust: "Einmal ausfüllen: Bild, Satz, Kanäle.",
merke: "Jeder pflegt nur seinen eigenen." },
{ kachel: "werdegang", stufe: "regelmaessig",
wozu: "Bewegung über die Zeit.",
tust: "Karten aller Teammitglieder ansehen.",
merke: "Keine Note, kein Ranking. Nachfragen statt behaupten." },
{ kachel: "bereich:rueckmeldung", stufe: "regelmaessig",
wozu: "Was gut läuft, was hakt.",
tust: "Eine Zeile reicht.",
merke: "Geht in beide Richtungen." },
{ kachel: "chat:treff", stufe: "regelmaessig",
wozu: "Der Chat der Community.",
tust: "Mitlesen und mitreden.",
merke: "Zwischen 0 und 6 Uhr nur lesen. Das gilt für alle." },
{ kachel: "bereich:ideen", stufe: "regelmaessig",
wozu: "Ideen sammeln.",
tust: "Idee eintragen, fertige Vorschläge übernehmen.",
merke: "Sortiert nach Dringlichkeit." },
{ kachel: "befinden", stufe: "regelmaessig",
wozu: "Deine Runde und die Stimmung im Team.",
tust: "Selbst antworten. Im Teamhinweis siehst du, wie viele geantwortet haben "
+ "und ob mehrere gerade viel haben.",
merke: "Namen und Antworten siehst du nicht." },
{ kachel: "bereich:anschlag", stufe: "regelmaessig",
wozu: "Was gerade gilt.",
tust: "Ansagen, neue Regeln, Hinweise einstellen.",
merke: "Hier schreibt nur das Team. Abgehängtes gilt nicht mehr." },
{ kachel: "bereich:ansteht", stufe: "regelmaessig",
wozu: "Streams, Events, Turniere.",
tust: "Termine eintragen.",
merke: "Steht hier nichts, sieht die Community keinen Termin." },
{ kachel: "calls", stufe: "bedarf",
wozu: "Gespräche mit To-dos.",
tust: "Protokolle lesen und schreiben.",
merke: "To-dos werden zu Aufgaben." },
{ kachel: "dateien", stufe: "bedarf",
wozu: "Ablage und Freigaben.",
tust: "Dateien hochladen (bis 25 MB) und öffnen.",
merke: "Entwurf, Zur Freigabe, Freigegeben." },
{ kachel: "bereich:angebote", stufe: "bedarf",
wozu: "Vorschläge für DogFather.",
tust: "Aktion oder Format vorschlagen.",
merke: "DogFather nimmt an oder lehnt ab." },
{ kachel: "bereich:community", stufe: "bedarf",
wozu: "Begrüßen, vermitteln, wiedererkennen.",
tust: "Festhalten, was vorbereitet ist und was geholfen hat.",
merke: "36 feste Punkte." },
{ kachel: "bereich:technik", stufe: "bedarf",
wozu: "Ton, Bild, Verbindung.",
tust: "Probleme und Lösungen notieren.",
merke: "25 feste Punkte." },
{ kachel: "bereich:highlight", stufe: "bedarf",
wozu: "Clips, Bilder, Fanart.",
tust: "Eingestellte Beiträge freigeben.",
merke: "Beiträge der Community erscheinen erst nach Freigabe durch das Team." },
{ kachel: "bereich:wunsch", stufe: "bedarf",
wozu: "Was sich das Rudel wünscht.",
tust: "Mitlesen, was die meisten wollen.",
merke: "DogFather entscheidet." },
{ kachel: "material", stufe: "bedarf",
wozu: "Bilder und Videos zum Posten.",
tust: "Neue Stücke einstellen.",
merke: "Jedes Stück gibt es nur einmal." },
{ kachel: "reaktion", stufe: "bedarf",
wozu: "Zusammen schauen.",
tust: "Dabei sein, wenn der Saal offen ist.",
merke: "Ob er offen ist, steht an der Kachel." },
{ kachel: "unsere-seiten", stufe: "bedarf",
wozu: "Live-Status, Kanäle, Website, Shop.",
tust: "Nachsehen.",
merke: "Du siehst, was die Community sieht." },
{ kachel: "unterstuetzen", stufe: "bedarf",
wozu: "Wie man Dogi etwas zurückgeben kann.",
tust: "Nachsehen.",
merke: "Nichts ist Pflicht." },
{ kachel: "bereich:mitmachen", stufe: "bedarf",
wozu: "Wie man dazugehören kann.",
tust: "Lesen, was gesucht wird.",
merke: "Anfragen lesen nur DogFather und die rechte Hand." },
{ kachel: "treff-regeln", stufe: "bedarf",
wozu: "Regeln, Stufen und Folgen.",
tust: "Nachschlagen, bevor du eingreifst.",
merke: "Reihenfolge bei Verstößen: Hinweis, Pause, Ende." },
{ kachel: "notizen", stufe: "bedarf",
wozu: "Dein Block.",
tust: "Aufschreiben, was dir einfällt.",
merke: "Nur du siehst ihn. Auch DogFather nicht." },
{ kachel: "support", stufe: "bedarf",
wozu: "Etwas ist kaputt.",
tust: "Beschreiben, Bild anhängen.",
merke: "Geht an DogFather und die rechte Hand." },
],
nicht: [
{ titel: "Leute anlegen und Codes vergeben.",
text: "Das können nur die Rechte Hand und DogFather." },
{ titel: "Die Rechte-Tafel „Wer sieht was“.", text: "Liegt bei der Rechten Hand." },
{ titel: "Vertrauliche Meldungen.",
text: "Die lesen nur die Rechte Hand und DogFather." },
{ titel: "Längere Pausen und Ausschlüsse.", text: "Bleiben bei DogFather." },
{ titel: "Jede Aufgabe selbst erledigen.", text: "Du verteilst." },
],
takt: [
{ titel: "Vor dem Live", text: "Live-Ablauf, Kalender, Aufgaben verteilen." },
{ titel: "Täglich",
text: "Startseite, Aufgaben („Wer hat gerade was“), Meldungen & Maßnahmen." },
{ titel: "Wöchentlich",
text: "Eure Aufgaben (Einschätzungen setzen), Entwicklung, Rückmeldung." },
],
fragen: [
{ titel: "Was unterscheidet mich von der Rechten Hand?",
text: "Die Rechte Hand hat zusätzlich Dein Team, Talente, Personen & Zugänge, "
+ "Wer sieht was und liest vertrauliche Meldungen." },
{ titel: "Wann zählt eine Einschätzung?",
text: "Erst, wenn beide Hände sie gesetzt haben." },
{ titel: "Sehe ich, was jemand bei „Wie geht's dir?“ antwortet?",
text: "Nein. Du siehst nur, wie viele geantwortet haben." },
],
},
/* ===================================================================
RECHTE HAND — Kapitel 09
=================================================================== */
hand: {
leitgedanke:
"Du hast alles im Blick und entscheidest mit. Du vertrittst DogFather im Alltag, "
+ "verteilst Aufgaben und legst neue Leute an.",
saetze: [
"Bei dir kommt an, was sonst niemand sieht: vertrauliche Meldungen und Support.",
"Dein Team zeigt dir jeden Tag, wer da ist und was auf dich wartet.",
"Von 35 Kacheln brauchst du acht täglich. Die Community-Kacheln befüllen die Modis.",
],
schritte: [
{ titel: "Dein Team", ziel: "teamlage.html",
text: "Wer da ist, wer was offen hat, was auf dich wartet." },
{ titel: "Personen & Zugänge", ziel: "personen.html",
text: "So legst du jemanden an und gibst den Code weiter." },
{ titel: "Vertraulich melden", ziel: "hilfe.html",
text: "Hier liest du, was niemand sonst sieht." },
{ titel: "Talente", ziel: "talente.html",
text: "Zuschauer, die ins Team passen könnten." },
{ titel: "Wer sieht was", ziel: "rechte.html",
text: "Die Rechte-Tafel. Erst lesen, dann umstellen." },
],
karten: [
{ kachel: "teamlage", stufe: "muss",
wozu: "Die Lage des Teams.",
tust: "Sehen, wer da ist und wer was offen hat. „Was auf dich wartet“ abarbeiten.",
merke: "Geordnet nach Linke Hand und Modis." },
{ kachel: "hilfe", stufe: "muss",
wozu: "Vertrauliche Meldungen.",
tust: "Alle Meldungen lesen und bearbeiten.",
merke: "Nur du und DogFather. Kein Modi, kein Mitglied." },
{ kachel: "treff-moderation", stufe: "muss",
wozu: "Die Arbeit am Rudel.",
tust: "Wie die Modis, und du springst ein, wenn niemand reagiert.",
merke: "Längere Pausen und Ausschlüsse bleiben bei DogFather." },
{ kachel: "support", stufe: "muss",
wozu: "Fehler an der Seite.",
tust: "Eingänge ansehen und zurückmelden, wenn erledigt.",
merke: "Kommt bei dir und DogFather an." },
{ kachel: "aufgaben", stufe: "muss",
wozu: "Wer macht was.",
tust: "Aufgaben anlegen und verteilen, Stände verfolgen, Rückmeldung geben.",
merke: "Bei mehreren Personen wählen: Jede macht ihren Teil, "
+ "oder die Erste mit Zeit übernimmt." },
{ kachel: "chat", stufe: "muss",
wozu: "Nachrichten mit dem Team.",
tust: "Einzelgespräche, Gruppen, Kanäle.",
merke: "Mit @ und Namen bekommt die Person eine eigene Meldung." },
{ kachel: "personen", stufe: "muss",
wozu: "Wer dabei ist.",
tust: "Person anlegen, Rolle wählen, Code weitergeben.",
merke: "Den Code persönlich oder über einen sicheren Weg weitergeben." },
{ kachel: "steckbrief", stufe: "muss",
wozu: "So sehen dich die anderen.",
tust: "Einmal ausfüllen: Bild, Satz, Kanäle.",
merke: "Jeder pflegt nur seinen eigenen." },
{ kachel: "talente", stufe: "regelmaessig",
wozu: "Nachwuchs fürs Team.",
tust: "Zuschauer vormerken, die passen könnten. „Wonach du suchst“ lesen.",
merke: "Anfragen aus „Mitmachen“ liest nur du und DogFather." },
{ kachel: "entwicklung", stufe: "regelmaessig",
wozu: "Das Team im Blick.",
tust: "Jede Person durchgehen, Beobachtungen setzen, Aufgaben aus der Vorlage übernehmen.",
merke: "101 fertige Aufgaben in 14 Kategorien. Eine Einschätzung zählt erst, "
+ "wenn beide Hände sie gesetzt haben." },
{ kachel: "bereich:mitmachen", stufe: "regelmaessig",
wozu: "Wie man dazugehören kann.",
tust: "Anfragen lesen und beantworten.",
merke: "Die Anfragen lesen nur du und DogFather." },
{ kachel: "werdegang", stufe: "regelmaessig",
wozu: "Bewegung über die Zeit.",
tust: "Karten aller Teammitglieder ansehen.",
merke: "Keine Note, kein Ranking. Nachfragen statt behaupten." },
{ kachel: "bereich:rueckmeldung", stufe: "regelmaessig",
wozu: "Was gut läuft, was hakt.",
tust: "Eine Zeile reicht.",
merke: "Geht in beide Richtungen." },
{ kachel: "bereich:live", stufe: "regelmaessig",
wozu: "Checkliste fürs Live.",
tust: "Vor, während und nach der Sendung die Punkte durchgehen: passt so, zu verbessern.",
merke: "40 feste Punkte in drei Phasen." },
{ kachel: "kalender", stufe: "regelmaessig",
wozu: "Live-Zeiten und Termine.",
tust: "Termine ansehen und anlegen, Live-Zeiten in deinen eigenen Kalender holen.",
merke: "Am Handy einen Tag antippen." },
{ kachel: "rechte", stufe: "bedarf",
wozu: "Die Rechte-Tafel.",
tust: "Sehen, welche Rolle welche Seite öffnen darf. Ein Klick stellt um.",
merke: "Erst lesen, dann umstellen. Jeder Klick wird sofort gespeichert." },
{ kachel: "calls", stufe: "bedarf",
wozu: "Gespräche mit To-dos.",
tust: "Protokolle lesen und schreiben.",
merke: "To-dos werden zu Aufgaben." },
{ kachel: "dateien", stufe: "bedarf",
wozu: "Ablage und Freigaben.",
tust: "Dateien hochladen (bis 25 MB) und öffnen.",
merke: "Entwurf, Zur Freigabe, Freigegeben." },
{ kachel: "bereich:ideen", stufe: "bedarf",
wozu: "Ideen sammeln.",
tust: "Idee eintragen, fertige Vorschläge übernehmen.",
merke: "Sortiert nach Dringlichkeit." },
{ kachel: "bereich:angebote", stufe: "bedarf",
wozu: "Vorschläge für DogFather.",
tust: "Aktion oder Format vorschlagen.",
merke: "DogFather nimmt an oder lehnt ab." },
{ kachel: "bereich:community", stufe: "bedarf",
wozu: "Begrüßen, vermitteln, wiedererkennen.",
tust: "Festhalten, was vorbereitet ist und was geholfen hat.",
merke: "36 feste Punkte." },
{ kachel: "bereich:technik", stufe: "bedarf",
wozu: "Ton, Bild, Verbindung.",
tust: "Probleme und Lösungen notieren.",
merke: "25 feste Punkte." },
{ kachel: "chat:treff", stufe: "bedarf",
wozu: "Der Chat der Community.",
tust: "Mitlesen und mitreden.",
merke: "Zwischen 0 und 6 Uhr nur lesen. Das gilt für alle." },
{ kachel: "bereich:highlight", stufe: "bedarf",
wozu: "Clips, Bilder, Fanart.",
tust: "Eingestellte Beiträge freigeben.",
merke: "Beiträge der Community erscheinen erst nach Freigabe durch das Team." },
{ kachel: "bereich:anschlag", stufe: "bedarf",
wozu: "Was gerade gilt.",
tust: "Ansagen, neue Regeln, Hinweise einstellen.",
merke: "Hier schreibt nur das Team. Abgehängtes gilt nicht mehr." },
{ kachel: "bereich:ansteht", stufe: "bedarf",
wozu: "Streams, Events, Turniere.",
tust: "Termine eintragen.",
merke: "Steht hier nichts, sieht die Community keinen Termin." },
{ kachel: "bereich:wunsch", stufe: "bedarf",
wozu: "Was sich das Rudel wünscht.",
tust: "Mitlesen, was die meisten wollen.",
merke: "DogFather entscheidet." },
{ kachel: "material", stufe: "bedarf",
wozu: "Bilder und Videos zum Posten.",
tust: "Neue Stücke einstellen.",
merke: "Jedes Stück gibt es nur einmal." },
{ kachel: "reaktion", stufe: "bedarf",
wozu: "Zusammen schauen.",
tust: "Dabei sein, wenn der Saal offen ist.",
merke: "Ob er offen ist, steht an der Kachel." },
{ kachel: "unsere-seiten", stufe: "bedarf",
wozu: "Live-Status, Kanäle, Website, Shop.",
tust: "Nachsehen.",
merke: "Du siehst, was die Community sieht." },
{ kachel: "unterstuetzen", stufe: "bedarf",
wozu: "Wie man Dogi etwas zurückgeben kann.",
tust: "Nachsehen.",
merke: "Nichts ist Pflicht." },
{ kachel: "treff-regeln", stufe: "bedarf",
wozu: "Regeln, Stufen und Folgen.",
tust: "Nachschlagen, bevor du eingreifst.",
merke: "Reihenfolge bei Verstößen: Hinweis, Pause, Ende." },
{ kachel: "notizen", stufe: "bedarf",
wozu: "Dein Block.",
tust: "Aufschreiben, was dir einfällt.",
merke: "Nur du siehst ihn. Auch DogFather nicht." },
{ kachel: "befinden", stufe: "bedarf",
wozu: "Deine Runde und die Stimmung im Team.",
tust: "Selbst antworten. Im Teamhinweis siehst du, wie viele geantwortet haben "
+ "und ob mehrere gerade viel haben.",
merke: "Namen und Antworten siehst du nicht." },
],
nicht: [
{ titel: "Endgültige Ausschlüsse.", text: "Jeder ist DogFathers Entscheidung." },
{ titel: "Die Rechte-Tafel regelmäßig anfassen.",
text: "Nur bei Änderungen, und dann erst lesen." },
{ titel: "Jede Aufgabe selbst erledigen.", text: "Du verteilst." },
{ titel: "Die Community-Kacheln täglich befüllen.", text: "Das machen die Modis." },
],
takt: [
{ titel: "Täglich",
text: "Dein Team, Vertraulich melden, Support-Eingänge, Meldungen & Maßnahmen." },
{ titel: "Wöchentlich",
text: "Talente, Eure Aufgaben, Mitmachen (Anfragen), Personen & Zugänge." },
{ titel: "Bei Änderungen",
text: "Wer sieht was, danach die Anleitung der betroffenen Rolle prüfen." },
],
fragen: [
{ titel: "Darf ich jemanden endgültig ausschließen?",
text: "Nein. Jeder endgültige Ausschluss ist DogFathers Entscheidung." },
{ titel: "Wer liest vertrauliche Meldungen?",
text: "Nur du und DogFather. Kein Modi, kein Mitglied." },
{ titel: "Was passiert, wenn ich in „Wer sieht was“ klicke?",
text: "Der Klick wird sofort gespeichert. Drei Felder sind fest, "
+ "damit du dich nicht aussperrst." },
],
},
};
/** Die Fassungen des Crew-Hauses, in der Reihenfolge des Bauplans. */
export const FASSUNGEN_CREW = ["gast", "modi", "linke", "hand"];
+32 -4
View File
@@ -46,6 +46,8 @@
===================================================================== */ ===================================================================== */
/** Die drei Stufen. Reihenfolge ist die Anzeigereihenfolge. */ /** Die drei Stufen. Reihenfolge ist die Anzeigereihenfolge. */
import { INHALTE_CREW, FASSUNGEN_CREW } from "./anleitung-inhalte-crew.js";
export const STUFEN = [ export const STUFEN = [
{ schluessel: "muss", name: "Muss", { schluessel: "muss", name: "Muss",
titel: "Das brauchst du sofort", titel: "Das brauchst du sofort",
@@ -70,6 +72,19 @@ export const STUFEN_SCHLUESSEL = STUFEN.map((s) => s.schluessel);
* Pflege-Ansicht. */ * Pflege-Ansicht. */
export const FASSUNGEN = ["creator", "scout", "manager", "spicy"]; export const FASSUNGEN = ["creator", "scout", "manager", "spicy"];
/** Welche Fassungen gibt es in DIESEM Haus?
*
* DAS HAUS ENTSCHEIDET, NICHT DIE ROLLE (06.10.2026). Die Agentur
* hat vier Fassungen, die Crew hat vier andere -- und keine Rolle
* kommt in beiden vor. Vorher stand `FASSUNGEN` an zehn Stellen
* fest; jede davon haette die Crew stillschweigend abgewiesen.
*
* EINE FUNKTION STATT ZWEIER LISTEN AN ZEHN STELLEN: Wer eine
* Fassung ergaenzt, traegt sie an einer Stelle ein. */
export function fassungenFuer(haus) {
return haus === "crew" ? FASSUNGEN_CREW : FASSUNGEN;
}
/** Wer die Texte aendern darf. /** Wer die Texte aendern darf.
* *
* DogFather UND Spicy — Entscheidung Filipe am 06.10.2026, und zwar * DogFather UND Spicy — Entscheidung Filipe am 06.10.2026, und zwar
@@ -99,6 +114,11 @@ export const ZEILEN_ARTEN = {
takt: { titel: true, ziel: false }, takt: { titel: true, ziel: false },
/* "Haeufige Fragen" — `titel` die Frage, `text` die Antwort. */ /* "Haeufige Fragen" — `titel` die Frage, `text` die Antwort. */
frage: { titel: true, ziel: false }, frage: { titel: true, ziel: false },
/* "Drei Dinge vorweg" — NUR die Community (Bauplan, Kapitel 04).
`titel` die Regel in drei Worten, `text` was sie bedeutet.
Sie steht VOR allem anderen, weil sie nichts erklaert, sondern
sagt, woran sich alle halten. */
vorweg: { titel: true, ziel: false },
}; };
export const ARTEN_SCHLUESSEL = Object.keys(ZEILEN_ARTEN); export const ARTEN_SCHLUESSEL = Object.keys(ZEILEN_ARTEN);
@@ -821,6 +841,9 @@ function rolleEinspielen(d, haus, rolle, inhalt, jetzt) {
["nicht", inhalt.nicht], ["nicht", inhalt.nicht],
["takt", inhalt.takt], ["takt", inhalt.takt],
["frage", inhalt.fragen], ["frage", inhalt.fragen],
/* Nur die Community bringt "Drei Dinge vorweg" mit. Fehlt die
Liste, wird nichts eingetragen -- kein Sonderfall noetig. */
["vorweg", inhalt.vorweg || []],
]; ];
for (const [art, liste] of listen) { for (const [art, liste] of listen) {
liste.forEach((z, i) => { liste.forEach((z, i) => {
@@ -840,15 +863,20 @@ export function anleitungTabellen(d) {
const jetzt = new Date().toISOString(); const jetzt = new Date().toISOString();
let gesamt = 0; let gesamt = 0;
const neu = []; const neu = [];
for (const rolle of FASSUNGEN) { for (const [haus, rollen, quelle] of [
const inhalt = INHALTE[rolle]; ["agentur", FASSUNGEN, INHALTE],
["crew", FASSUNGEN_CREW, INHALTE_CREW],
]) {
for (const rolle of rollen) {
const inhalt = quelle[rolle];
/* Eine Rolle ohne Inhalte ist kein Fehler, sondern der Stand der /* Eine Rolle ohne Inhalte ist kein Fehler, sondern der Stand der
Arbeit: Etappe 1 bringt nur den Creator, die drei anderen kommen Arbeit: Etappe 1 bringt nur den Creator, die drei anderen kommen
in Etappe 3. Still uebergehen — aber die Zuordnungspruefung in Etappe 3. Still uebergehen — aber die Zuordnungspruefung
weiss davon und meldet es als offen, nicht als in Ordnung. */ weiss davon und meldet es als offen, nicht als in Ordnung. */
if (!inhalt) continue; if (!inhalt) continue;
const n = rolleEinspielen(d, "agentur", rolle, inhalt, jetzt); const n = rolleEinspielen(d, haus, rolle, inhalt, jetzt);
if (n) { gesamt += n; neu.push(`${rolle} ${n}`); } if (n) { gesamt += n; neu.push(`${haus}/${rolle} ${n}`); }
}
} }
if (gesamt) { if (gesamt) {
console.log(`[workspace] Anleitung: ${gesamt} Zeilen erstbefuellt (${neu.join(", ")}).`); console.log(`[workspace] Anleitung: ${gesamt} Zeilen erstbefuellt (${neu.join(", ")}).`);
+6 -1
View File
@@ -85,8 +85,13 @@ const ROLLEN = [["gast", "Community"], ["modi", "Modi"], ["linke", "Linke Hand"]
console.log("\n=== Was die Crew-Rollen heute auf willkommen.html bekommen ==="); console.log("\n=== Was die Crew-Rollen heute auf willkommen.html bekommen ===");
for (const [rolle, wie] of ROLLEN) { for (const [rolle, wie] of ROLLEN) {
/* DIE ALTERSBESTAETIGUNG IST EIN EIGENER SCHRITT -- nur fuer den
Gast. Ohne sie antwortet der Server mit 400, und die Messung
haette "Community kommt nicht herein" gemeldet, ohne dass etwas
kaputt waere. */
const an = await ruf("/workspace/api/anmelden", { const an = await ruf("/workspace/api/anmelden", {
methode: "POST", rumpf: JSON.stringify({ rolle, code: `CODE-${rolle.toUpperCase()}-0001` }), methode: "POST",
rumpf: JSON.stringify({ rolle, code: `CODE-${rolle.toUpperCase()}-0001`, alter_ok: true }),
}); });
if (an.status !== 200) { console.log(` ${wie.padEnd(12)} kommt nicht herein (${an.status})`); continue; } if (an.status !== 200) { console.log(` ${wie.padEnd(12)} kommt nicht herein (${an.status})`); continue; }
const seite = await ruf("/workspace/willkommen.html", { keks: an.keks }); const seite = await ruf("/workspace/willkommen.html", { keks: an.keks });
+38 -8
View File
@@ -96,7 +96,15 @@ const SCHLUESSEL_PROBEN = [
["bereich.html?b=live", "bereich:live"], ["bereich.html?b=live", "bereich:live"],
["bereich.html?b=agentur", "bereich:agentur"], ["bereich.html?b=agentur", "bereich:agentur"],
["profil.html", "profil"], ["profil.html", "profil"],
["chat.html?raum=treff", "chat"], /* ZWEI KACHELN AUF EINER SEITE (06.10.2026). Hier stand "chat" --
und damit bekamen "Chat" (das Team) und "Rudel-Chat" (die
Community) denselben Schluessel. Auf der Agenturadresse fiel das
nie auf, dort gibt es nur eine Chat-Kachel. Die Crew hat beide,
und der Bauplan gibt ihnen verschiedene Einordnungen -- fuer die
rechte Hand ist der Team-Chat Muss, der Rudel-Chat nur bei
Bedarf. Ohne eigenen Schluessel waere das nicht abbildbar. */
["chat.html?raum=treff", "chat:treff"],
["chat.html", "chat"],
["", ""], ["", ""],
]; ];
for (const [ziel, erwartet] of SCHLUESSEL_PROBEN) { for (const [ziel, erwartet] of SCHLUESSEL_PROBEN) {
@@ -325,12 +333,29 @@ melde(` -- Scout, Manager und Spicy Media haben noch keine Inhalte `
const creatorPflege = creator.j.darf_pflegen; const creatorPflege = creator.j.darf_pflegen;
ok(creatorPflege === false, "ein Creator darf NICHT pflegen"); ok(creatorPflege === false, "ein Creator darf NICHT pflegen");
/* ==== DIE CREW HAT JETZT IHRE EIGENE ANLEITUNG (06.10.2026) ========
Hier stand das Gegenteil: "ein Modi bekommt die Anleitung nicht
(erwartet 404)". Das war bis heute richtig -- die Anleitung gab es
nur im Agenturhaus. Mit dem Bauplan "Einweisung je Rolle" hat auch
Team Dogi vier Fassungen bekommen, und die Zeilen sind mitgewandert
statt stehenzubleiben.
DIE TRENNUNG BLEIBT TROTZDEM, und sie wird hier gemessen: Auf der
Crew-Adresse kommen CREW-Inhalte, nicht die der Agentur. Eine
Anleitung, die auf beiden Adressen dasselbe zeigt, waere der
Rueckschritt hinter die Haustrennung vom 24.09. */
const modi = await holen("modi", CREW_HOST); const modi = await holen("modi", CREW_HOST);
ok(modi.code === 404, ok(modi.code === 200 && (modi.j?.karten?.length ?? 0) === 29,
`ein Modi bekommt die Anleitung nicht (HTTP ${modi.code}, erwartet 404)`); `ein Modi bekommt seine Anleitung (HTTP ${modi.code}, ${modi.j?.karten?.length ?? 0} Karten)`);
const hand = await holen("hand", CREW_HOST); const hand = await holen("hand", CREW_HOST);
ok(hand.code === 404, ok(hand.code === 200 && (hand.j?.karten?.length ?? 0) === 34,
`die rechte Hand bekommt sie auf der Crew-Adresse nicht (HTTP ${hand.code}, erwartet 404)`); `die rechte Hand auf der Crew-Adresse ebenso (HTTP ${hand.code}, `
+ `${hand.j?.karten?.length ?? 0} Karten)`);
/* GEGENPROBE ZUR HAUSTRENNUNG: Die Crew-Fassung darf keine
Agenturkachel enthalten. "leistung" gibt es nur dort. */
ok(!(modi.j?.karten || []).some((k) => k.kachel === "leistung"),
"und keine einzige Agenturkachel ist dabei");
/* Die Seite selbst, nicht nur die Schnittstelle. /* Die Seite selbst, nicht nur die Schnittstelle.
===================================================================== =====================================================================
@@ -631,7 +656,9 @@ const pScout = await pput("scout", `/workspace/api/anleitung/karte/${eineKarte.i
ok(pScout.code === 403, `ein Scout auch nicht (HTTP ${pScout.code}, erwartet 403)`); ok(pScout.code === 403, `ein Scout auch nicht (HTTP ${pScout.code}, erwartet 403)`);
const pModi = await pput("modi", `/workspace/api/anleitung/karte/${eineKarte.id}`, const pModi = await pput("modi", `/workspace/api/anleitung/karte/${eineKarte.id}`,
{ stufe: "bedarf", wozu: "x", tust: "y", merke: "z" }, CREW_HOST); { stufe: "bedarf", wozu: "x", tust: "y", merke: "z" }, CREW_HOST);
ok(pModi.code === 404, `ein Modi bekommt die Pflege gar nicht (HTTP ${pModi.code}, erwartet 404)`); /* 403 STATT 404 (seit 06.10.2026): Die Seite gibt es auf der
Crew-Adresse jetzt -- pflegen darf ein Modi sie trotzdem nicht. */
ok(pModi.code === 403, `ein Modi darf nicht pflegen (HTTP ${pModi.code}, erwartet 403)`);
melde("\n=== Pflege: Spicy aendert eine Stufe, und sie gilt sofort ==="); melde("\n=== Pflege: Spicy aendert eine Stufe, und sie gilt sofort ===");
const vorher = eineKarte.stufe; const vorher = eineKarte.stufe;
@@ -779,9 +806,12 @@ ok(e2.j?.zeigen === false, "beim zweiten Mal nicht mehr");
/* DIE CREW BEKOMMT 200 UND NICHT 404. Das Skript laeuft auf JEDER /* DIE CREW BEKOMMT 200 UND NICHT 404. Das Skript laeuft auf JEDER
Startseite; ein Fehlschlag waere eine rote Zeile in der Konsole bei Startseite; ein Fehlschlag waere eine rote Zeile in der Konsole bei
jedem Aufruf -- und die verdeckt die naechste, die echt ist. */ jedem Aufruf -- und die verdeckt die naechste, die echt ist. */
/* Seit dem 06.10. hat der Modi eine Fassung -- also soll die
Einweisung bei ihm auch ANGEBOTEN werden. Vorher war die ruhige
Absage richtig, weil es nichts einzuweisen gab. */
const eModi = await einweisung("modi", CREW_HOST); const eModi = await einweisung("modi", CREW_HOST);
ok(eModi.code === 200 && eModi.j?.zeigen === false, ok(eModi.code === 200 && eModi.j?.zeigen === true,
`ein Modi bekommt eine ruhige Absage (HTTP ${eModi.code}, zeigen ${eModi.j?.zeigen})`); `ein Modi bekommt seine Einweisung angeboten (HTTP ${eModi.code}, zeigen ${eModi.j?.zeigen})`);
const eDogi = await einweisung("admin"); const eDogi = await einweisung("admin");
ok(eDogi.code === 200 && eDogi.j?.zeigen === false, ok(eDogi.code === 200 && eDogi.j?.zeigen === false,
`DogFather auch -- er braucht keine Einweisung (zeigen ${eDogi.j?.zeigen})`); `DogFather auch -- er braucht keine Einweisung (zeigen ${eDogi.j?.zeigen})`);
+39 -29
View File
@@ -35,12 +35,25 @@
import express from "express"; import express from "express";
import { db, sitzungLesen } from "./workspace.js"; import { db, sitzungLesen } from "./workspace.js";
import { import {
STUFEN, FASSUNGEN, PFLEGE_ROLLEN, STUFEN, PFLEGE_ROLLEN, fassungenFuer,
} from "./anleitung-tabellen.js"; } from "./anleitung-tabellen.js";
export const anleitungRouter = express.Router(); export const anleitungRouter = express.Router();
const HAUS = "agentur"; /** In welchem Haus sind wir?
*
* DIE ADRESSE ENTSCHEIDET, NICHT DIE ANGESEHENE ROLLE (06.10.2026).
* Hier stand `const HAUS = "agentur"` -- die Anleitung gab es nur
* im Agenturhaus, und die Crew bekam an fuenf Stellen ein 404
* ("nicht_hier"). Seit heute hat auch Team Dogi ihre vier
* Fassungen; das Haus kommt deshalb aus der Anmeldung.
*
* GEFRAGT WIRD IMMER `req.person`, NIE `req.sicht`: Nimmt DogFather
* die Sicht einer anderen Rolle ein, wechselt er damit die ROLLE,
* nicht die ADRESSE. Wer hier die angesehene Person naehme, bekaeme
* auf der Crew-Adresse Agenturinhalte, sobald eine Sicht gesetzt
* ist -- und genau das ist die Trennung, die seit dem 24.09. gilt. */
const hausVon = (p) => (p?.haus === "crew" ? "crew" : "agentur");
function angemeldet(req, res, next) { function angemeldet(req, res, next) {
const person = sitzungLesen(req); const person = sitzungLesen(req);
@@ -87,19 +100,18 @@ anleitungRouter.get("/workspace/api/anleitung", (req, res) => {
Crew-Adresse gibt es diese Seite nicht, und „gibt es nicht" ist Crew-Adresse gibt es diese Seite nicht, und „gibt es nicht" ist
die richtige Auskunft — 403 waere der Hinweis, dass es sie die richtige Auskunft — 403 waere der Hinweis, dass es sie
woanders doch gibt. */ woanders doch gibt. */
if (person?.haus === "crew") return res.status(404).json({ fehler: "nicht_hier" });
const d = db(); const d = db();
const darfPflegen = PFLEGE_ROLLEN.includes(String(req.person?.rolle || "")); const darfPflegen = PFLEGE_ROLLEN.includes(String(req.person?.rolle || ""));
if (!FASSUNGEN.includes(rolle)) { if (!fassungenFuer(hausVon(req.person)).includes(rolle)) {
/* DogFather ohne gewaehlte Sicht. Kein Fehler, sondern eine /* DogFather ohne gewaehlte Sicht. Kein Fehler, sondern eine
Auskunft: Er bekommt keine Einweisung, kann aber jede ansehen. Auskunft: Er bekommt keine Einweisung, kann aber jede ansehen.
Die Rollen stehen MIT Namen dabei, damit die Seite keine Die Rollen stehen MIT Namen dabei, damit die Seite keine
zweite Rollenliste braucht. */ zweite Rollenliste braucht. */
return res.json({ return res.json({
rolle, hat_fassung: false, darf_pflegen: darfPflegen, rolle, hat_fassung: false, darf_pflegen: darfPflegen,
fassungen: FASSUNGEN, fassungen: fassungenFuer(hausVon(req.person)),
satz: "Für dich gibt es keine Einweisung – du kennst den Laden. " satz: "Für dich gibt es keine Einweisung – du kennst den Laden. "
+ "Wähle oben unter „Meine Sicht“ eine Rolle, dann siehst du genau das, " + "Wähle oben unter „Meine Sicht“ eine Rolle, dann siehst du genau das, "
+ "was diese Person zu lesen bekommt.", + "was diese Person zu lesen bekommt.",
@@ -107,12 +119,12 @@ anleitungRouter.get("/workspace/api/anleitung", (req, res) => {
} }
const kopf = d.prepare( const kopf = d.prepare(
"SELECT leitgedanke FROM anl_rolle WHERE haus = ? AND rolle = ?").get(HAUS, rolle); "SELECT leitgedanke FROM anl_rolle WHERE haus = ? AND rolle = ?").get(hausVon(req.person), rolle);
const karten = d.prepare( const karten = d.prepare(
`SELECT id, kachel, stufe, wozu, tust, merke, reihe, geaendert `SELECT id, kachel, stufe, wozu, tust, merke, reihe, geaendert
FROM anl_karte WHERE haus = ? AND rolle = ? FROM anl_karte WHERE haus = ? AND rolle = ?
ORDER BY reihe, id`).all(HAUS, rolle); ORDER BY reihe, id`).all(hausVon(req.person), rolle);
/* `erledigt` kommt aus derselben Abfrage und nicht aus einer /* `erledigt` kommt aus derselben Abfrage und nicht aus einer
zweiten: Zwei Abfragen koennten zwischen den Zeilen zweiten: Zwei Abfragen koennten zwischen den Zeilen
@@ -124,7 +136,7 @@ anleitungRouter.get("/workspace/api/anleitung", (req, res) => {
FROM anl_zeile z FROM anl_zeile z
LEFT JOIN anl_stand s ON s.zeile_id = z.id AND s.person_id = ? LEFT JOIN anl_stand s ON s.zeile_id = z.id AND s.person_id = ?
WHERE z.haus = ? AND z.rolle = ? WHERE z.haus = ? AND z.rolle = ?
ORDER BY z.art, z.reihe, z.id`).all(wessenStand(req), HAUS, rolle); ORDER BY z.art, z.reihe, z.id`).all(wessenStand(req), hausVon(req.person), rolle);
const nachArt = (art) => zeilen.filter((z) => z.art === art); const nachArt = (art) => zeilen.filter((z) => z.art === art);
const schritte = nachArt("schritt"); const schritte = nachArt("schritt");
@@ -217,7 +229,6 @@ anleitungRouter.get("/workspace/api/anleitung", (req, res) => {
anleitungRouter.put("/workspace/api/anleitung/schritt/:id", (req, res) => { anleitungRouter.put("/workspace/api/anleitung/schritt/:id", (req, res) => {
try { try {
const person = req.person; const person = req.person;
if (person?.haus === "crew") return res.status(404).json({ fehler: "nicht_hier" });
const id = Number(req.params.id); const id = Number(req.params.id);
if (!Number.isInteger(id) || id <= 0) { if (!Number.isInteger(id) || id <= 0) {
@@ -233,7 +244,7 @@ anleitungRouter.put("/workspace/api/anleitung/schritt/:id", (req, res) => {
const zeile = d.prepare( const zeile = d.prepare(
`SELECT id FROM anl_zeile `SELECT id FROM anl_zeile
WHERE id = ? AND art = 'schritt' AND haus = ? AND rolle = ?`) WHERE id = ? AND art = 'schritt' AND haus = ? AND rolle = ?`)
.get(id, HAUS, String(person?.rolle || "")); .get(id, hausVon(req.person), String(person?.rolle || ""));
if (!zeile) return res.status(404).json({ fehler: "kein_schritt" }); if (!zeile) return res.status(404).json({ fehler: "kein_schritt" });
if (erledigt) { if (erledigt) {
@@ -255,7 +266,7 @@ anleitungRouter.put("/workspace/api/anleitung/schritt/:id", (req, res) => {
FROM anl_zeile z FROM anl_zeile z
LEFT JOIN anl_stand s ON s.zeile_id = z.id AND s.person_id = ? LEFT JOIN anl_stand s ON s.zeile_id = z.id AND s.person_id = ?
WHERE z.haus = ? AND z.rolle = ? AND z.art = 'schritt'`) WHERE z.haus = ? AND z.rolle = ? AND z.art = 'schritt'`)
.get(person.id, HAUS, String(person.rolle)); .get(person.id, hausVon(req.person), String(person.rolle));
res.json({ res.json({
erledigt, erledigt,
@@ -287,9 +298,9 @@ anleitungRouter.put("/workspace/api/anleitung/schritt/:id", (req, res) => {
===================================================================== */ ===================================================================== */
export function offeneHinweise(person) { export function offeneHinweise(person) {
try { try {
if (!person || person.haus === "crew") return []; if (!person) return [];
const rolle = String(person.rolle || ""); const rolle = String(person.rolle || "");
if (!FASSUNGEN.includes(rolle)) return []; if (!fassungenFuer(hausVon(person)).includes(rolle)) return [];
const stand = db().prepare( const stand = db().prepare(
`SELECT COUNT(*) AS gesamt, `SELECT COUNT(*) AS gesamt,
@@ -297,7 +308,7 @@ export function offeneHinweise(person) {
FROM anl_zeile z FROM anl_zeile z
LEFT JOIN anl_stand s ON s.zeile_id = z.id AND s.person_id = ? LEFT JOIN anl_stand s ON s.zeile_id = z.id AND s.person_id = ?
WHERE z.haus = ? AND z.rolle = ? AND z.art = 'schritt'`) WHERE z.haus = ? AND z.rolle = ? AND z.art = 'schritt'`)
.get(person.id, HAUS, rolle); .get(person.id, hausVon(person), rolle);
const gesamt = Number(stand?.gesamt || 0); const gesamt = Number(stand?.gesamt || 0);
const offen = gesamt - Number(stand?.erledigt || 0); const offen = gesamt - Number(stand?.erledigt || 0);
@@ -337,7 +348,6 @@ export function offeneHinweise(person) {
===================================================================== */ ===================================================================== */
function nurPflege(req, res, next) { function nurPflege(req, res, next) {
if (req.person?.haus === "crew") return res.status(404).json({ fehler: "nicht_hier" });
if (!PFLEGE_ROLLEN.includes(String(req.person?.rolle || ""))) { if (!PFLEGE_ROLLEN.includes(String(req.person?.rolle || ""))) {
return res.status(403).json({ fehler: "nicht_erlaubt" }); return res.status(403).json({ fehler: "nicht_erlaubt" });
} }
@@ -361,7 +371,7 @@ anleitungRouter.put("/workspace/api/anleitung/karte/:id", nurPflege, (req, res)
geaendert = ?, geaendert_von = ? geaendert = ?, geaendert_von = ?
WHERE id = ? AND haus = ?`) WHERE id = ? AND haus = ?`)
.run(stufe, text(req.body?.wozu, 300), text(req.body?.tust, 400), .run(stufe, text(req.body?.wozu, 300), text(req.body?.tust, 400),
text(req.body?.merke, 400), new Date().toISOString(), req.person.id, id, HAUS); text(req.body?.merke, 400), new Date().toISOString(), req.person.id, id, hausVon(req.person));
if (!n.changes) return res.status(404).json({ fehler: "keine_karte" }); if (!n.changes) return res.status(404).json({ fehler: "keine_karte" });
res.json({ ok: true }); res.json({ ok: true });
} catch (fehler) { } catch (fehler) {
@@ -381,7 +391,7 @@ anleitungRouter.post("/workspace/api/anleitung/karte", nurPflege, (req, res) =>
const rolle = String(req.body?.rolle ?? ""); const rolle = String(req.body?.rolle ?? "");
const kachel = text(req.body?.kachel, 80); const kachel = text(req.body?.kachel, 80);
const stufe = String(req.body?.stufe ?? "bedarf"); const stufe = String(req.body?.stufe ?? "bedarf");
if (!FASSUNGEN.includes(rolle)) return res.status(400).json({ fehler: "unbekannte_rolle" }); if (!fassungenFuer(hausVon(req.person)).includes(rolle)) return res.status(400).json({ fehler: "unbekannte_rolle" });
if (!kachel) return res.status(400).json({ fehler: "keine_kachel" }); if (!kachel) return res.status(400).json({ fehler: "keine_kachel" });
if (!STUFEN.some((s) => s.schluessel === stufe)) { if (!STUFEN.some((s) => s.schluessel === stufe)) {
return res.status(400).json({ fehler: "unbekannte_stufe" }); return res.status(400).json({ fehler: "unbekannte_stufe" });
@@ -389,13 +399,13 @@ anleitungRouter.post("/workspace/api/anleitung/karte", nurPflege, (req, res) =>
const d = db(); const d = db();
const platz = d.prepare( const platz = d.prepare(
"SELECT COALESCE(MAX(reihe), -1) + 1 AS n FROM anl_karte WHERE haus = ? AND rolle = ?") "SELECT COALESCE(MAX(reihe), -1) + 1 AS n FROM anl_karte WHERE haus = ? AND rolle = ?")
.get(HAUS, rolle).n; .get(hausVon(req.person), rolle).n;
try { try {
d.prepare( d.prepare(
`INSERT INTO anl_karte (haus, rolle, kachel, stufe, wozu, tust, merke, `INSERT INTO anl_karte (haus, rolle, kachel, stufe, wozu, tust, merke,
reihe, geaendert, geaendert_von) reihe, geaendert, geaendert_von)
VALUES (?,?,?,?,?,?,?,?,?,?)`) VALUES (?,?,?,?,?,?,?,?,?,?)`)
.run(HAUS, rolle, kachel, stufe, text(req.body?.wozu, 300), .run(hausVon(req.person), rolle, kachel, stufe, text(req.body?.wozu, 300),
text(req.body?.tust, 400), text(req.body?.merke, 400), platz, text(req.body?.tust, 400), text(req.body?.merke, 400), platz,
new Date().toISOString(), req.person.id); new Date().toISOString(), req.person.id);
} catch { } catch {
@@ -416,7 +426,7 @@ anleitungRouter.delete("/workspace/api/anleitung/karte/:id", nurPflege, (req, re
try { try {
const id = Number(req.params.id); const id = Number(req.params.id);
if (!Number.isInteger(id) || id <= 0) return res.status(400).json({ fehler: "keine_nummer" }); if (!Number.isInteger(id) || id <= 0) return res.status(400).json({ fehler: "keine_nummer" });
const n = db().prepare("DELETE FROM anl_karte WHERE id = ? AND haus = ?").run(id, HAUS); const n = db().prepare("DELETE FROM anl_karte WHERE id = ? AND haus = ?").run(id, hausVon(req.person));
if (!n.changes) return res.status(404).json({ fehler: "keine_karte" }); if (!n.changes) return res.status(404).json({ fehler: "keine_karte" });
res.json({ ok: true }); res.json({ ok: true });
} catch (fehler) { } catch (fehler) {
@@ -431,7 +441,7 @@ anleitungRouter.put("/workspace/api/anleitung/zeile/:id", nurPflege, (req, res)
const id = Number(req.params.id); const id = Number(req.params.id);
if (!Number.isInteger(id) || id <= 0) return res.status(400).json({ fehler: "keine_nummer" }); if (!Number.isInteger(id) || id <= 0) return res.status(400).json({ fehler: "keine_nummer" });
const d = db(); const d = db();
const alt = d.prepare("SELECT art FROM anl_zeile WHERE id = ? AND haus = ?").get(id, HAUS); const alt = d.prepare("SELECT art FROM anl_zeile WHERE id = ? AND haus = ?").get(id, hausVon(req.person));
if (!alt) return res.status(404).json({ fehler: "keine_zeile" }); if (!alt) return res.status(404).json({ fehler: "keine_zeile" });
/* Ein Ziel gibt es nur beim Schritt. Bei einer Frage waere es ein /* Ein Ziel gibt es nur beim Schritt. Bei einer Frage waere es ein
Feld, das nirgends angezeigt wird -- und beim naechsten Umbau Feld, das nirgends angezeigt wird -- und beim naechsten Umbau
@@ -441,7 +451,7 @@ anleitungRouter.put("/workspace/api/anleitung/zeile/:id", nurPflege, (req, res)
`UPDATE anl_zeile SET titel = ?, text = ?, ziel = ?, geaendert = ?, geaendert_von = ? `UPDATE anl_zeile SET titel = ?, text = ?, ziel = ?, geaendert = ?, geaendert_von = ?
WHERE id = ? AND haus = ?`) WHERE id = ? AND haus = ?`)
.run(text(req.body?.titel, 200), text(req.body?.text, 600), ziel, .run(text(req.body?.titel, 200), text(req.body?.text, 600), ziel,
new Date().toISOString(), req.person.id, id, HAUS); new Date().toISOString(), req.person.id, id, hausVon(req.person));
res.json({ ok: true }); res.json({ ok: true });
} catch (fehler) { } catch (fehler) {
console.error("[workspace] Anleitung Zeile:", fehler?.message); console.error("[workspace] Anleitung Zeile:", fehler?.message);
@@ -453,13 +463,13 @@ anleitungRouter.put("/workspace/api/anleitung/zeile/:id", nurPflege, (req, res)
anleitungRouter.put("/workspace/api/anleitung/rolle/:rolle", nurPflege, (req, res) => { anleitungRouter.put("/workspace/api/anleitung/rolle/:rolle", nurPflege, (req, res) => {
try { try {
const rolle = String(req.params.rolle || ""); const rolle = String(req.params.rolle || "");
if (!FASSUNGEN.includes(rolle)) return res.status(404).json({ fehler: "unbekannte_rolle" }); if (!fassungenFuer(hausVon(req.person)).includes(rolle)) return res.status(404).json({ fehler: "unbekannte_rolle" });
db().prepare( db().prepare(
`INSERT INTO anl_rolle (haus, rolle, leitgedanke, geaendert, geaendert_von) `INSERT INTO anl_rolle (haus, rolle, leitgedanke, geaendert, geaendert_von)
VALUES (?,?,?,?,?) VALUES (?,?,?,?,?)
ON CONFLICT(haus, rolle) DO UPDATE SET leitgedanke = excluded.leitgedanke, ON CONFLICT(haus, rolle) DO UPDATE SET leitgedanke = excluded.leitgedanke,
geaendert = excluded.geaendert, geaendert_von = excluded.geaendert_von`) geaendert = excluded.geaendert, geaendert_von = excluded.geaendert_von`)
.run(HAUS, rolle, text(req.body?.leitgedanke, 600), .run(hausVon(req.person), rolle, text(req.body?.leitgedanke, 600),
new Date().toISOString(), req.person.id); new Date().toISOString(), req.person.id);
res.json({ ok: true }); res.json({ ok: true });
} catch (fehler) { } catch (fehler) {
@@ -484,8 +494,8 @@ anleitungRouter.get("/workspace/api/anleitung/stand", nurPflege, (req, res) => {
WHERE s.person_id = p.id AND z2.art = 'schritt') AS erledigt, WHERE s.person_id = p.id AND z2.art = 'schritt') AS erledigt,
(SELECT MAX(s2.erledigt_am) FROM anl_stand s2 WHERE s2.person_id = p.id) AS zuletzt (SELECT MAX(s2.erledigt_am) FROM anl_stand s2 WHERE s2.person_id = p.id) AS zuletzt
FROM personen p FROM personen p
WHERE p.aktiv = 1 AND p.rolle IN (${FASSUNGEN.map(() => "?").join(",")}) WHERE p.aktiv = 1 AND p.rolle IN (${fassungenFuer(hausVon(req.person)).map(() => "?").join(",")})
ORDER BY p.rolle, p.name`).all(HAUS, ...FASSUNGEN); ORDER BY p.rolle, p.name`).all(hausVon(req.person), ...fassungenFuer(hausVon(req.person)));
res.json({ res.json({
leute: leute.map((p) => ({ leute: leute.map((p) => ({
name: p.name, rolle: p.rolle, name: p.name, rolle: p.rolle,
@@ -525,7 +535,7 @@ anleitungRouter.get("/workspace/api/anleitung/einweisung", (req, res) => {
recht nicht fuer ihn abhaken, dass sie gezeigt wurde. */ recht nicht fuer ihn abhaken, dass sie gezeigt wurde. */
const person = req.person; const person = req.person;
const rolle = String(person?.rolle || ""); const rolle = String(person?.rolle || "");
if (person?.haus === "crew" || !FASSUNGEN.includes(rolle)) { if (!fassungenFuer(hausVon(person)).includes(rolle)) {
return res.json({ zeigen: false, rolle }); return res.json({ zeigen: false, rolle });
} }
const d = db(); const d = db();
@@ -539,7 +549,7 @@ anleitungRouter.get("/workspace/api/anleitung/einweisung", (req, res) => {
const muss = d.prepare( const muss = d.prepare(
`SELECT kachel FROM anl_karte `SELECT kachel FROM anl_karte
WHERE haus = ? AND rolle = ? AND stufe = 'muss' ORDER BY reihe`) WHERE haus = ? AND rolle = ? AND stufe = 'muss' ORDER BY reihe`)
.all(HAUS, rolle).map((z) => z.kachel); .all(hausVon(req.person), rolle).map((z) => z.kachel);
res.json({ res.json({
zeigen: !schon, zeigen: !schon,
@@ -567,7 +577,7 @@ anleitungRouter.post("/workspace/api/anleitung/einweisung/gesehen", (req, res) =
try { try {
const person = req.person; const person = req.person;
const rolle = String(person?.rolle || ""); const rolle = String(person?.rolle || "");
if (person?.haus === "crew" || !FASSUNGEN.includes(rolle)) { if (!fassungenFuer(hausVon(person)).includes(rolle)) {
return res.json({ ok: true }); return res.json({ ok: true });
} }
db().prepare( db().prepare(
+14 -14
View File
@@ -7,17 +7,17 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/anleitung.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/anleitung.css?v=202610061629" />
<!-- module.css an VORLETZTER, haus.css an LETZTER Stelle. Die <!-- module.css an VORLETZTER, haus.css an LETZTER Stelle. Die
Reihenfolge ist keine Geschmacksfrage: haus.css setzt nur Reihenfolge ist keine Geschmacksfrage: haus.css setzt nur
Variablen, und bei Variablen entscheidet allein, wer zuletzt Variablen, und bei Variablen entscheidet allein, wer zuletzt
kommt. pruef-css-klassen.mjs misst genau dieses Paar nach. --> kommt. pruef-css-klassen.mjs misst genau dieses Paar nach. -->
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -261,16 +261,16 @@
Und anleitung.js braucht es doppelt: Symbol, Farbe, Name und Und anleitung.js braucht es doppelt: Symbol, Farbe, Name und
Adresse jeder Karte kommen von dort, nicht vom Server. --> Adresse jeder Karte kommen von dort, nicht vom Server. -->
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<!-- wahl.js gehört zu kopf.js: Der Sicht-Umschalter baut daraus seine <!-- wahl.js gehört zu kopf.js: Der Sicht-Umschalter baut daraus seine
Liste. pruef-css-klassen setzt das durch, und zwar auch die Liste. pruef-css-klassen setzt das durch, und zwar auch die
Reihenfolge -- kopf.js fragt beim Aufbau nach dem fertigen Reihenfolge -- kopf.js fragt beim Aufbau nach dem fertigen
Bedienelement. --> Bedienelement. -->
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/anleitung.js?v=202610061535" defer></script> <script src="assets/js/anleitung.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+5 -5
View File
@@ -16,8 +16,8 @@
verdeckt. Gefunden hat es pruef-struktur. verdeckt. Gefunden hat es pruef-struktur.
Richtig sind `gate.css` (die Farbwerte des Hauses) und `haus.css`. --> Richtig sind `gate.css` (die Farbwerte des Hauses) und `haus.css`. -->
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
<!-- Ohne diese drei nimmt ein iPhone einen Bildschirmausschnitt als <!-- Ohne diese drei nimmt ein iPhone einen Bildschirmausschnitt als
Symbol, Android zeichnet die Leiste weiss, und die Seite oeffnet Symbol, Android zeichnet die Leiste weiss, und die Seite oeffnet
ausserhalb der App -- auf einer Seite, die genau erklaeren soll, ausserhalb der App -- auf einer Seite, die genau erklaeren soll,
@@ -33,7 +33,7 @@
schreibt jede Seite app.webmanifest -- auch die hier. --> schreibt jede Seite app.webmanifest -- auch die hier. -->
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<style> <style>
/* Bewusst in der Seite und nicht in einer eigenen Datei: Diese Seite /* Bewusst in der Seite und nicht in einer eigenen Datei: Diese Seite
soll auch dann noch etwas anzeigen, wenn genau das schiefgeht, soll auch dann noch etwas anzeigen, wenn genau das schiefgeht,
@@ -135,7 +135,7 @@
<script src="assets/js/anruf-probe.js?v=202610061535" defer></script> <script src="assets/js/anruf-probe.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+4 -4
View File
@@ -23,25 +23,25 @@
}, },
"icons": [ "icons": [
{ {
"src": "/assets/img/app-symbole/workspace-192.png?v=202610061535", "src": "/assets/img/app-symbole/workspace-192.png?v=202610061629",
"sizes": "192x192", "sizes": "192x192",
"type": "image/png", "type": "image/png",
"purpose": "any" "purpose": "any"
}, },
{ {
"src": "/assets/img/app-symbole/workspace-512.png?v=202610061535", "src": "/assets/img/app-symbole/workspace-512.png?v=202610061629",
"sizes": "512x512", "sizes": "512x512",
"type": "image/png", "type": "image/png",
"purpose": "any" "purpose": "any"
}, },
{ {
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202610061535", "src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202610061629",
"sizes": "192x192", "sizes": "192x192",
"type": "image/png", "type": "image/png",
"purpose": "maskable" "purpose": "maskable"
}, },
{ {
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202610061535", "src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202610061629",
"sizes": "512x512", "sizes": "512x512",
"type": "image/png", "type": "image/png",
"purpose": "maskable" "purpose": "maskable"
+14 -2
View File
@@ -1315,8 +1315,20 @@
const teile = roh.split('?'); const teile = roh.split('?');
const name = teile[0].replace(/\.html$/i, ''); const name = teile[0].replace(/\.html$/i, '');
if (!teile[1]) return name; if (!teile[1]) return name;
const b = new URLSearchParams(teile[1]).get('b'); const p = new URLSearchParams(teile[1]);
return b ? name + ':' + b : name; /* ZWEI KACHELN, EINE SEITE (06.10.2026). Bis hierher zaehlte nur
`b` (die Bretter). Auf der Crew-Adresse fuehren aber ZWEI
Kacheln auf chat.html: "Chat" (das Team) und "Rudel-Chat"
(`?raum=treff`, die Community). Beide ergaben denselben
Schluessel -- und damit konnten sie in der Anleitung keine
eigenen Karten haben, obwohl der Bauplan ihnen verschiedene
Einordnungen gibt (fuer die rechte Hand: Chat ist Muss,
Rudel-Chat nur bei Bedarf).
Unterschieden wird an dem, was die Kacheln WIRKLICH trennt --
derselbe Gedanke wie bei `b`, nur fuer den zweiten Fall. */
const teil = p.get('b') || p.get('raum');
return teil ? name + ':' + teil : name;
} }
window.Bereiche = { window.Bereiche = {
+19 -19
View File
@@ -12,19 +12,19 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -430,22 +430,22 @@
<!-- TEXTFORM ZUERST (21.09.2026): Die Seite fragt beim Zeichnen nach <!-- TEXTFORM ZUERST (21.09.2026): Die Seite fragt beim Zeichnen nach
`window.Textform`. Kaeme sie spaeter, waere der erste Eintrag ohne `window.Textform`. Kaeme sie spaeter, waere der erste Eintrag ohne
Gestaltung. Kein `defer`, damit sie wirklich vorher dasteht. --> Gestaltung. Kein `defer`, damit sie wirklich vorher dasteht. -->
<script src="assets/js/textform.js?v=202610061535"></script> <script src="assets/js/textform.js?v=202610061629"></script>
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/hochladen.js?v=202610061535" defer></script> <script src="assets/js/hochladen.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/zuteilung.js?v=202610061535" defer></script> <script src="assets/js/zuteilung.js?v=202610061629" defer></script>
<!-- Der Vorlagenkatalog stand bis zum 23.09.2026 mitten in <!-- Der Vorlagenkatalog stand bis zum 23.09.2026 mitten in
aufgaben.js. Er bedient jetzt zwei Seiten und hat deshalb eine aufgaben.js. Er bedient jetzt zwei Seiten und hat deshalb eine
eigene Datei; hier zeigt er den Creator-Katalog. eigene Datei; hier zeigt er den Creator-Katalog.
Vor aufgaben.js, weil die Seite ihn beim Start einrichtet. --> Vor aufgaben.js, weil die Seite ihn beim Start einrichtet. -->
<script src="assets/js/vorlagenbrett.js?v=202610061535" defer></script> <script src="assets/js/vorlagenbrett.js?v=202610061629" defer></script>
<script src="assets/js/aufgaben.js?v=202610061535" defer></script> <script src="assets/js/aufgaben.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/automation.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/automation.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -168,15 +168,15 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/automation.js?v=202610061535" defer></script> <script src="assets/js/automation.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+17 -17
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/entwicklung.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -197,16 +197,16 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/holen.js?v=202610061535" defer></script> <script src="assets/js/holen.js?v=202610061629" defer></script>
<script src="assets/js/befinden.js?v=202610061535" defer></script> <script src="assets/js/befinden.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+22 -22
View File
@@ -12,24 +12,24 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/bereich.css?v=202610061629" />
<!-- Wegen des Blocks „Willst du dazugehoeren?" auf dem Brett <!-- Wegen des Blocks „Willst du dazugehoeren?" auf dem Brett
„Mitmachen". Eine eigene Kopie der Regel hier waere die zweite „Mitmachen". Eine eigene Kopie der Regel hier waere die zweite
Stelle, an der dieselbe Sache anders aussieht. --> Stelle, an der dieselbe Sache anders aussieht. -->
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/bewerbung.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -318,19 +318,19 @@
<!-- TEXTFORM ZUERST (21.09.2026): Die Seite fragt beim Zeichnen nach <!-- TEXTFORM ZUERST (21.09.2026): Die Seite fragt beim Zeichnen nach
`window.Textform`. Kaeme sie spaeter, waere der erste Eintrag ohne `window.Textform`. Kaeme sie spaeter, waere der erste Eintrag ohne
Gestaltung. Kein `defer`, damit sie wirklich vorher dasteht. --> Gestaltung. Kein `defer`, damit sie wirklich vorher dasteht. -->
<script src="assets/js/textform.js?v=202610061535"></script> <script src="assets/js/textform.js?v=202610061629"></script>
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/checkliste.js?v=202610061535" defer></script> <script src="assets/js/checkliste.js?v=202610061629" defer></script>
<script src="assets/js/ampel.js?v=202610061535" defer></script> <script src="assets/js/ampel.js?v=202610061629" defer></script>
<script src="assets/js/schulung.js?v=202610061535" defer></script> <script src="assets/js/schulung.js?v=202610061629" defer></script>
<script src="assets/js/holen.js?v=202610061535" defer></script> <script src="assets/js/holen.js?v=202610061629" defer></script>
<script src="assets/js/bereich.js?v=202610061535" defer></script> <script src="assets/js/bereich.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+19 -19
View File
@@ -7,17 +7,17 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/bereich.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/treff.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/bewerbung.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. --> <!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -108,15 +108,15 @@
</main> </main>
<!-- Der Fuß gehört zu jeder Seite - siehe pruef-css-klassen. --> <!-- Der Fuß gehört zu jeder Seite - siehe pruef-css-klassen. -->
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/auskunft.js?v=202610061535" defer></script> <script src="assets/js/auskunft.js?v=202610061629" defer></script>
<script src="assets/js/bewerben.js?v=202610061535" defer></script> <script src="assets/js/bewerben.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+18 -18
View File
@@ -7,16 +7,16 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/entwicklung.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/bewerbung.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. --> <!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -80,16 +80,16 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/auskunft.js?v=202610061535" defer></script> <script src="assets/js/auskunft.js?v=202610061629" defer></script>
<script src="assets/js/bewerbungen.js?v=202610061535" defer></script> <script src="assets/js/bewerbungen.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+3 -3
View File
@@ -59,11 +59,11 @@
<!-- DIE WERBEEINBLENDUNG. Dieselbe Datei wie in der Reaction-Seite: <!-- DIE WERBEEINBLENDUNG. Dieselbe Datei wie in der Reaction-Seite:
Zwei Fassungen altern unterschiedlich, und dann sieht der Stream Zwei Fassungen altern unterschiedlich, und dann sieht der Stream
anders aus als das, worueber geredet wird. --> anders aus als das, worueber geredet wird. -->
<link rel="stylesheet" href="assets/css/werbung.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/werbung.css?v=202610061629" />
</head> </head>
<body class="obs-buehne"> <body class="obs-buehne">
<div id="platz"></div> <div id="platz"></div>
<script src="assets/js/werbung.js?v=202610061535" defer></script> <script src="assets/js/werbung.js?v=202610061629" defer></script>
<script src="assets/js/buehne.js?v=202610061535" defer></script> <script src="assets/js/buehne.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/calls.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/calls.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -89,15 +89,15 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/ki.js?v=202610061535" defer></script> <script src="assets/js/ki.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/calls.js?v=202610061535" defer></script> <script src="assets/js/calls.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+20 -20
View File
@@ -12,26 +12,26 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<!-- aufgaben.css bringt die Dialog- und Formularstile mit (.dialog, <!-- aufgaben.css bringt die Dialog- und Formularstile mit (.dialog,
.neu__zeile, .dialog__knoepfe). Sie stehen dort seit dem .neu__zeile, .dialog__knoepfe). Sie stehen dort seit dem
Aufgabenbrett; sie hierher zu kopieren hiesse, sie an zwei Stellen Aufgabenbrett; sie hierher zu kopieren hiesse, sie an zwei Stellen
zu pflegen. Dieselbe Lösung nutzen kalender.html und content.html. zu pflegen. Dieselbe Lösung nutzen kalender.html und content.html.
Gemeldet von pruef-css-klassen.mjs, bevor jemand einen ungestylten Gemeldet von pruef-css-klassen.mjs, bevor jemand einen ungestylten
Dialog zu sehen bekam. --> Dialog zu sehen bekam. -->
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/chat.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/chat.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -739,24 +739,24 @@
</form> </form>
</dialog> </dialog>
<script src="assets/js/bereiche.js?v=202610061535"></script> <script src="assets/js/bereiche.js?v=202610061629"></script>
<!-- TEXTFORM VOR ALLEM ANDEREN (21.09.2026): chat.js und bereich.js <!-- TEXTFORM VOR ALLEM ANDEREN (21.09.2026): chat.js und bereich.js
fragen beim Zeichnen nach `window.Textform`. Kaeme sie spaeter, fragen beim Zeichnen nach `window.Textform`. Kaeme sie spaeter,
waere die erste gezeichnete Nachricht ohne Gestaltung -- und das waere die erste gezeichnete Nachricht ohne Gestaltung -- und das
faellt nur dem auf, der genau hinsieht. KEIN `defer`, damit sie faellt nur dem auf, der genau hinsieht. KEIN `defer`, damit sie
wirklich vor den anderen dasteht. --> wirklich vor den anderen dasteht. -->
<script src="assets/js/textform.js?v=202610061535"></script> <script src="assets/js/textform.js?v=202610061629"></script>
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/hochladen.js?v=202610061535" defer></script> <script src="assets/js/hochladen.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535"></script> <script src="assets/js/kopf.js?v=202610061629"></script>
<script src="assets/js/glocke.js?v=202610061535"></script> <script src="assets/js/glocke.js?v=202610061629"></script>
<!-- ANRUF VOR CHAT (18.09.2026): anruf.js stellt `window.anrufStarten` <!-- ANRUF VOR CHAT (18.09.2026): anruf.js stellt `window.anrufStarten`
bereit, und chat.js baut die Knoepfe nur, wenn es das gibt. bereit, und chat.js baut die Knoepfe nur, wenn es das gibt.
Andersherum waere die Reihenfolge eine stille Abhaengigkeit -- Andersherum waere die Reihenfolge eine stille Abhaengigkeit --
die Knoepfe fehlten, und niemand wuesste warum. --> die Knoepfe fehlten, und niemand wuesste warum. -->
<script src="assets/js/anruf.js?v=202610061535"></script> <script src="assets/js/anruf.js?v=202610061629"></script>
<!-- DIE BILDSCHAU (25.09.2026). Eigene Datei, weil sie nichts vom <!-- DIE BILDSCHAU (25.09.2026). Eigene Datei, weil sie nichts vom
Chat weiss: Sie bekommt einen Weg und einen Namen und zeigt ein Chat weiss: Sie bekommt einen Weg und einen Namen und zeigt ein
Bild. Jede andere Seite mit Fotos kann sie ebenso benutzen, ohne 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 sie beim ersten Foto noch nicht da -- und der erste Klick ginge
wie frueher in den Tab. Ein Fehler, der nur beim ERSTEN Mal wie frueher in den Tab. Ein Fehler, der nur beim ERSTEN Mal
auftritt, ist der, den man nie nachstellen kann. --> auftritt, ist der, den man nie nachstellen kann. -->
<script src="assets/js/bildschau.js?v=202610061535"></script> <script src="assets/js/bildschau.js?v=202610061629"></script>
<script src="assets/js/chat.js?v=202610061535"></script> <script src="assets/js/chat.js?v=202610061629"></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/content.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/content.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -179,15 +179,15 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/checkliste.js?v=202610061535" defer></script> <script src="assets/js/checkliste.js?v=202610061629" defer></script>
<script src="assets/js/content.js?v=202610061535" defer></script> <script src="assets/js/content.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+6 -6
View File
@@ -36,15 +36,15 @@
<link rel="preload" as="image" href="assets/img/buehne/crew-gate-hoch-580.webp" <link rel="preload" as="image" href="assets/img/buehne/crew-gate-hoch-580.webp"
type="image/webp" media="(max-width: 899px)" /> type="image/webp" media="(max-width: 899px)" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/crew-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/crew-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/crew-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<!-- Diese Wand steht NUR auf der Adresse von Team Dogi (ueberall sonst <!-- Diese Wand steht NUR auf der Adresse von Team Dogi (ueberall sonst
404, siehe crewWeiche). Sie darf das Haus deshalb direkt nennen 404, siehe crewWeiche). Sie darf das Haus deshalb direkt nennen
statt ueber den Platzhalter haus.css zu gehen -- und sie MUSS es: statt ueber den Platzhalter haus.css zu gehen -- und sie MUSS es:
Eine Zugangswand, die sich erst nach dem Umbiegen faerbt, waere Eine Zugangswand, die sich erst nach dem Umbiegen faerbt, waere
die eine Seite, auf der man das Umfaerben sieht. --> die eine Seite, auf der man das Umfaerben sieht. -->
<link rel="stylesheet" href="assets/css/crew-haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/crew-haus.css?v=202610061629" />
</head> </head>
<body class="gate gate--crew"> <body class="gate gate--crew">
@@ -459,7 +459,7 @@
<script src="assets/js/gate.js?v=202610061535" defer></script> <script src="assets/js/gate.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+4 -4
View File
@@ -23,25 +23,25 @@
}, },
"icons": [ "icons": [
{ {
"src": "/assets/img/app-symbole/crew-192.png?v=202610061535", "src": "/assets/img/app-symbole/crew-192.png?v=202610061629",
"sizes": "192x192", "sizes": "192x192",
"type": "image/png", "type": "image/png",
"purpose": "any" "purpose": "any"
}, },
{ {
"src": "/assets/img/app-symbole/crew-512.png?v=202610061535", "src": "/assets/img/app-symbole/crew-512.png?v=202610061629",
"sizes": "512x512", "sizes": "512x512",
"type": "image/png", "type": "image/png",
"purpose": "any" "purpose": "any"
}, },
{ {
"src": "/assets/img/app-symbole/crew-192-maskable.png?v=202610061535", "src": "/assets/img/app-symbole/crew-192-maskable.png?v=202610061629",
"sizes": "192x192", "sizes": "192x192",
"type": "image/png", "type": "image/png",
"purpose": "maskable" "purpose": "maskable"
}, },
{ {
"src": "/assets/img/app-symbole/crew-512-maskable.png?v=202610061535", "src": "/assets/img/app-symbole/crew-512-maskable.png?v=202610061629",
"sizes": "512x512", "sizes": "512x512",
"type": "image/png", "type": "image/png",
"purpose": "maskable" "purpose": "maskable"
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/dateien.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/dateien.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -108,15 +108,15 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/hochladen.js?v=202610061535" defer></script> <script src="assets/js/hochladen.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/dateien.js?v=202610061535" defer></script> <script src="assets/js/dateien.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+18 -18
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/entwicklung.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -306,20 +306,20 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/holen.js?v=202610061535" defer></script> <script src="assets/js/holen.js?v=202610061629" defer></script>
<!-- VOR entwicklung.js: Die Seite richtet den Katalog beim Start ein, <!-- VOR entwicklung.js: Die Seite richtet den Katalog beim Start ein,
also muss es ihn zu dem Zeitpunkt geben. Mit "defer" laufen beide also muss es ihn zu dem Zeitpunkt geben. Mit "defer" laufen beide
in Dokumentreihenfolge. --> in Dokumentreihenfolge. -->
<script src="assets/js/vorlagenbrett.js?v=202610061535" defer></script> <script src="assets/js/vorlagenbrett.js?v=202610061629" defer></script>
<script src="assets/js/entwicklung.js?v=202610061535" defer></script> <script src="assets/js/entwicklung.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+15 -15
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/hilfe.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/hilfe.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -146,14 +146,14 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/hilfe.js?v=202610061535" defer></script> <script src="assets/js/hilfe.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+5 -5
View File
@@ -30,9 +30,9 @@
<link rel="preload" as="image" href="assets/img/buehne/gate-hoch-580.webp" <link rel="preload" as="image" href="assets/img/buehne/gate-hoch-580.webp"
type="image/webp" media="(max-width: 899px)" /> type="image/webp" media="(max-width: 899px)" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
</head> </head>
<body class="gate"> <body class="gate">
@@ -427,7 +427,7 @@
<script src="assets/js/gate.js?v=202610061535" defer></script> <script src="assets/js/gate.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/kalender.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/kalender.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -383,15 +383,15 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/kalender.js?v=202610061535" defer></script> <script src="assets/js/kalender.js?v=202610061629" defer></script>
<script src="assets/js/kalender-abo.js?v=202610061535" defer></script> <script src="assets/js/kalender-abo.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/leistung.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/leistung.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -444,13 +444,13 @@
</form> </form>
</dialog> </dialog>
<script src="assets/js/meldung.js?v=202610061535"></script> <script src="assets/js/meldung.js?v=202610061629"></script>
<script src="assets/js/nachfrage.js?v=202610061535"></script> <script src="assets/js/nachfrage.js?v=202610061629"></script>
<script src="assets/js/wahl.js?v=202610061535"></script> <script src="assets/js/wahl.js?v=202610061629"></script>
<script src="assets/js/bereiche.js?v=202610061535"></script> <script src="assets/js/bereiche.js?v=202610061629"></script>
<script src="assets/js/kopf.js?v=202610061535"></script> <script src="assets/js/kopf.js?v=202610061629"></script>
<script src="assets/js/glocke.js?v=202610061535"></script> <script src="assets/js/glocke.js?v=202610061629"></script>
<script src="assets/js/leistung.js?v=202610061535"></script> <script src="assets/js/leistung.js?v=202610061629"></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+14 -14
View File
@@ -7,17 +7,17 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/manager-ziele.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/manager-ziele.css?v=202610061629" />
<!-- module.css an VORLETZTER, haus.css an LETZTER Stelle. Die <!-- module.css an VORLETZTER, haus.css an LETZTER Stelle. Die
Reihenfolge ist keine Geschmacksfrage: haus.css setzt nur Reihenfolge ist keine Geschmacksfrage: haus.css setzt nur
Variablen, und bei Variablen entscheidet allein, wer zuletzt Variablen, und bei Variablen entscheidet allein, wer zuletzt
kommt. pruef-css-klassen.mjs misst genau dieses Paar nach. --> kommt. pruef-css-klassen.mjs misst genau dieses Paar nach. -->
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -218,16 +218,16 @@
kopf.js liest daraus die Leitungsrollen. Ohne sie stürzt jede kopf.js liest daraus die Leitungsrollen. Ohne sie stürzt jede
Seite ab, und zwar nur in der Browserkonsole -- die Kopfleiste Seite ab, und zwar nur in der Browserkonsole -- die Kopfleiste
kommt trotzdem. --> kommt trotzdem. -->
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<!-- wahl.js gehört zu kopf.js: Der Sicht-Umschalter baut daraus seine <!-- wahl.js gehört zu kopf.js: Der Sicht-Umschalter baut daraus seine
Liste. pruef-css-klassen setzt das durch, und zwar auch die Liste. pruef-css-klassen setzt das durch, und zwar auch die
Reihenfolge -- kopf.js fragt beim Aufbau nach dem fertigen Reihenfolge -- kopf.js fragt beim Aufbau nach dem fertigen
Bedienelement. --> Bedienelement. -->
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/manager-ziele.js?v=202610061535" defer></script> <script src="assets/js/manager-ziele.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -12,13 +12,13 @@
vergessen wird. --> vergessen wird. -->
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/material.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/material.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start" data-ton="42" data-buehne="studio"> <body class="start" data-ton="42" data-buehne="studio">
@@ -138,14 +138,14 @@
<p class="m-laedt" id="laedt">Einen Moment …</p> <p class="m-laedt" id="laedt">Einen Moment …</p>
</main> </main>
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/hochladen.js?v=202610061535" defer></script> <script src="assets/js/hochladen.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/material.js?v=202610061535" defer></script> <script src="assets/js/material.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+14 -14
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/notizen.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/notizen.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start" data-ton="46"> <body class="start" data-ton="46">
@@ -181,12 +181,12 @@
<!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js <!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js
liest daraus die Leitungsrollen. --> liest daraus die Leitungsrollen. -->
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/notizen.js?v=202610061535" defer></script> <script src="assets/js/notizen.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/personen.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/personen.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -453,14 +453,14 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/personen.js?v=202610061535" defer></script> <script src="assets/js/personen.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+18 -18
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/profil.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/profil.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -214,16 +214,16 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/hochladen.js?v=202610061535" defer></script> <script src="assets/js/hochladen.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/steckbrief.js?v=202610061535" defer></script> <script src="assets/js/steckbrief.js?v=202610061629" defer></script>
<script src="assets/js/profil.js?v=202610061535" defer></script> <script src="assets/js/profil.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+19 -19
View File
@@ -7,15 +7,15 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/reaktion.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/reaktion.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/spendenkarte.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/spendenkarte.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/werbung.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/werbung.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start reaktion-seite" data-stand="laedt"> <body class="start reaktion-seite" data-stand="laedt">
@@ -905,15 +905,15 @@
<!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js <!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js
liest daraus die Leitungsrollen. --> liest daraus die Leitungsrollen. -->
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/spendenkarte.js?v=202610061535" defer></script> <script src="assets/js/spendenkarte.js?v=202610061629" defer></script>
<script src="assets/js/werbung.js?v=202610061535" defer></script> <script src="assets/js/werbung.js?v=202610061629" defer></script>
<script src="assets/js/reaktion.js?v=202610061535" defer></script> <script src="assets/js/reaktion.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+17 -17
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/treff.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -134,14 +134,14 @@
Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen
Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen, Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen,
die seit dem 07.09. jede Seite danach absucht. --> die seit dem 07.09. jede Seite danach absucht. -->
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/holen.js?v=202610061535" defer></script> <script src="assets/js/holen.js?v=202610061629" defer></script>
<script src="assets/js/rechte.js?v=202610061535" defer></script> <script src="assets/js/rechte.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+18 -18
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/report.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/report.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -106,17 +106,17 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/ki.js?v=202610061535" defer></script> <script src="assets/js/ki.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/holen.js?v=202610061535" defer></script> <script src="assets/js/holen.js?v=202610061629" defer></script>
<script src="assets/js/report.js?v=202610061535" defer></script> <script src="assets/js/report.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/scouting.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/scouting.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -173,14 +173,14 @@
</div> </div>
</div> </div>
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/scouting.js?v=202610061535" defer></script> <script src="assets/js/scouting.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+18 -18
View File
@@ -12,26 +12,26 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<!-- Nur die Startseite: Begrüßungskachel, Uhr, Glockenmulde. Siehe <!-- Nur die Startseite: Begrüßungskachel, Uhr, Glockenmulde. Siehe
den Hinweis in start.css -- dort stand es bis zum 07.09.2026. --> den Hinweis in start.css -- dort stand es bis zum 07.09.2026. -->
<link rel="stylesheet" href="assets/css/heim.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/heim.css?v=202610061629" />
<!-- Die Einweisung bringt ihr Aussehen mit. Sie steht in <!-- Die Einweisung bringt ihr Aussehen mit. Sie steht in
anleitung.css, weil sie dorthin gehoert -- und nicht in anleitung.css, weil sie dorthin gehoert -- und nicht in
start.css, wo sie zwischen 48 Kachelfarben verschwinden start.css, wo sie zwischen 48 Kachelfarben verschwinden
wuerde. --> wuerde. -->
<link rel="stylesheet" href="assets/css/anleitung.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/anleitung.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -756,21 +756,21 @@
</p> </p>
</main> </main>
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/live.js?v=202610061535" defer></script> <script src="assets/js/live.js?v=202610061629" defer></script>
<script src="assets/js/start.js?v=202610061535" defer></script> <script src="assets/js/start.js?v=202610061629" defer></script>
<!-- Die Begruessung und der Rundgang beim ersten Anmelden. <!-- Die Begruessung und der Rundgang beim ersten Anmelden.
EIGENE DATEI und nicht ein Stueck start.js: Sie laeuft auf der EIGENE DATEI und nicht ein Stueck start.js: Sie laeuft auf der
meistbenutzten Seite des Hauses, und wenn hier etwas schiefgeht, meistbenutzten Seite des Hauses, und wenn hier etwas schiefgeht,
darf davon nichts anderes betroffen sein. --> darf davon nichts anderes betroffen sein. -->
<script src="assets/js/rundgang.js?v=202610061535" defer></script> <script src="assets/js/rundgang.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/startcheck.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/startcheck.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -85,16 +85,16 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/ki.js?v=202610061535" defer></script> <script src="assets/js/ki.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/startcheck.js?v=202610061535" defer></script> <script src="assets/js/startcheck.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+18 -18
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/profil.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/profil.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -150,16 +150,16 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/hochladen.js?v=202610061535" defer></script> <script src="assets/js/hochladen.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/auskunft.js?v=202610061535" defer></script> <script src="assets/js/auskunft.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/steckbrief.js?v=202610061535" defer></script> <script src="assets/js/steckbrief.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+14 -14
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/support.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/support.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -154,16 +154,16 @@
(reading 'LEITUNG')" ab -- gemessen am 24.09.2026, als diese (reading 'LEITUNG')" ab -- gemessen am 24.09.2026, als diese
Zeile beim Anlegen der Seite fehlte. Die Kopfleiste kam Zeile beim Anlegen der Seite fehlte. Die Kopfleiste kam
trotzdem, deshalb sah man es nur in der Browserkonsole. --> trotzdem, deshalb sah man es nur in der Browserkonsole. -->
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<!-- wahl.js gehoert zu kopf.js: Der Sicht-Umschalter in der <!-- wahl.js gehoert zu kopf.js: Der Sicht-Umschalter in der
Kopfleiste baut daraus seine Liste. pruef-css-klassen setzt das Kopfleiste baut daraus seine Liste. pruef-css-klassen setzt das
seit dem 07.09.2026 durch -- damals fehlte es auf chat.html und seit dem 07.09.2026 durch -- damals fehlte es auf chat.html und
uebersicht.html, und heute hier. --> uebersicht.html, und heute hier. -->
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/support.js?v=202610061535" defer></script> <script src="assets/js/support.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+3 -3
View File
@@ -23,7 +23,7 @@
„Eigenes CSS" leer lassen (der Grund ist schon „Eigenes CSS" leer lassen (der Grund ist schon
durchsichtig). durchsichtig).
====================================================================== --> ====================================================================== -->
<link rel="stylesheet" href="assets/css/spendenkarte.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/spendenkarte.css?v=202610061629" />
<style> <style>
/* DURCHSICHTIG BIS AUF DIE KARTEN. OBS legt die Quelle über das /* DURCHSICHTIG BIS AUF DIE KARTEN. OBS legt die Quelle über das
Bild; jede Fläche, die hier steht, deckt dort etwas zu. */ Bild; jede Fläche, die hier steht, deckt dort etwas zu. */
@@ -80,7 +80,7 @@
<body> <body>
<div class="obs-tafel spendentafel" id="tafel" aria-live="polite"></div> <div class="obs-tafel spendentafel" id="tafel" aria-live="polite"></div>
<script src="assets/js/spendenkarte.js?v=202610061535" defer></script> <script src="assets/js/spendenkarte.js?v=202610061629" defer></script>
<script src="assets/js/tafel.js?v=202610061535" defer></script> <script src="assets/js/tafel.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+18 -18
View File
@@ -7,18 +7,18 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/entwicklung.css?v=202610061629" />
<!-- Wegen des Kastens „Anfragen“ ueber der Liste. Eine eigene Kopie <!-- Wegen des Kastens „Anfragen“ ueber der Liste. Eine eigene Kopie
der Regel hier waere die zweite Stelle, an der dieselbe Sache der Regel hier waere die zweite Stelle, an der dieselbe Sache
anders aussieht. --> anders aussieht. -->
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/bewerbung.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -111,15 +111,15 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/holen.js?v=202610061535" defer></script> <script src="assets/js/holen.js?v=202610061629" defer></script>
<script src="assets/js/talente.js?v=202610061535" defer></script> <script src="assets/js/talente.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -7,20 +7,20 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/team.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/team.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -110,15 +110,15 @@
</main> </main>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/holen.js?v=202610061535" defer></script> <script src="assets/js/holen.js?v=202610061629" defer></script>
<script src="assets/js/team.js?v=202610061535" defer></script> <script src="assets/js/team.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+17 -17
View File
@@ -7,20 +7,20 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/team.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/team.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<!-- `data-buehne` steht hier fest und nicht im Skript: Die Kachel zu <!-- `data-buehne` steht hier fest und nicht im Skript: Die Kachel zu
@@ -84,15 +84,15 @@
Kaputt ist dabei nichts -- er funktioniert. Genau deshalb faellt Kaputt ist dabei nichts -- er funktioniert. Genau deshalb faellt
es niemandem auf, und deshalb prueft pruef-css-klassen die es niemandem auf, und deshalb prueft pruef-css-klassen die
ABHAENGIGKEIT statt der Optik. Hier hat sie angeschlagen. --> ABHAENGIGKEIT statt der Optik. Hier hat sie angeschlagen. -->
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/holen.js?v=202610061535" defer></script> <script src="assets/js/holen.js?v=202610061629" defer></script>
<script src="assets/js/teamlage.js?v=202610061535" defer></script> <script src="assets/js/teamlage.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+15 -15
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/bereich.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -112,15 +112,15 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/teilen.js?v=202610061535" defer></script> <script src="assets/js/teilen.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -7,14 +7,14 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/treff.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -126,14 +126,14 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/treff-moderation.js?v=202610061535" defer></script> <script src="assets/js/treff-moderation.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -7,18 +7,18 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/treff.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/treff.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<!-- haus.css MUSS die letzte Stilvorlage sein. Auf der Adresse des <!-- haus.css MUSS die letzte Stilvorlage sein. Auf der Adresse des
Rudels biegt der Server genau diesen Dateinamen auf crew-haus.css Rudels biegt der Server genau diesen Dateinamen auf crew-haus.css
um, und die Seite kommt schon beim ERSTEN Abruf in Lila und um, und die Seite kommt schon beim ERSTEN Abruf in Lila und
Babyblau an -- ohne Umfaerben im Browser, ohne Flackern. --> Babyblau an -- ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -248,14 +248,14 @@
Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen Beim ersten Anlauf fehlte die Zeile auf genau diesen beiden neuen
Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen, Seiten. Gefunden hat das nicht das Auge, sondern pruef-css-klassen,
die seit dem 07.09. jede Seite danach absucht. --> die seit dem 07.09. jede Seite danach absucht. -->
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/auskunft.js?v=202610061535" defer></script> <script src="assets/js/auskunft.js?v=202610061629" defer></script>
<script src="assets/js/treff-regeln.js?v=202610061535" defer></script> <script src="assets/js/treff-regeln.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -12,22 +12,22 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<!-- Formular- und Dialogstile: seit dem 07.09.2026 steht hier der <!-- Formular- und Dialogstile: seit dem 07.09.2026 steht hier der
Dialog "Creator anlegen". --> Dialog "Creator anlegen". -->
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/uebersicht.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -149,16 +149,16 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/uebersicht.js?v=202610061535" defer></script> <script src="assets/js/uebersicht.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+15 -15
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/unsere-seiten.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/unsere-seiten.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -335,14 +335,14 @@
</main> </main>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/live.js?v=202610061535" defer></script> <script src="assets/js/live.js?v=202610061629" defer></script>
<script src="assets/js/unsere-seiten.js?v=202610061535" defer></script> <script src="assets/js/unsere-seiten.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -7,13 +7,13 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/unterstuetzen.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/unterstuetzen.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -106,17 +106,17 @@
<!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js <!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js
liest daraus die Leitungsrollen. Ohne sie stürzt jede Seite mit liest daraus die Leitungsrollen. Ohne sie stürzt jede Seite mit
„Cannot read properties of undefined (reading 'LEITUNG')" ab. --> „Cannot read properties of undefined (reading 'LEITUNG')" ab. -->
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/holen.js?v=202610061535" defer></script> <script src="assets/js/holen.js?v=202610061629" defer></script>
<!-- Die Satz-Tafel. Ohne sie stand auf dieser Seite das Maschinenwort <!-- Die Satz-Tafel. Ohne sie stand auf dieser Seite das Maschinenwort
des Servers (z.B. "nicht_gefunden") statt eines Satzes -- gemeldet des Servers (z.B. "nicht_gefunden") statt eines Satzes -- gemeldet
von pruef-meldungen, nicht beim Ansehen. --> von pruef-meldungen, nicht beim Ansehen. -->
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/unterstuetzen.js?v=202610061535" defer></script> <script src="assets/js/unterstuetzen.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+16 -16
View File
@@ -7,15 +7,15 @@
<meta name="robots" content="noindex, nofollow" /> <meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/entwicklung.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/werdegang.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/werdegang.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -144,14 +144,14 @@
</main> </main>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/werdegang.js?v=202610061535" defer></script> <script src="assets/js/werdegang.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+15 -15
View File
@@ -12,13 +12,13 @@
vergessen wird. --> vergessen wird. -->
<link rel="manifest" href="/workspace/app.webmanifest" /> <link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/willkommen.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/willkommen.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<!-- KOERPERKLASSE "start", NICHT "gate" (berichtigt 21.09.2026). <!-- KOERPERKLASSE "start", NICHT "gate" (berichtigt 21.09.2026).
`body.gate` ist die Anmeldewand: `display:flex; align-items:center`, `body.gate` ist die Anmeldewand: `display:flex; align-items:center`,
@@ -75,13 +75,13 @@
<p class="fehler" id="fehler" hidden></p> <p class="fehler" id="fehler" hidden></p>
</main> </main>
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/willkommen.js?v=202610061535" defer></script> <script src="assets/js/willkommen.js?v=202610061629" defer></script>
</body> </body>
</html> </html>
+17 -17
View File
@@ -12,20 +12,20 @@
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
eine Flaeche sind statt zweier. --> eine Flaeche sind statt zweier. -->
<meta name="theme-color" content="#06090f" /> <meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061535" /> <link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610061629" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061535" /> <link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610061629" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/gate.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/start.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/start.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/aufgaben.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/wissen.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/wissen.css?v=202610061629" />
<link rel="stylesheet" href="assets/css/module.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/module.css?v=202610061629" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026). <!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an -- kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. --> ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610061535" /> <link rel="stylesheet" href="assets/css/haus.css?v=202610061629" />
</head> </head>
<body class="start"> <body class="start">
@@ -190,15 +190,15 @@
</main> </main>
<script src="assets/js/meldung.js?v=202610061535" defer></script> <script src="assets/js/meldung.js?v=202610061629" defer></script>
<script src="assets/js/hochladen.js?v=202610061535" defer></script> <script src="assets/js/hochladen.js?v=202610061629" defer></script>
<script src="assets/js/nachfrage.js?v=202610061535" defer></script> <script src="assets/js/nachfrage.js?v=202610061629" defer></script>
<script src="assets/js/wahl.js?v=202610061535" defer></script> <script src="assets/js/wahl.js?v=202610061629" defer></script>
<script src="assets/js/bereiche.js?v=202610061535" defer></script> <script src="assets/js/bereiche.js?v=202610061629" defer></script>
<script src="assets/js/installieren.js?v=202610061535" defer></script> <script src="assets/js/installieren.js?v=202610061629" defer></script>
<script src="assets/js/kopf.js?v=202610061535" defer></script> <script src="assets/js/kopf.js?v=202610061629" defer></script>
<script src="assets/js/glocke.js?v=202610061535" defer></script> <script src="assets/js/glocke.js?v=202610061629" defer></script>
<script src="assets/js/wissen.js?v=202610061535" defer></script> <script src="assets/js/wissen.js?v=202610061629" defer></script>
</body> </body>
</html> </html>