Zugangsseite: echte Fotos für Dogi + VanVan, "Dogi" statt "qciga", Herz statt Schlüssel

- qciga-Fenster zeigt jetzt Dogi (Name + echtes Foto) statt Icon-Platzhalter — Rolle/Code-Prüfung
  im Hintergrund bleibt unverändert "qciga" (nur die Anzeige wurde umbenannt).
- VanVan-Fenster bekommt ein neues, eigenes Foto für die Zugangsseite.
- Beide Quellfotos (~1,8 MB PNG) auf 400×400 zugeschnitten (gesichtsfokussiert) und als WebP
  komprimiert (7–14 KB) — eigene Dateien nur für diese Seite, NICHT die sitehweit verwendete
  öffentliche vanvan-portrait.png ersetzt oder angetastet.
- Schlüssel-Emoji im Dogi-Button durch 🩵 (Baby-Blau-Herz) ersetzt, passend zur Cyan-Akzentfarbe
  seines Fensters.
- functions/_middleware.js: alte Freigabe von /img/vanvan-portrait.png entfernt, stattdessen
  gezielt nur die zwei neuen Avatar-Dateien freigegeben (kein Shop-/Kundendatum).

Per Build + wrangler pages dev + Browsertest verifiziert: beide Avatare laden korrekt (200),
alte Foto-Freigabe korrekt entfernt (wieder 302), Layout/Funktion unverändert intakt.
This commit is contained in:
qcigano
2026-08-04 16:37:46 +02:00
parent c6f8465e64
commit cebb59d910
4 changed files with 11 additions and 11 deletions
+6 -6
View File
@@ -76,16 +76,16 @@ const OEFFENTLICHE_SEITEN = new Set([
Registrierung auf /admin/ mit einem echten Browserfehler fehl, sobald jemand /admin/ ohne
gültige Haupt-Gate-Sitzung aufruft (z.B. direkt per Lesezeichen, ohne vorher die Haupt-Seite
besucht/eingeloggt zu haben).
/img/vanvan-portrait.png (04.08.2026 ergänzt): wird als Avatar-Foto direkt AUF der
Zugangscode-Seite selbst gezeigt (siehe gate.html) — ohne Freigabe zeigt das Foto dort nur einen
leeren Kreis, weil selbst dieses eine Bild noch hinter der Schranke lag, die es doch gerade
anzeigen soll. Kein Shop-/Kundendatum, sondern VanVans eigenes öffentliches Porträtfoto (wird
nach dem Öffentlich-Schalten ohnehin überall sichtbar sein, z.B. Startseite). */
/img/gate-avatar-dogi.webp + /img/gate-avatar-vanvan.webp (04.08.2026 ergänzt, ersetzt die
frühere Freigabe von /img/vanvan-portrait.png): eigene, extra für die Zugangscode-Seite selbst
angelegte Avatar-Fotos (siehe gate.html) — ohne Freigabe zeigt das Foto dort nur einen leeren
Kreis, weil selbst dieses eine Bild noch hinter der Schranke läge, die es doch gerade anzeigen
soll. Keine Shop-/Kundendaten, nur die beiden Profilfotos für die Zugangsseite. */
function istOeffentlichErreichbar(pfad) {
const ohneSlash = pfad.endsWith("/") && pfad.length > 1 ? pfad.slice(0, -1) : pfad;
if (OEFFENTLICHE_SEITEN.has(ohneSlash)) return true;
if (pfad.startsWith("/_astro/") && pfad.endsWith(".css")) return true;
if (pfad === "/img/vanvan-portrait.png") return true;
if (pfad === "/img/gate-avatar-dogi.webp" || pfad === "/img/gate-avatar-vanvan.webp") return true;
if (/^\/(logo\.png|favicon\.ico|favicon-\d+x\d+\.png|apple-touch-icon\.png|icon-\d+(-maskable)?\.png|sw\.js|manifest\.webmanifest)$/.test(pfad)) return true;
return false;
}
+5 -5
View File
@@ -288,13 +288,13 @@
<div class="gate-card gate-card-qciga">
<div class="gate-avatar" aria-hidden="true">
<span class="gate-avatar-glow"></span>
<span class="gate-avatar-icon">🧑‍💻</span>
<img class="gate-avatar-photo" src="/img/gate-avatar-dogi.webp" alt="" />
</div>
<h2>qciga</h2>
<h2>Dogi</h2>
<form class="gate-form" data-role="qciga">
<label class="sr-only" for="gate-code-qciga">Zugangscode für qciga</label>
<label class="sr-only" for="gate-code-qciga">Zugangscode für Dogi</label>
<input type="text" id="gate-code-qciga" placeholder="Zugangscode" autocomplete="off" autocapitalize="off" spellcheck="false" />
<button type="submit">🔑 Öffnen</button>
<button type="submit">🩵 Öffnen</button>
</form>
<p class="gate-fehler" data-fehler-for="qciga" role="alert" aria-live="assertive"></p>
</div>
@@ -302,7 +302,7 @@
<div class="gate-card gate-card-vanvan">
<div class="gate-avatar" aria-hidden="true">
<span class="gate-avatar-glow"></span>
<img class="gate-avatar-photo" src="/img/vanvan-portrait.png" alt="" />
<img class="gate-avatar-photo" src="/img/gate-avatar-vanvan.webp" alt="" />
</div>
<h2>VanVan</h2>
<form class="gate-form" data-role="vanvan">
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB