Die Modi-Seite gehoert Dogi und den Modis -- Wand, Zeichen, Reiter

Filipe zum Bildschirmfoto der Zugangswand auf crew.: "alles soll auf
dogfather und die modis perfektionniert werden auf der neuen modi seite."

Dort stand bis eben die gewohnte Wand: Spicy-Media-Logo, "Creator
Workspace", der Satz ueber Manager, Scouts und Creator, fuenf
Rollenkacheln. Fuer einen Modi war davon nichts richtig.

DIE KACHELREIHE FAELLT WEG, und das ist eine Verbesserung: Eine Reihe mit
genau einem Eintrag ist keine Auswahl, sondern eine Huerde -- man muesste
erst daraufdruecken, bevor das Codefeld etwas annimmt. gate.js prueft
jetzt, OB es Kacheln gibt, statt sie vorauszusetzen.

DIE BUEHNE IST AUS DEM VORHANDENEN MOTIV GEBAUT, nicht neu erfunden, und
das ist kein Sparen: Die Anmeldeseite ist eine MECHANIK. Rechts steht im
Bild eine leere Tafel, und gate.css setzt die Karte auf Hundertstel genau
dort hinein. Ein frei erfundenes Bild haette diese vier Zahlen
mitgenommen. Also dieselbe Szene, ueber den Mischmodus "color" ins Blau
umgefaerbt (hue-rotate haette Rot nach Cyan UND Blau nach Gelb gedreht),
Dogi anstelle des Spicy-Medaillons, "TEAM DOGI" darunter.
Gemessen: rote Bildpunkte 18,1 % -> 0,0 %, Karte auf 0 px genau.

NACH DER ANMELDUNG geht es weiter: kopf.js zieht Reitertitel und Zeichen
aus `ich.marke` nach -- "Aufgaben · Team Dogi" statt "· Spicy & Dogi", mit
dem eigenen Symbol. An einer Stelle statt in 30 HTML-Dateien.

DREI FUNDE, DIE NICHT AUS DEM KOPF KAMEN

1. DER KNOPF WAERE SCHLECHTER LESBAR GEWORDEN. Mein erstes Blau endete
   bei #4aa4cf -- weisse Schrift darauf: 2,8 zu 1. Der rot-blaue Verlauf,
   den er ersetzt, haelt ueber seine GANZE Laenge 4,65; er war offenbar
   genau darauf gebaut. Jetzt 5,10 zu 1, am fertigen Bildschirmfoto
   gemessen statt aus einer einzelnen Farbe hergeleitet.

2. DIE NEUE WAND WAR AUCH AUF workspace. ABRUFBAR. Sie liegt als Datei im
   selben Ordner. Aufgefallen ist das, weil der Wortleck-Test sie ueberhaupt
   las -- die Frage WARUM war die Antwort. Ausserhalb von crew. antwortet
   sie jetzt mit 404; auf den Pruefadressen bleibt sie erreichbar, sonst
   koennte die Pruefung sie nicht mehr oeffnen und waere gruen ohne etwas
   zu messen.

3. ZWEI GLEICHE KACHELN AUF DER STARTSEITE, seit dem letzten Deploy live.
   Die Team-Lage-Kachel von heute Mittag hatte Name, Zeichen, Ton UND
   Gruppe einer schon vorhandenen -- fuehrte aber woandershin. Gefunden
   von "jede Kachel hat ihre eigene Farbe (23 Farben auf 24 Kacheln)".
   Jetzt "Eingang", Gruppe Taeglich, neuer Ton 24 (#8a20cf, Abstand 38,5
   im CIELAB-Raum; reines Blau haette 52 gehabt und waere auf dunklem
   Grund am schlechtesten zu fokussieren). Eine Fehlermeldung zeigte
   dadurch auf die falsche Seite -- ebenfalls behoben.
   Und die Pruefung, die es fand, zaehlte nur bereiche.js: Vom Server
   angehaengte Kacheln kannte sie nicht. Sie fragt jetzt beide Quellen.

