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:
@@ -76,16 +76,16 @@ const OEFFENTLICHE_SEITEN = new Set([
|
|||||||
Registrierung auf /admin/ mit einem echten Browserfehler fehl, sobald jemand /admin/ ohne
|
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
|
gültige Haupt-Gate-Sitzung aufruft (z.B. direkt per Lesezeichen, ohne vorher die Haupt-Seite
|
||||||
besucht/eingeloggt zu haben).
|
besucht/eingeloggt zu haben).
|
||||||
/img/vanvan-portrait.png (04.08.2026 ergänzt): wird als Avatar-Foto direkt AUF der
|
/img/gate-avatar-dogi.webp + /img/gate-avatar-vanvan.webp (04.08.2026 ergänzt, ersetzt die
|
||||||
Zugangscode-Seite selbst gezeigt (siehe gate.html) — ohne Freigabe zeigt das Foto dort nur einen
|
frühere Freigabe von /img/vanvan-portrait.png): eigene, extra für die Zugangscode-Seite selbst
|
||||||
leeren Kreis, weil selbst dieses eine Bild noch hinter der Schranke lag, die es doch gerade
|
angelegte Avatar-Fotos (siehe gate.html) — ohne Freigabe zeigt das Foto dort nur einen leeren
|
||||||
anzeigen soll. Kein Shop-/Kundendatum, sondern VanVans eigenes öffentliches Porträtfoto (wird
|
Kreis, weil selbst dieses eine Bild noch hinter der Schranke läge, die es doch gerade anzeigen
|
||||||
nach dem Öffentlich-Schalten ohnehin überall sichtbar sein, z.B. Startseite). */
|
soll. Keine Shop-/Kundendaten, nur die beiden Profilfotos für die Zugangsseite. */
|
||||||
function istOeffentlichErreichbar(pfad) {
|
function istOeffentlichErreichbar(pfad) {
|
||||||
const ohneSlash = pfad.endsWith("/") && pfad.length > 1 ? pfad.slice(0, -1) : pfad;
|
const ohneSlash = pfad.endsWith("/") && pfad.length > 1 ? pfad.slice(0, -1) : pfad;
|
||||||
if (OEFFENTLICHE_SEITEN.has(ohneSlash)) return true;
|
if (OEFFENTLICHE_SEITEN.has(ohneSlash)) return true;
|
||||||
if (pfad.startsWith("/_astro/") && pfad.endsWith(".css")) 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;
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-5
@@ -288,13 +288,13 @@
|
|||||||
<div class="gate-card gate-card-qciga">
|
<div class="gate-card gate-card-qciga">
|
||||||
<div class="gate-avatar" aria-hidden="true">
|
<div class="gate-avatar" aria-hidden="true">
|
||||||
<span class="gate-avatar-glow"></span>
|
<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>
|
</div>
|
||||||
<h2>qciga</h2>
|
<h2>Dogi</h2>
|
||||||
<form class="gate-form" data-role="qciga">
|
<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" />
|
<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>
|
</form>
|
||||||
<p class="gate-fehler" data-fehler-for="qciga" role="alert" aria-live="assertive"></p>
|
<p class="gate-fehler" data-fehler-for="qciga" role="alert" aria-live="assertive"></p>
|
||||||
</div>
|
</div>
|
||||||
@@ -302,7 +302,7 @@
|
|||||||
<div class="gate-card gate-card-vanvan">
|
<div class="gate-card gate-card-vanvan">
|
||||||
<div class="gate-avatar" aria-hidden="true">
|
<div class="gate-avatar" aria-hidden="true">
|
||||||
<span class="gate-avatar-glow"></span>
|
<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>
|
</div>
|
||||||
<h2>VanVan</h2>
|
<h2>VanVan</h2>
|
||||||
<form class="gate-form" data-role="vanvan">
|
<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 |
Reference in New Issue
Block a user