Sicht-Umschalter: ein Auge statt des Wortes "SICHT"

Filipe zu dem Feld in der Kopfleiste: "das soll viel besser aussehen
viel geiler aber nicht so eine scheisse."

Er hatte recht. Da stand ein Etikett mit dem Wort SICHT und daneben ein
Auswahlfeld -- ein Formular, das in die Kopfleiste gerutscht war. Drei
Aenderungen:

  * DAS AUGE ersetzt das Wort. Es sagt dasselbe in einem Zeichen und
    laesst dem NAMEN den Platz, um den es eigentlich geht. Fuer
    Vorleseprogramme bleibt die Beschriftung erhalten, nur unsichtbar --
    sie ersatzlos zu loeschen haette das Feld unbeschriftet gelassen.

  * "Meine Sicht" statt "Alles (meine Sicht)". Der Zusatz erklaerte
    nichts und machte den Knopf so breit, dass am Handy nichts anderes
    mehr danebenpasste.

  * EIN KREUZ statt "zurueck zu mir". Der Satz brauchte mehr Platz als
    der Name daneben, und was ein Kreuz an einer aktiven Auswahl tut,
    weiss jeder. Die Worte bleiben im aria-label und im Titel.

DIE EIGENTLICHE VERBESSERUNG ist aber die Hierarchie: Im Normalfall
ist der Umschalter still (graues Auge, ruhiger Rand). Sobald eine
FREMDE Sicht laeuft, traegt er ganz Farbe -- nicht nur ein
Zusatzknopf am Rand.