Der Wortleck-Test meldete ausserdem sieben Fundstellen -- allesamt
Kommentare, die ich beim Bauen selbst geschrieben hatte.

GEMESSEN
pruef-crew-adresse     103   pruef-crew-wand-bild    43 (neu)
pruef-modi-checkliste   59   pruef-modi-verborgen    75
pruef-rollen           245   pruef-zwischenspeicher  21
pruef-modi-wortleck      4   pruef-start-ansicht     gruen

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-09-10 13:59:54 +02:00
co-authored by Claude Opus 5
parent 3cda64568d
commit 8bcbd83061
46 changed files with 1669 additions and 286 deletions
+46 -3
View File
@@ -57,6 +57,42 @@
for (const verweis of document.querySelectorAll('.kopfleiste .marke__text .zurueck')) {
verweis.textContent = String(ich.marke).replace(/ /g, ' ');
}
/* DER REITER UND DAS ZEICHEN GEHOEREN DAZU (10.09.2026).
Die Kopfleiste allein reicht nicht. In jeder Seite steht fest
<title>Aufgaben · Spicy & Dogi</title> und daneben das Zeichen
des Workspace -- beides sieht man als Erstes, im Browserreiter
und, wenn die Seite als App laeuft, im Fensterrahmen und beim
Umschalten zwischen Apps.
WARUM HIER UND NICHT IN 30 HTML-DATEIEN: Der Name kommt vom
Server und haengt an der Person. Er kann also gar nicht fest im
HTML stehen -- und 30 Dateien zu pflegen hiesse, die 31. zu
vergessen.
Der Seitenname bleibt stehen, nur der Teil hinter dem Punkt
wechselt. Auf der Startseite steht dort der Name des Bereichs
selbst; dann bleibt nur die Marke uebrig, statt sie doppelt zu
lesen. */
const marke = String(ich.marke);
const stueck = document.title.split(' · ');
const seitenname = stueck.slice(0, -1).join(' · ').trim();
document.title = (!seitenname || seitenname === 'Creator Workspace')
? marke
: `${seitenname} · ${marke}`;
/* Das Zeichen: derselbe Stempel, anderer Name. Ihn aus der
vorhandenen Adresse zu ersetzen statt ihn neu zu bauen haelt
die Versionsnummer daran -- sonst laedt der Browser ab hier ein
Bild ohne Stempel und behaelt es ein Jahr. */
for (const zeichen of document.querySelectorAll(
'link[rel="icon"], link[rel="apple-touch-icon"]')) {
const alt = zeichen.getAttribute('href') || '';
if (alt.includes('/workspace-')) {
zeichen.setAttribute('href', alt.replace('/workspace-', '/crew-'));
}
}
}
/* Das eigene Bild, wenn es eines gibt -- sonst der Anfangsbuchstabe.
@@ -134,7 +170,9 @@
k.type = 'button';
k.id = 'teilen';
k.className = 'teilen';
k.title = 'Adresse des Workspace weitergeben';
/* Ohne den Namen des Workspace: Auf der zweiten Adresse heisst der
Bereich anders, und "Adresse dieser Seite" stimmt ueberall. */
k.title = 'Adresse dieser Seite weitergeben';
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
svg.setAttribute('class', 'teilen__zeichen');
@@ -161,9 +199,14 @@
laeuft = true;
try {
if (kannTeilen) {
/* Der Name kommt aus derselben Quelle wie die Kopfleiste.
Steht dort nichts, bleibt es beim gewohnten Namen. */
const wie = document.querySelector('.kopfleiste .marke__text .zurueck');
const name = (wie?.textContent || '').replace(/ /g, ' ').trim()
|| 'Creator Workspace';
await navigator.share({
title: 'Creator Workspace',
text: 'Der Creator Workspace von DogFather Universe',
title: name,
text: `${name} · DogFather Universe`,
url: ZIEL,
});
} else {