Das ist der gefaehrlichste Zustand dieser Funktion: Wer sie vergisst,
sieht am naechsten Tag drei Aufgaben statt dreissig und haelt das fuer
den Bestand. Ein Zustand, der Schaden anrichtet, muss lauter sein als
einer, der nichts tut.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-09-06 17:48:03 +02:00
co-authored by Claude Opus 5
parent 9dc35f5da6
commit 17157b4f18
22 changed files with 328 additions and 162 deletions
+3
View File
@@ -54,6 +54,9 @@ gesamtlauf.txt
# Bilder zum Ansehen (server/bild-*.mjs) -- entstehen bei jedem Lauf neu
tagesblick-*.png
chat-*.png
calls-*.png
sicht-*.png
# ---------------------------------------------------------------------
# Bilder der Pruefungen (06.09.2026)
+88
View File
@@ -0,0 +1,88 @@
/* Bild des Sicht-Umschalters in BEIDEN Zustaenden -- zum Ansehen.
Der Normalfall (eigene Sicht) und der Ausnahmefall (fremde Sicht)
sollen sich deutlich unterscheiden; nur nebeneinander sieht man, ob
das gelungen ist. */
import { mkdtempSync, rmSync } from "node:fs";
import { tmpdir } from "node:os";
import { join } from "node:path";
const ordner = mkdtempSync(join(tmpdir(), "ws-sicht-"));
process.env.WORKSPACE_DB = join(ordner, "workspace.db");
const { portMussFreiSein } = await import("./helfer-port.mjs");
await portMussFreiSein(4329, "das Bildwerkzeug");
process.env.PORT = "4329";
process.env.SITE_ACCESS_SECRET = "lokaler-test";
process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00";
const express = (await import("express")).default;
const ec = express.response.cookie;
express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); };
await import("./index.js");
await new Promise((r) => setTimeout(r, 1000));
const BASIS = "http://127.0.0.1:4329";
const { DatabaseSync } = await import("node:sqlite");
const { scryptSync, randomBytes } = await import("node:crypto");
await fetch(BASIS + "/workspace/api/anmelden", {
method: "POST", headers: { "Content-Type": "application/json" },
body: JSON.stringify({ rolle: "admin", code: "x" }) }).catch(() => {});
for (let i = 0; i < 60; i++) {
try {
const p = new DatabaseSync(process.env.WORKSPACE_DB);
try { p.prepare("SELECT 1 FROM personen LIMIT 1").get(); break; } finally { p.close(); }
} catch { await new Promise((r) => setTimeout(r, 250)); }
}
const d = new DatabaseSync(process.env.WORKSPACE_DB);
const j = new Date().toISOString();
function anlegen(name, rolle, code) {
const salt = randomBytes(16).toString("hex");
const hash = scryptSync(code, salt, 64, { N: 32768, r: 8, p: 1, maxmem: 96 * 1024 * 1024 }).toString("hex");
d.prepare("INSERT INTO personen (name,rolle,code_hash,code_salt,code_n,aktiv,erstellt) VALUES (?,?,?,?,?,1,?)")
.run(name, rolle, hash, salt, 32768, j);
return d.prepare("SELECT last_insert_rowid() AS id").get().id;
}
anlegen("Filipe", "admin", "CODE-DOGI-0001");
anlegen("Patrick von Hohenstein", "scout", "CODE-SCOU-0001");
const idLuna = anlegen("Luna", "creator", "CODE-CREA-0001");
d.close();
const pw = await import("file:///C:/Users/qciga/Documents/Obelix/Analyse/node_modules/playwright/index.mjs");
const browser = await pw.chromium.launch();
const ctx = await browser.newContext({ viewport: { width: 1400, height: 900 }, deviceScaleFactor: 3 });
const seite = await ctx.newPage();
await seite.goto(BASIS + "/workspace/", { waitUntil: "networkidle" });
await seite.click('.rolle[data-rolle="admin"]');
await seite.fill("#code", "CODE-DOGI-0001");
await seite.click("button[type=submit]");
await seite.waitForURL("**/start.html", { timeout: 25000 });
await seite.waitForTimeout(1500);
const feld = await seite.$("#sicht-wahl");
if (feld) {
await feld.screenshot({ path: "sicht-eigene.png" });
console.log("sicht-eigene.png geschrieben");
}
/* Jetzt auf Lunas Sicht umschalten. */
await seite.selectOption("#sicht-feld", String(idLuna)).catch(async () => {
/* wahl.js ersetzt das <select> -- dann ueber den Knopf gehen. */
await seite.click(".sicht .wahl2__knopf");
await seite.waitForTimeout(300);
await seite.click(`.wahl2__liste [data-wert="${idLuna}"], .wahl2__eintrag:has-text("Luna")`);
});
await seite.waitForTimeout(2500);
const feld2 = await seite.$("#sicht-wahl");
if (feld2) {
await feld2.screenshot({ path: "sicht-fremde.png" });
console.log("sicht-fremde.png geschrieben");
}
const zustand = await seite.evaluate(() => {
const f = document.querySelector("#sicht-wahl");
return f ? { fremd: f.dataset.fremd, text: f.textContent.trim().slice(0, 40) } : null;
});
console.log("Zustand:", JSON.stringify(zustand));
await browser.close();
try { rmSync(ordner, { recursive: true, force: true }); } catch { /* egal */ }
process.exit(0);
+44 -1
View File
@@ -2786,7 +2786,24 @@ body.start #protokoll {
min-width: 0;
}
/* DAS WORT "SICHT" IST WEG (06.09.2026, Wunsch Filipe: "das soll viel
besser aussehen").
Es stand als Etikett vor einem Auswahlfeld -- ein Formular, das in
die Kopfleiste gerutscht war. An seiner Stelle steht jetzt ein Auge,
das dasselbe in einem Zeichen sagt und dem NAMEN den Platz laesst,
um den es geht.
Fuer Vorleseprogramme bleibt die Beschriftung erhalten; sie ist nur
nicht mehr zu sehen. Sie ersatzlos zu loeschen haette das
Auswahlfeld unbeschriftet zurueckgelassen. */
.sicht__schild {
position: absolute;
width: 1px; height: 1px; margin: -1px; padding: 0;
overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}
.sicht__schild--alt {
flex: none;
/* 0,75 rem = 12 px. Nicht kleiner: Unter 11,5 px meldet die
Geraetepruefung zu Recht "zu kleine Schrift" -- und was auf dem
@@ -2835,14 +2852,40 @@ body.start #protokoll {
rgba(0, 0, 0, .3);
}
.sicht[data-fremd="ja"] .sicht__schild { color: var(--s-ton); }
/* Das Auge. Im Normalfall still, bei fremder Sicht in der Rollenfarbe
-- es ist dann das Erste, was auffaellt. */
.sicht__auge {
flex: none;
width: 16px; height: 16px;
fill: none; stroke: var(--text-still); stroke-width: 1.6;
transition: stroke .18s ease;
}
.sicht[data-fremd="ja"] .sicht__auge { stroke: var(--s-ton); }
/* FREMDE SICHT MUSS AUFFALLEN. Der gefaehrlichste Fall dieser Funktion
ist, dass man sie vergisst -- man sieht am naechsten Tag drei
Aufgaben statt dreissig und haelt das fuer den Bestand. Deshalb
traegt der ganze Umschalter dann Farbe, nicht nur ein Zusatzknopf. */
.sicht[data-fremd="ja"] {
border-color: color-mix(in srgb, var(--s-ton) 50%, transparent);
background: color-mix(in srgb, var(--s-ton) 12%, rgba(0, 0, 0, .25));
}
.sicht__weg {
flex: none; min-height: 28px; padding: 4px 11px;
flex: none; min-height: 28px;
/* Ein Kreuz braucht keine Wortbreite mehr. */
width: 28px; padding: 0;
display: grid; place-items: center;
border: 1px solid color-mix(in srgb, var(--s-ton) 45%, transparent);
border-radius: 999px;
background: transparent; color: var(--s-ton);
font: inherit; font-size: .76rem; cursor: pointer;
transition: background var(--tempo);
}
.sicht__weg svg {
width: 14px; height: 14px;
fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round;
}
.sicht__weg:hover { background: color-mix(in srgb, var(--s-ton) 16%, transparent); }
.sicht__weg:focus-visible { outline: 2px solid var(--s-ton); outline-offset: 2px; }
+34 -2
View File
@@ -911,13 +911,35 @@
const feld = el('div', 'sicht');
feld.id = 'sicht-wahl';
/* EIN AUGE STATT DES WORTES "SICHT" (06.09.2026).
Vorher stand da ein Etikett mit dem Wort SICHT und daneben ein
Auswahlfeld -- ein Formular, das in die Kopfleiste gerutscht war.
Das Auge sagt dasselbe in einem Zeichen und laesst dem Namen den
Platz, um den es geht.
aria-hidden, weil der Knopf daneben bereits sagt, was er tut --
ein Vorleseprogramm soll nicht "Grafik, Auge" davor lesen. */
const auge = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
auge.setAttribute('class', 'sicht__auge');
auge.setAttribute('viewBox', '0 0 24 24');
auge.setAttribute('aria-hidden', 'true');
auge.innerHTML = '<path d="M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12z"/>'
+ '<circle cx="12" cy="12" r="3.2"/>';
feld.append(auge);
/* Fuer Vorleseprogramme bleibt die Beschriftung erhalten -- sie ist
nur nicht mehr zu sehen. */
const schild = el('label', 'sicht__schild', 'Sicht');
schild.setAttribute('for', 'sicht-feld');
feld.append(schild);
const s = el('select', 'sicht__feld');
s.id = 'sicht-feld';
s.append(new Option('Alles (meine Sicht)', ''));
/* "Meine Sicht" statt "Alles (meine Sicht)". Der Zusatz erklaerte
nichts und machte den Knopf so breit, dass am Handy nichts anderes
mehr danebenpasste. */
s.append(new Option('Meine Sicht', ''));
for (const [rolle, name] of ROLLE_GRUPPE) {
const drin = personen.filter((p) => p.rolle === rolle && p.id !== ich.id && p.aktiv !== false);
if (!drin.length) continue;
@@ -949,8 +971,18 @@
und haelt das fuer den Bestand. */
if (aktiv) {
feld.dataset.fremd = 'ja';
const zurueck = el('button', 'sicht__weg', 'zurück zu mir');
/* EIN KREUZ STATT "zurueck zu mir". Der Satz brauchte mehr Platz
als der Name daneben, und was ein Kreuz an einer aktiven
Auswahl tut, weiss jeder. Die Worte bleiben im aria-label. */
const zurueck = el('button', 'sicht__weg');
zurueck.type = 'button';
zurueck.setAttribute('aria-label', 'Zurück zu meiner eigenen Sicht');
zurueck.title = 'Zurück zu meiner eigenen Sicht';
const kreuz = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
kreuz.setAttribute('viewBox', '0 0 24 24');
kreuz.setAttribute('aria-hidden', 'true');
kreuz.innerHTML = '<path d="M7 7l10 10M17 7L7 17"/>';
zurueck.append(kreuz);
zurueck.addEventListener('click', () => { schreiben(0); location.reload(); });
feld.append(zurueck);
document.body.dataset.fremdeSicht = 'ja';
+8 -8
View File
@@ -9,9 +9,9 @@
<meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061746" />
</head>
<body class="start">
@@ -211,10 +211,10 @@
</form>
</dialog>
<script src="assets/js/wahl.js?v=202609061424" defer></script>
<script src="assets/js/bereiche.js?v=202609061424" defer></script>
<script src="assets/js/kopf.js?v=202609061424" defer></script>
<script src="assets/js/glocke.js?v=202609061424" defer></script>
<script src="assets/js/aufgaben.js?v=202609061424" defer></script>
<script src="assets/js/wahl.js?v=202609061746" defer></script>
<script src="assets/js/bereiche.js?v=202609061746" defer></script>
<script src="assets/js/kopf.js?v=202609061746" defer></script>
<script src="assets/js/glocke.js?v=202609061746" defer></script>
<script src="assets/js/aufgaben.js?v=202609061746" defer></script>
</body>
</html>
+9 -9
View File
@@ -9,10 +9,10 @@
<meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/automation.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/automation.css?v=202609061746" />
</head>
<body class="start">
@@ -134,10 +134,10 @@
</main>
<script src="assets/js/wahl.js?v=202609061424" defer></script>
<script src="assets/js/bereiche.js?v=202609061424" defer></script>
<script src="assets/js/kopf.js?v=202609061424" defer></script>
<script src="assets/js/glocke.js?v=202609061424" defer></script>
<script src="assets/js/automation.js?v=202609061424" defer></script>
<script src="assets/js/wahl.js?v=202609061746" defer></script>
<script src="assets/js/bereiche.js?v=202609061746" defer></script>
<script src="assets/js/kopf.js?v=202609061746" defer></script>
<script src="assets/js/glocke.js?v=202609061746" defer></script>
<script src="assets/js/automation.js?v=202609061746" defer></script>
</body>
</html>
+13 -13
View File
@@ -9,10 +9,10 @@
<meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609061746" />
</head>
<body class="start">
@@ -117,14 +117,14 @@
</main>
<script src="assets/js/wahl.js?v=202609061424" defer></script>
<script src="assets/js/bereiche.js?v=202609061424" defer></script>
<script src="assets/js/kopf.js?v=202609061424" defer></script>
<script src="assets/js/glocke.js?v=202609061424" defer></script>
<script src="assets/js/checkliste.js?v=202609061424" defer></script>
<script src="assets/js/ampel.js?v=202609061424" defer></script>
<script src="assets/js/schulung.js?v=202609061424" defer></script>
<script src="assets/js/vorlagen.js?v=202609061424" defer></script>
<script src="assets/js/bereich.js?v=202609061424" defer></script>
<script src="assets/js/wahl.js?v=202609061746" defer></script>
<script src="assets/js/bereiche.js?v=202609061746" defer></script>
<script src="assets/js/kopf.js?v=202609061746" defer></script>
<script src="assets/js/glocke.js?v=202609061746" defer></script>
<script src="assets/js/checkliste.js?v=202609061746" defer></script>
<script src="assets/js/ampel.js?v=202609061746" defer></script>
<script src="assets/js/schulung.js?v=202609061746" defer></script>
<script src="assets/js/vorlagen.js?v=202609061746" defer></script>
<script src="assets/js/bereich.js?v=202609061746" defer></script>
</body>
</html>
+10 -10
View File
@@ -9,10 +9,10 @@
<meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/calls.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/calls.css?v=202609061746" />
</head>
<body class="start">
@@ -76,11 +76,11 @@
</main>
<script src="assets/js/ki.js?v=202609061424" defer></script>
<script src="assets/js/wahl.js?v=202609061424" defer></script>
<script src="assets/js/bereiche.js?v=202609061424" defer></script>
<script src="assets/js/kopf.js?v=202609061424" defer></script>
<script src="assets/js/glocke.js?v=202609061424" defer></script>
<script src="assets/js/calls.js?v=202609061424" defer></script>
<script src="assets/js/ki.js?v=202609061746" defer></script>
<script src="assets/js/wahl.js?v=202609061746" defer></script>
<script src="assets/js/bereiche.js?v=202609061746" defer></script>
<script src="assets/js/kopf.js?v=202609061746" defer></script>
<script src="assets/js/glocke.js?v=202609061746" defer></script>
<script src="assets/js/calls.js?v=202609061746" defer></script>
</body>
</html>
+8 -8
View File
@@ -8,16 +8,16 @@
<meta name="theme-color" content="#05070d" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061746" />
<!-- aufgaben.css bringt die Dialog- und Formularstile mit (.dialog,
.neu__zeile, .dialog__knoepfe). Sie stehen dort seit dem
Aufgabenbrett; sie hierher zu kopieren hiesse, sie an zwei Stellen
zu pflegen. Dieselbe Lösung nutzen kalender.html und content.html.
Gemeldet von pruef-css-klassen.mjs, bevor jemand einen ungestylten
Dialog zu sehen bekam. -->
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/chat.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/chat.css?v=202609061746" />
</head>
<body class="start">
@@ -153,9 +153,9 @@
</form>
</dialog>
<script src="assets/js/bereiche.js?v=202609061424"></script>
<script src="assets/js/kopf.js?v=202609061424"></script>
<script src="assets/js/glocke.js?v=202609061424"></script>
<script src="assets/js/chat.js?v=202609061424"></script>
<script src="assets/js/bereiche.js?v=202609061746"></script>
<script src="assets/js/kopf.js?v=202609061746"></script>
<script src="assets/js/glocke.js?v=202609061746"></script>
<script src="assets/js/chat.js?v=202609061746"></script>
</body>
</html>
+11 -11
View File
@@ -9,10 +9,10 @@
<meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/content.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/content.css?v=202609061746" />
</head>
<body class="start">
@@ -166,12 +166,12 @@
</main>
<script src="assets/js/wahl.js?v=202609061424" defer></script>
<script src="assets/js/bereiche.js?v=202609061424" defer></script>
<script src="assets/js/kopf.js?v=202609061424" defer></script>
<script src="assets/js/glocke.js?v=202609061424" defer></script>
<script src="assets/js/checkliste.js?v=202609061424" defer></script>
<script src="assets/js/vorlagen.js?v=202609061424" defer></script>
<script src="assets/js/content.js?v=202609061424" defer></script>
<script src="assets/js/wahl.js?v=202609061746" defer></script>
<script src="assets/js/bereiche.js?v=202609061746" defer></script>
<script src="assets/js/kopf.js?v=202609061746" defer></script>
<script src="assets/js/glocke.js?v=202609061746" defer></script>
<script src="assets/js/checkliste.js?v=202609061746" defer></script>
<script src="assets/js/vorlagen.js?v=202609061746" defer></script>
<script src="assets/js/content.js?v=202609061746" defer></script>
</body>
</html>
+9 -9
View File
@@ -9,10 +9,10 @@
<meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/dateien.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/dateien.css?v=202609061746" />
</head>
<body class="start">
@@ -95,10 +95,10 @@
</main>
<script src="assets/js/wahl.js?v=202609061424" defer></script>
<script src="assets/js/bereiche.js?v=202609061424" defer></script>
<script src="assets/js/kopf.js?v=202609061424" defer></script>
<script src="assets/js/glocke.js?v=202609061424" defer></script>
<script src="assets/js/dateien.js?v=202609061424" defer></script>
<script src="assets/js/wahl.js?v=202609061746" defer></script>
<script src="assets/js/bereiche.js?v=202609061746" defer></script>
<script src="assets/js/kopf.js?v=202609061746" defer></script>
<script src="assets/js/glocke.js?v=202609061746" defer></script>
<script src="assets/js/dateien.js?v=202609061746" defer></script>
</body>
</html>
+2 -2
View File
@@ -27,7 +27,7 @@
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061746" />
</head>
<body class="gate">
@@ -145,6 +145,6 @@
</p>
</main>
<script src="assets/js/gate.js?v=202609061424" defer></script>
<script src="assets/js/gate.js?v=202609061746" defer></script>
</body>
</html>
+9 -9
View File
@@ -9,10 +9,10 @@
<meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/kalender.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/kalender.css?v=202609061746" />
</head>
<body class="start">
@@ -206,10 +206,10 @@
</main>
<script src="assets/js/wahl.js?v=202609061424" defer></script>
<script src="assets/js/bereiche.js?v=202609061424" defer></script>
<script src="assets/js/kopf.js?v=202609061424" defer></script>
<script src="assets/js/glocke.js?v=202609061424" defer></script>
<script src="assets/js/kalender.js?v=202609061424" defer></script>
<script src="assets/js/wahl.js?v=202609061746" defer></script>
<script src="assets/js/bereiche.js?v=202609061746" defer></script>
<script src="assets/js/kopf.js?v=202609061746" defer></script>
<script src="assets/js/glocke.js?v=202609061746" defer></script>
<script src="assets/js/kalender.js?v=202609061746" defer></script>
</body>
</html>
+9 -9
View File
@@ -9,10 +9,10 @@
<meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/personen.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/personen.css?v=202609061746" />
</head>
<body class="start">
@@ -123,10 +123,10 @@
</main>
<script src="assets/js/wahl.js?v=202609061424" defer></script>
<script src="assets/js/bereiche.js?v=202609061424" defer></script>
<script src="assets/js/kopf.js?v=202609061424" defer></script>
<script src="assets/js/glocke.js?v=202609061424" defer></script>
<script src="assets/js/personen.js?v=202609061424" defer></script>
<script src="assets/js/wahl.js?v=202609061746" defer></script>
<script src="assets/js/bereiche.js?v=202609061746" defer></script>
<script src="assets/js/kopf.js?v=202609061746" defer></script>
<script src="assets/js/glocke.js?v=202609061746" defer></script>
<script src="assets/js/personen.js?v=202609061746" defer></script>
</body>
</html>
+10 -10
View File
@@ -9,10 +9,10 @@
<meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609061746" />
</head>
<body class="start">
@@ -201,11 +201,11 @@
</main>
<script src="assets/js/wahl.js?v=202609061424" defer></script>
<script src="assets/js/bereiche.js?v=202609061424" defer></script>
<script src="assets/js/kopf.js?v=202609061424" defer></script>
<script src="assets/js/glocke.js?v=202609061424" defer></script>
<script src="assets/js/steckbrief.js?v=202609061424" defer></script>
<script src="assets/js/profil.js?v=202609061424" defer></script>
<script src="assets/js/wahl.js?v=202609061746" defer></script>
<script src="assets/js/bereiche.js?v=202609061746" defer></script>
<script src="assets/js/kopf.js?v=202609061746" defer></script>
<script src="assets/js/glocke.js?v=202609061746" defer></script>
<script src="assets/js/steckbrief.js?v=202609061746" defer></script>
<script src="assets/js/profil.js?v=202609061746" defer></script>
</body>
</html>
+10 -10
View File
@@ -9,10 +9,10 @@
<meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/report.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/report.css?v=202609061746" />
</head>
<body class="start">
@@ -93,11 +93,11 @@
</main>
<script src="assets/js/ki.js?v=202609061424" defer></script>
<script src="assets/js/wahl.js?v=202609061424" defer></script>
<script src="assets/js/bereiche.js?v=202609061424" defer></script>
<script src="assets/js/kopf.js?v=202609061424" defer></script>
<script src="assets/js/glocke.js?v=202609061424" defer></script>
<script src="assets/js/report.js?v=202609061424" defer></script>
<script src="assets/js/ki.js?v=202609061746" defer></script>
<script src="assets/js/wahl.js?v=202609061746" defer></script>
<script src="assets/js/bereiche.js?v=202609061746" defer></script>
<script src="assets/js/kopf.js?v=202609061746" defer></script>
<script src="assets/js/glocke.js?v=202609061746" defer></script>
<script src="assets/js/report.js?v=202609061746" defer></script>
</body>
</html>
+9 -9
View File
@@ -9,10 +9,10 @@
<meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/scouting.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/scouting.css?v=202609061746" />
</head>
<body class="start">
@@ -126,10 +126,10 @@
</div>
</div>
<script src="assets/js/wahl.js?v=202609061424" defer></script>
<script src="assets/js/bereiche.js?v=202609061424" defer></script>
<script src="assets/js/kopf.js?v=202609061424" defer></script>
<script src="assets/js/glocke.js?v=202609061424" defer></script>
<script src="assets/js/scouting.js?v=202609061424" defer></script>
<script src="assets/js/wahl.js?v=202609061746" defer></script>
<script src="assets/js/bereiche.js?v=202609061746" defer></script>
<script src="assets/js/kopf.js?v=202609061746" defer></script>
<script src="assets/js/glocke.js?v=202609061746" defer></script>
<script src="assets/js/scouting.js?v=202609061746" defer></script>
</body>
</html>
+7 -7
View File
@@ -9,8 +9,8 @@
<meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061746" />
</head>
<body class="start">
@@ -160,10 +160,10 @@
</p>
</main>
<script src="assets/js/wahl.js?v=202609061424" defer></script>
<script src="assets/js/bereiche.js?v=202609061424" defer></script>
<script src="assets/js/kopf.js?v=202609061424" defer></script>
<script src="assets/js/glocke.js?v=202609061424" defer></script>
<script src="assets/js/start.js?v=202609061424" defer></script>
<script src="assets/js/wahl.js?v=202609061746" defer></script>
<script src="assets/js/bereiche.js?v=202609061746" defer></script>
<script src="assets/js/kopf.js?v=202609061746" defer></script>
<script src="assets/js/glocke.js?v=202609061746" defer></script>
<script src="assets/js/start.js?v=202609061746" defer></script>
</body>
</html>
+10 -10
View File
@@ -9,10 +9,10 @@
<meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/startcheck.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/startcheck.css?v=202609061746" />
</head>
<body class="start">
@@ -72,11 +72,11 @@
</main>
<script src="assets/js/ki.js?v=202609061424" defer></script>
<script src="assets/js/wahl.js?v=202609061424" defer></script>
<script src="assets/js/bereiche.js?v=202609061424" defer></script>
<script src="assets/js/kopf.js?v=202609061424" defer></script>
<script src="assets/js/glocke.js?v=202609061424" defer></script>
<script src="assets/js/startcheck.js?v=202609061424" defer></script>
<script src="assets/js/ki.js?v=202609061746" defer></script>
<script src="assets/js/wahl.js?v=202609061746" defer></script>
<script src="assets/js/bereiche.js?v=202609061746" defer></script>
<script src="assets/js/kopf.js?v=202609061746" defer></script>
<script src="assets/js/glocke.js?v=202609061746" defer></script>
<script src="assets/js/startcheck.js?v=202609061746" defer></script>
</body>
</html>
+9 -9
View File
@@ -9,10 +9,10 @@
<meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/profil.css?v=202609061746" />
</head>
<body class="start">
@@ -113,10 +113,10 @@
</main>
<script src="assets/js/wahl.js?v=202609061424" defer></script>
<script src="assets/js/bereiche.js?v=202609061424" defer></script>
<script src="assets/js/kopf.js?v=202609061424" defer></script>
<script src="assets/js/glocke.js?v=202609061424" defer></script>
<script src="assets/js/steckbrief.js?v=202609061424" defer></script>
<script src="assets/js/wahl.js?v=202609061746" defer></script>
<script src="assets/js/bereiche.js?v=202609061746" defer></script>
<script src="assets/js/kopf.js?v=202609061746" defer></script>
<script src="assets/js/glocke.js?v=202609061746" defer></script>
<script src="assets/js/steckbrief.js?v=202609061746" defer></script>
</body>
</html>
+7 -7
View File
@@ -9,9 +9,9 @@
<meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202609061746" />
</head>
<body class="start">
@@ -59,10 +59,10 @@
</main>
<script src="assets/js/bereiche.js?v=202609061424" defer></script>
<script src="assets/js/bereiche.js?v=202609061746" defer></script>
<script src="assets/js/kopf.js?v=202609061424" defer></script>
<script src="assets/js/glocke.js?v=202609061424" defer></script>
<script src="assets/js/uebersicht.js?v=202609061424" defer></script>
<script src="assets/js/kopf.js?v=202609061746" defer></script>
<script src="assets/js/glocke.js?v=202609061746" defer></script>
<script src="assets/js/uebersicht.js?v=202609061746" defer></script>
</body>
</html>
+9 -9
View File
@@ -9,10 +9,10 @@
<meta name="theme-color" content="#0674b9" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/wissen.css?v=202609061424" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/start.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609061746" />
<link rel="stylesheet" href="assets/css/wissen.css?v=202609061746" />
</head>
<body class="start">
@@ -177,10 +177,10 @@
</main>
<script src="assets/js/wahl.js?v=202609061424" defer></script>
<script src="assets/js/bereiche.js?v=202609061424" defer></script>
<script src="assets/js/kopf.js?v=202609061424" defer></script>
<script src="assets/js/glocke.js?v=202609061424" defer></script>
<script src="assets/js/wissen.js?v=202609061424" defer></script>
<script src="assets/js/wahl.js?v=202609061746" defer></script>
<script src="assets/js/bereiche.js?v=202609061746" defer></script>
<script src="assets/js/kopf.js?v=202609061746" defer></script>
<script src="assets/js/glocke.js?v=202609061746" defer></script>
<script src="assets/js/wissen.js?v=202609061746" defer></script>
</body>
</html>