Highlights des Teams sind sofort zu sehen -- ohne zweiten Klick

Filipe, 30.09.2026: „wenn wir bei highlights videos rein setzen will
ich nicht mehr dass wir sie freigeben muessen, sobald die reingesetzt
wurden sollen die sofort zu sehen sein."

=====================================================================
WAS ICH NICHT GETAN HABE, UND WARUM NICHT
=====================================================================
Die naheliegende Loesung waere gewesen, `highlight` aus
`TREFF_FREIGABE_BRETTER` zu streichen. Das waere falsch: Auf diesem
Brett laedt auch die COMMUNITY hoch -- Clips, Bilder, Fanart. Im
Quelltext steht woertlich daneben:

    „Zwei Schloesser, weil hier fremde Inhalte hochgeladen werden --
     Urheberrecht und Anstand sind nichts, was man nachtraeglich
     klaert."

Filipe meint nicht das. Er meint: „wenn WIR videos rein setzen".

=====================================================================
DIE UNTERSCHEIDUNG STAND SCHON IM HAUS -- nur nicht im Code
=====================================================================
Derselbe Quelltext sagt ueber die zwei Freigabe-Bretter
Verschiedenes:

    ansteht    -> der SCHALTER „Im Treff zeigen". Das Team entscheidet
                  JE TERMIN, ob die Community ihn sieht.
    highlight  -> der Urheberrechts- und Anstandsfilter.

Ein Filter fragt „hat das jemand angesehen?". Wenn der, der ihn
bedienen darf, den Eintrag SELBST anlegt, ist die Antwort ja. Genau
diese Begruendung steht seit dem Uebernehmen aus dem Katalog im
Haus: „Eine zweite daneben waere keine Sicherheit, sondern ein
Klick."

Ein Schalter dagegen ist eine Entscheidung je Fall. Termine bleiben
deshalb unberuehrt -- sonst stuende jeder interne Termin sofort im
Treff, und danach hat niemand gefragt.

Neu: `FREIGABE_IST_FILTER` und `sofortFreigeben()` in
workspace-treff.js. DIE BEDINGUNG FRAGT DIE ROLLE, NICHT DEN WEG --
waere der Weg gefragt, waere aus dem Filter ein Loch geworden, sobald
jemand einen zweiten Weg baut. Ein Community-Mitglied ab „Stamm"
darf weiterhin einstellen; sein Eintrag wartet auf das Team.

Gerufen an ZWEI Stellen: beim Videoweg und beim Anlegen von Hand.
Beide hatten es bisher nicht.

=====================================================================
DIE VORHANDENE FREIGABEPRUEFUNG BEWEIST DAS NICHT
=====================================================================
Sie blieb nach der Aenderung gruen -- und das zu Recht: Sie legt ihre
Eintraege unmittelbar in der Datenbank an und prueft damit den
Mechanismus, nicht den Weg. Haette ich mich darauf verlassen, waere
eine Aenderung ausgeliefert worden, fuer die keine Zeile spricht.

pruef-treff (+5): DogFather legt ueber den echten Weg an -> die
Community sieht es SOFORT. Ein TERMIN bleibt verborgen. Die Regel
gibt fuer eine Rolle von aussen NICHT frei und fuer Termine
ueberhaupt nicht.

pruef-video (+3): Der Videoweg hat seinen eigenen Aufruf -- genau
dort wird einer vergessen. Geprueft wird die Freigabezeile selbst,
samt Gegenprobe „freigegeben ist nur, was auch angelegt wurde".

Meinen Abschnitt hatte ich erst HINTER das Abschalten des
nachgebauten TikTok-Dienstes gehaengt -- der Kopf der Datei warnt
woertlich davor („das Abschalten steht ganz hinten"). Gelesen habe
ich ihn, als es rot wurde.

UND `pruef-struktur` HAT MEINE EIGENE NEUE ZEILE GEFANGEN: Sie bildete
das Datum aus UTC statt Ortszeit -- zwischen Mitternacht und zwei Uhr
waere es der falsche Tag gewesen. Behoben mit `tagLokal()`, Minuten
nach dem Schreiben.

Gemessen: pruef-treff 85/0 (war 80), pruef-video 74/0 (war 71),
pruef-highlights 31/0, pruef-bereiche-lesend 37/0,
pruef-treff-werkzeuge 73/0, pruef-alle-sehen-es 43/0,
pruef-community-sicht 10/0, pruef-wege-nach-draussen 67/0,
pruef-struktur 44/0.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-09-30 12:55:12 +02:00
co-authored by Claude Opus 5
parent f53791cefd
commit 2c12b8706e
100 changed files with 1384 additions and 1200 deletions
+6 -6
View File
@@ -11,15 +11,15 @@
<title>Ablauf — Dogfather Webdesign</title>
<meta name="description" content="Von der Anfrage bis zur Übergabe: sieben Schritte, jeweils mit dem, was du machst, was ich mache und was am Ende dabei herauskommt." />
<meta name="robots" content="noindex, nofollow, noarchive" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202609301213" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202609301254" />
<meta name="theme-color" content="#564e95" />
<link rel="manifest" href="/webdesign/app.webmanifest" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202609301213" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202609301254" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-title" content="Dogfather Webdesign" />
<link rel="stylesheet" href="/assets/css/main.css?v=202609301213" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301213" />
<link rel="stylesheet" href="/assets/css/main.css?v=202609301254" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301254" />
<style>
/* Zeitstrahl: die Linie verbindet die Nummernkreise. Sie liegt hinter
den Kreisen (z-index) und endet beim letzten Schritt, damit sie nicht
@@ -188,7 +188,7 @@
<div id="wd-fuss"></div>
<script src="/assets/js/i18n-wd-ablauf.js?v=202609301213"></script>
<script src="/assets/js/wd-core.js?v=202609301213"></script>
<script src="/assets/js/i18n-wd-ablauf.js?v=202609301254"></script>
<script src="/assets/js/wd-core.js?v=202609301254"></script>
</body>
</html>
+7 -7
View File
@@ -11,15 +11,15 @@
<title>Projekt anfragen — Dogfather Webdesign</title>
<meta name="description" content="Vier kurze Schritte zu deiner unverbindlichen Projektanfrage. Kostenlos, ohne Vertrag, mit Zusammenfassung vor dem Absenden." />
<meta name="robots" content="noindex, nofollow, noarchive" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202609301213" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202609301254" />
<meta name="theme-color" content="#564e95" />
<link rel="manifest" href="/webdesign/app.webmanifest" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202609301213" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202609301254" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-title" content="Dogfather Webdesign" />
<link rel="stylesheet" href="/assets/css/main.css?v=202609301213" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301213" />
<link rel="stylesheet" href="/assets/css/main.css?v=202609301254" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301254" />
<style>
/* ---------- Schrittanzeige ----------
Zeigt alle vier Schritte gleichzeitig statt nur "3 von 4". Man sieht
@@ -423,8 +423,8 @@
<div id="wd-fuss"></div>
<script src="/assets/js/i18n-wd-anfrage.js?v=202609301213"></script>
<script src="/assets/js/wd-core.js?v=202609301213"></script>
<script src="/assets/js/wd-anfrage.js?v=202609301213"></script>
<script src="/assets/js/i18n-wd-anfrage.js?v=202609301254"></script>
<script src="/assets/js/wd-core.js?v=202609301254"></script>
<script src="/assets/js/wd-anfrage.js?v=202609301254"></script>
</body>
</html>
+2 -2
View File
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="de">
<head>
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202609301213" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202609301213" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202609301254" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202609301254" />
<meta charset="UTF-8" />
<!-- viewport-fit=cover ist die Voraussetzung dafuer, dass env(safe-area-inset-*)
ueberhaupt einen Wert liefert. Ohne diese Angabe gibt jedes env() null zurueck
+6 -6
View File
@@ -11,15 +11,15 @@
<title>Häufige Fragen — Dogfather Webdesign</title>
<meta name="description" content="Preise, Dauer, Inhalte, Änderungen, Hosting, Rechte, Zahlung und Veröffentlichung — offen beantwortet." />
<meta name="robots" content="noindex, nofollow, noarchive" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202609301213" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202609301254" />
<meta name="theme-color" content="#564e95" />
<link rel="manifest" href="/webdesign/app.webmanifest" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202609301213" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202609301254" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-title" content="Dogfather Webdesign" />
<link rel="stylesheet" href="/assets/css/main.css?v=202609301213" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301213" />
<link rel="stylesheet" href="/assets/css/main.css?v=202609301254" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301254" />
<style>
.fq-thema { scroll-margin-top: 90px; }
.fq-thema + .fq-thema { margin-top: clamp(2rem, 4vw, 3rem); }
@@ -200,7 +200,7 @@
<div id="wd-fuss"></div>
<script src="/assets/js/i18n-wd-faq.js?v=202609301213"></script>
<script src="/assets/js/wd-core.js?v=202609301213"></script>
<script src="/assets/js/i18n-wd-faq.js?v=202609301254"></script>
<script src="/assets/js/wd-core.js?v=202609301254"></script>
</body>
</html>
+10 -10
View File
@@ -11,18 +11,18 @@
<title>Dogfather Webdesign — individuelle Webseiten, persönlich umgesetzt</title>
<meta name="description" content="Individuell gebaute Webseiten statt Baukasten: Onepager ab 300 €, professionelle Websites ab 500 €, Shops ab 1.000 €. Klare Preise, klare Zeitrahmen, eine feste Ansprechperson." />
<meta name="robots" content="noindex, nofollow, noarchive" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202609301213" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202609301254" />
<meta name="theme-color" content="#564e95" />
<!-- Als App installierbar auf Handy und Computer. iOS ignoriert das
Manifest für das Startbildschirm-Symbol vollständig und nimmt NUR
apple-touch-icon — deshalb beides. -->
<link rel="manifest" href="/webdesign/app.webmanifest" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202609301213" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202609301254" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-title" content="Dogfather Webdesign" />
<link rel="stylesheet" href="/assets/css/main.css?v=202609301213" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301213" />
<link rel="stylesheet" href="/assets/css/main.css?v=202609301254" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301254" />
<style>
/* ---------- Nur auf der Startseite gebraucht ---------- */
@@ -115,7 +115,7 @@
Das Skript ganz unten blendet es nur ein, wenn man in dieser
Browser-Sitzung gerade erst durch die Zugangswand gekommen ist. -->
<div class="wd-intro" id="wd-intro" hidden>
<img class="wd-intro-logo" src="/assets/img/logo-dogfather-transparent.png?v=202609301213" alt="" width="472" height="476" />
<img class="wd-intro-logo" src="/assets/img/logo-dogfather-transparent.png?v=202609301254" alt="" width="472" height="476" />
<p class="wd-intro-gruss" id="wd-intro-gruss">Willkommen</p>
<p class="wd-intro-unter" data-i18n="intro_unter">Dogfather Webdesign — Vorabversion</p>
<button type="button" class="wd-intro-skip" id="wd-intro-skip" data-i18n="intro_ueberspringen">Überspringen</button>
@@ -263,7 +263,7 @@
<div class="wd-grid wd-grid--2" style="margin-top:2.2rem">
<article class="wd-karte wd-projekt wd-auf">
<img class="wd-projekt-bild" src="/assets/img/wd-projekt-universe.jpg?v=202609301213"
<img class="wd-projekt-bild" src="/assets/img/wd-projekt-universe.jpg?v=202609301254"
alt="Startseite von dogfather-universe.com" width="1200" height="750" loading="lazy" decoding="async"
data-i18n-attr="alt:pf_universe_alt" />
<div class="wd-projekt-text">
@@ -289,7 +289,7 @@
Hinweisbalken ganz oben wurde bewusst weggeschnitten — er
gehört nicht in ein Portfolio. -->
<article class="wd-karte wd-karte--lila wd-projekt wd-auf">
<img class="wd-projekt-bild" src="/assets/img/wd-projekt-vandiy.jpg?v=202609301213"
<img class="wd-projekt-bild" src="/assets/img/wd-projekt-vandiy.jpg?v=202609301254"
alt="Startseite von vans-diy-bastelbedarf.com" width="1200" height="696" loading="lazy" decoding="async"
data-i18n-attr="alt:pf_shop_alt" />
<div class="wd-projekt-text">
@@ -357,7 +357,7 @@
<section class="wd-abschnitt wd-abschnitt--gehoben">
<div class="wd-container">
<div class="wd-portrait-grid">
<img class="wd-portrait wd-auf" src="/assets/img/wd-dogfather-portrait.jpg?v=202609301213"
<img class="wd-portrait wd-auf" src="/assets/img/wd-dogfather-portrait.jpg?v=202609301254"
alt="Dogfather" width="900" height="1125" loading="lazy" decoding="async"
data-i18n-attr="alt:wd_foto_alt" />
<div>
@@ -426,8 +426,8 @@
<div id="wd-fuss"></div>
<script src="/assets/js/i18n-wd-index.js?v=202609301213"></script>
<script src="/assets/js/wd-core.js?v=202609301213"></script>
<script src="/assets/js/i18n-wd-index.js?v=202609301254"></script>
<script src="/assets/js/wd-core.js?v=202609301254"></script>
<script>
/* ---------------------------------------------------------------------
Marken-Intro (Masterplan S.3, Schritt 02: "Nach erfolgreichem Code
+6 -6
View File
@@ -11,15 +11,15 @@
<title>Leistungen — Dogfather Webdesign</title>
<meta name="description" content="Onepager, professionelle Website, Shop und Verwaltungsseiten: was jeweils enthalten ist, was extra kostet und wo die Grenze verläuft." />
<meta name="robots" content="noindex, nofollow, noarchive" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202609301213" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202609301254" />
<meta name="theme-color" content="#564e95" />
<link rel="manifest" href="/webdesign/app.webmanifest" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202609301213" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202609301254" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-title" content="Dogfather Webdesign" />
<link rel="stylesheet" href="/assets/css/main.css?v=202609301213" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301213" />
<link rel="stylesheet" href="/assets/css/main.css?v=202609301254" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301254" />
<style>
/* Sprungmarken.
Frueher eine waagerecht wischbare Leiste. Rueckmeldung 22.08.2026:
@@ -416,7 +416,7 @@
<div id="wd-fuss"></div>
<script src="/assets/js/i18n-wd-leistungen.js?v=202609301213"></script>
<script src="/assets/js/wd-core.js?v=202609301213"></script>
<script src="/assets/js/i18n-wd-leistungen.js?v=202609301254"></script>
<script src="/assets/js/wd-core.js?v=202609301254"></script>
</body>
</html>
+7 -7
View File
@@ -10,15 +10,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
<title>Kundenportal — Dogfather Webdesign</title>
<meta name="robots" content="noindex, nofollow, noarchive" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/portal-32.png?v=202609301213" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/portal-32.png?v=202609301254" />
<meta name="theme-color" content="#924985" />
<link rel="manifest" href="/webdesign/portal.webmanifest" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/portal-180.png?v=202609301213" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/portal-180.png?v=202609301254" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-title" content="Dogfather Webdesign" />
<link rel="stylesheet" href="/assets/css/main.css?v=202609301213" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301213" />
<link rel="stylesheet" href="/assets/css/main.css?v=202609301254" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301254" />
<style>
.po-login { max-width: 440px; margin: clamp(1.5rem,6vh,4rem) auto; }
@@ -199,8 +199,8 @@
<div id="wd-fuss"></div>
<script src="/assets/js/i18n-wd-portal.js?v=202609301213"></script>
<script src="/assets/js/wd-core.js?v=202609301213"></script>
<script src="/assets/js/wd-portal.js?v=202609301213"></script>
<script src="/assets/js/i18n-wd-portal.js?v=202609301254"></script>
<script src="/assets/js/wd-core.js?v=202609301254"></script>
<script src="/assets/js/wd-portal.js?v=202609301254"></script>
</body>
</html>
+12 -12
View File
@@ -11,15 +11,15 @@
<title>Portfolio — Dogfather Webdesign</title>
<meta name="description" content="Echte Projekte statt erfundener Beispiele: Website, Onlineshop, Spieleseite, Buchhaltung, Auswertung und eine Rechtsplattform — jeweils mit Ausgangslage, Lösung und Ergebnis." />
<meta name="robots" content="noindex, nofollow, noarchive" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202609301213" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202609301254" />
<meta name="theme-color" content="#564e95" />
<link rel="manifest" href="/webdesign/app.webmanifest" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202609301213" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202609301254" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-title" content="Dogfather Webdesign" />
<link rel="stylesheet" href="/assets/css/main.css?v=202609301213" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301213" />
<link rel="stylesheet" href="/assets/css/main.css?v=202609301254" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301254" />
<style>
/* GENAU zwei Projekte nebeneinander.
@@ -160,7 +160,7 @@
dazukommt. -->
<div class="pfo-raster">
<article class="wd-karte pfo-projekt wd-auf">
<img class="pfo-bild" src="/assets/img/wd-projekt-universe.jpg?v=202609301213"
<img class="pfo-bild" src="/assets/img/wd-projekt-universe.jpg?v=202609301254"
alt="Startseite von dogfather-universe.com" width="1200" height="750" loading="lazy" decoding="async"
data-i18n-attr="alt:p1_alt" />
<div class="pfo-inhalt">
@@ -211,7 +211,7 @@
<!-- ---------------- Projekt 2 ---------------- -->
<article class="wd-karte wd-karte--lila pfo-projekt wd-auf">
<img class="pfo-bild" src="/assets/img/wd-projekt-vandiy.jpg?v=202609301213"
<img class="pfo-bild" src="/assets/img/wd-projekt-vandiy.jpg?v=202609301254"
alt="Startseite von vans-diy-bastelbedarf.com" width="1200" height="696" loading="lazy" decoding="async"
data-i18n-attr="alt:p2_alt" />
<div class="pfo-inhalt">
@@ -261,7 +261,7 @@
<!-- ---------------- Projekt 3 ---------------- -->
<article class="wd-karte wd-karte--aqua pfo-projekt wd-auf">
<img class="pfo-bild" src="/assets/img/wd-projekt-zockeranstalt.jpg?v=202609301213"
<img class="pfo-bild" src="/assets/img/wd-projekt-zockeranstalt.jpg?v=202609301254"
alt="Startseite von zockeranstalt.dogfather-universe.com" width="1200" height="750" loading="lazy" decoding="async"
data-i18n-attr="alt:p3_alt" />
<div class="pfo-inhalt">
@@ -311,7 +311,7 @@
<!-- ---------------- Projekt 4 ---------------- -->
<article class="wd-karte wd-karte--vip pfo-projekt wd-auf">
<img class="pfo-bild" src="/assets/img/wd-projekt-buchhaltung.jpg?v=202609301213"
<img class="pfo-bild" src="/assets/img/wd-projekt-buchhaltung.jpg?v=202609301254"
alt="Anmeldeseite von buchhaltung.vans-diy-bastelbedarf.com" width="1200" height="750" loading="lazy" decoding="async"
data-i18n-attr="alt:p4_alt" />
<div class="pfo-inhalt">
@@ -362,7 +362,7 @@
<!-- ---------------- Projekt 5 ---------------- -->
<article class="wd-karte wd-karte--premium pfo-projekt wd-auf">
<img class="pfo-bild" src="/assets/img/wd-projekt-analyse.jpg?v=202609301213"
<img class="pfo-bild" src="/assets/img/wd-projekt-analyse.jpg?v=202609301254"
alt="Startseite von analyse.dogfather-universe.com, die Gesichter sind zum Schutz der Beteiligten unkenntlich gemacht" width="1200" height="750" loading="lazy" decoding="async"
data-i18n-attr="alt:p5_alt" />
<div class="pfo-inhalt">
@@ -416,7 +416,7 @@
<!-- ---------------- Projekt 6 ---------------- -->
<article class="wd-karte wd-karte--premium pfo-projekt wd-auf">
<img class="pfo-bild" src="/assets/img/wd-projekt-safeaddress.jpg?v=202609301213"
<img class="pfo-bild" src="/assets/img/wd-projekt-safeaddress.jpg?v=202609301254"
alt="Zugangswand von safeaddress.dogfather-universe.com, die Gesichter sind zum Schutz der Beteiligten unkenntlich gemacht" width="1200" height="750" loading="lazy" decoding="async"
data-i18n-attr="alt:p6_alt" />
<div class="pfo-inhalt">
@@ -495,7 +495,7 @@
<div id="wd-fuss"></div>
<script src="/assets/js/i18n-wd-portfolio.js?v=202609301213"></script>
<script src="/assets/js/wd-core.js?v=202609301213"></script>
<script src="/assets/js/i18n-wd-portfolio.js?v=202609301254"></script>
<script src="/assets/js/wd-core.js?v=202609301254"></script>
</body>
</html>
+6 -6
View File
@@ -10,12 +10,12 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
<title>Impressum, AGB &amp; Datenschutz — Dogfather Webdesign</title>
<meta name="description" content="Impressum, Allgemeine Geschäftsbedingungen, Widerrufsbelehrung und Datenschutzerklärung für Dogfather Webdesign." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202609301213" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202609301213" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202609301254" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202609301254" />
<link rel="manifest" href="/webdesign/app.webmanifest" />
<meta name="theme-color" content="#564e95" />
<link rel="stylesheet" href="/assets/css/main.css?v=202609301213" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301213" />
<link rel="stylesheet" href="/assets/css/main.css?v=202609301254" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301254" />
</head>
<body class="wd">
<div id="wd-kopf"></div>
@@ -409,7 +409,7 @@
<!-- Das Woerterbuch MUSS vor wd-core geladen werden: Der Kern liest
window.I18N_WD beim Uebersetzen, und was noch nicht da ist, kann er
nicht einsetzen. -->
<script src="/assets/js/i18n-wd-rechtliches.js?v=202609301213"></script>
<script src="/assets/js/wd-core.js?v=202609301213"></script>
<script src="/assets/js/i18n-wd-rechtliches.js?v=202609301254"></script>
<script src="/assets/js/wd-core.js?v=202609301254"></script>
</body>
</html>
+1 -1
View File
@@ -34,7 +34,7 @@
Start alle alten Zwischenspeicher weg. Muss bei jeder Änderung an den
Dateien unten hochgezählt werden, sonst hängen Nutzer auf einem alten
Stand fest. */
const CACHE_NAME = "dogfather-webdesign-202609301213";
const CACHE_NAME = "dogfather-webdesign-202609301254";
/* Bausteine, die die Oberfläche zum Anzeigen braucht. Bewusst KEINE
HTML-Datei in dieser Liste. */
+7 -7
View File
@@ -11,15 +11,15 @@
<title>Über Dogfather — Dogfather Webdesign</title>
<meta name="description" content="Keine Agentur, keine Ticketnummer: wer hier baut, wie gearbeitet wird und woran das gelernt wurde." />
<meta name="robots" content="noindex, nofollow, noarchive" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202609301213" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202609301254" />
<meta name="theme-color" content="#564e95" />
<link rel="manifest" href="/webdesign/app.webmanifest" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202609301213" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202609301254" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-title" content="Dogfather Webdesign" />
<link rel="stylesheet" href="/assets/css/main.css?v=202609301213" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301213" />
<link rel="stylesheet" href="/assets/css/main.css?v=202609301254" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301254" />
<style>
.ue-kopf { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: center; }
/* Auf dem Handy zuerst der Text, dann das Bild: sonst schiebt ein
@@ -48,7 +48,7 @@
<div class="wd-container">
<div class="ue-kopf">
<div class="ue-kopf-bild">
<img class="ue-portrait wd-auf" src="/assets/img/wd-dogfather-portrait.jpg?v=202609301213"
<img class="ue-portrait wd-auf" src="/assets/img/wd-dogfather-portrait.jpg?v=202609301254"
alt="Dogfather" width="900" height="1125" fetchpriority="high" decoding="async"
data-i18n-attr="alt:ue_foto_alt" />
</div>
@@ -146,7 +146,7 @@
<div id="wd-fuss"></div>
<script src="/assets/js/i18n-wd-ueber.js?v=202609301213"></script>
<script src="/assets/js/wd-core.js?v=202609301213"></script>
<script src="/assets/js/i18n-wd-ueber.js?v=202609301254"></script>
<script src="/assets/js/wd-core.js?v=202609301254"></script>
</body>
</html>
+22 -22
View File
@@ -10,7 +10,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
<title>Verwaltung — Dogfather Webdesign</title>
<meta name="robots" content="noindex, nofollow, noarchive" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/wdverwalt-32.png?v=202609301213" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/wdverwalt-32.png?v=202609301254" />
<meta name="theme-color" content="#b44f5e" />
<!-- EIGENES Manifest, nicht das des Webdesign-Bereichs (26.08.2026).
@@ -34,11 +34,11 @@
Nachgemessen, nicht vermutet: verwaltung.html antwortet ohne
Ausweis mit 302 auf zugang.html. -->
<link rel="manifest" href="/webdesign/verwaltung.webmanifest" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/wdverwalt-180.png?v=202609301213" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/wdverwalt-180.png?v=202609301254" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-title" content="DF Verwaltung" />
<link rel="stylesheet" href="/assets/css/main.css?v=202609301213" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301213" />
<link rel="stylesheet" href="/assets/css/main.css?v=202609301254" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301254" />
<style>
/* =====================================================================
Verwaltungsbereich — bewusst NUR AUF DEUTSCH.
@@ -106,32 +106,32 @@
:root {
/* Rueckfall, falls das Kennzeichen mal fehlt: Dann sieht es aus wie
die Uebersicht, statt gar nicht. */
--vw-motiv: url("/assets/img/cryo-wappen.webp?v=202609301213");
--vw-motiv-klein: url("/assets/img/cryo-wappen-klein.webp?v=202609301213");
--vw-motiv: url("/assets/img/cryo-wappen.webp?v=202609301254");
--vw-motiv-klein: url("/assets/img/cryo-wappen-klein.webp?v=202609301254");
--vw-farbe: var(--wd-blau-rgb);
--vw-blick: center top;
}
[data-vw-bereich="uebersicht"] {
--vw-motiv: url("/assets/img/cryo-wappen.webp?v=202609301213");
--vw-motiv-klein: url("/assets/img/cryo-wappen-klein.webp?v=202609301213");
--vw-motiv: url("/assets/img/cryo-wappen.webp?v=202609301254");
--vw-motiv-klein: url("/assets/img/cryo-wappen-klein.webp?v=202609301254");
--vw-farbe: var(--wd-blau-rgb);
--vw-blick: 76% 52%;
}
[data-vw-bereich="anfragen"] {
--vw-motiv: url("/assets/img/cryo-ring.webp?v=202609301213");
--vw-motiv-klein: url("/assets/img/cryo-ring-klein.webp?v=202609301213");
--vw-motiv: url("/assets/img/cryo-ring.webp?v=202609301254");
--vw-motiv-klein: url("/assets/img/cryo-ring-klein.webp?v=202609301254");
--vw-farbe: var(--wd-aqua-rgb);
--vw-blick: 72% 46%;
}
[data-vw-bereich="projekte"] {
--vw-motiv: url("/assets/img/cryo-monolith.webp?v=202609301213");
--vw-motiv-klein: url("/assets/img/cryo-monolith-klein.webp?v=202609301213");
--vw-motiv: url("/assets/img/cryo-monolith.webp?v=202609301254");
--vw-motiv-klein: url("/assets/img/cryo-monolith-klein.webp?v=202609301254");
--vw-farbe: var(--wd-lila-rgb);
--vw-blick: 80% 46%;
}
[data-vw-bereich="kunden"] {
--vw-motiv: url("/assets/img/cryo-thron.webp?v=202609301213");
--vw-motiv-klein: url("/assets/img/cryo-thron-klein.webp?v=202609301213");
--vw-motiv: url("/assets/img/cryo-thron.webp?v=202609301254");
--vw-motiv-klein: url("/assets/img/cryo-thron-klein.webp?v=202609301254");
/* Prism Indigo -- hier unbedenklich, weil es NUR Flaeche und Kante
faerbt. Als Schriftfarbe faellt es durch (3,25:1), deshalb steht
weiter unten ausdruecklich, dass die Schrift davon unberuehrt
@@ -140,8 +140,8 @@
--vw-blick: 84% 52%;
}
[data-vw-bereich="zahlungen"] {
--vw-motiv: url("/assets/img/cryo-kristall.webp?v=202609301213");
--vw-motiv-klein: url("/assets/img/cryo-kristall-klein.webp?v=202609301213");
--vw-motiv: url("/assets/img/cryo-kristall.webp?v=202609301254");
--vw-motiv-klein: url("/assets/img/cryo-kristall-klein.webp?v=202609301254");
--vw-farbe: var(--wd-gold-rgb);
/* Oberer Streifen: zeigt die geschwungenen Kristallbänder statt der
flachen Mitte -- siehe die .vw-buehne-Ausnahme weiter unten, die
@@ -149,8 +149,8 @@
--vw-blick: center 15%;
}
[data-vw-bereich="postfach"] {
--vw-motiv: url("/assets/img/cryo-ring.webp?v=202609301213");
--vw-motiv-klein: url("/assets/img/cryo-ring-klein.webp?v=202609301213");
--vw-motiv: url("/assets/img/cryo-ring.webp?v=202609301254");
--vw-motiv-klein: url("/assets/img/cryo-ring-klein.webp?v=202609301254");
--vw-farbe: var(--wd-ion-rgb);
/* Bewusst der andere Bildrand als bei "Anfragen": gleiches Bild,
voellig anderer Ausschnitt. */
@@ -190,7 +190,7 @@
inset: 0;
z-index: 0;
pointer-events: none;
background: var(--vw-motiv, url("/assets/img/cryo-wappen.webp?v=202609301213"))
background: var(--vw-motiv, url("/assets/img/cryo-wappen.webp?v=202609301254"))
center center / cover no-repeat;
/* Kein Zoom: "cover" zeigt bei einem 16:9-Motiv auf einem
ueblichen Bildschirm praktisch das ganze Bild. */
@@ -298,7 +298,7 @@
deshalb hier der Bildmittelpunkt, wo bei allen Motiven das
Hauptgeschehen sitzt. */
.vw-buehne {
background-image: var(--vw-motiv-klein, url("/assets/img/cryo-wappen-klein.webp?v=202609301213"));
background-image: var(--vw-motiv-klein, url("/assets/img/cryo-wappen-klein.webp?v=202609301254"));
background-position: center center;
}
/* Auf kleinen Schirmen liegt mehr Inhalt uebereinander, also etwas
@@ -942,7 +942,7 @@
rgb(3 8 16 / .92) 100%);
}
@media (max-width: 900px) {
.vw-login.wd-motiv::before { background-image: url("/assets/img/cryo-wappen-klein.webp?v=202609301213"); }
.vw-login.wd-motiv::before { background-image: url("/assets/img/cryo-wappen-klein.webp?v=202609301254"); }
}
/* ---------- Kopfleiste ---------- */
@@ -2395,7 +2395,7 @@
<div class="vw-detail-blatt" id="vw-detail-blatt"></div>
</div>
<script src="/assets/js/wd-core.js?v=202609301213"></script>
<script src="/assets/js/wd-core.js?v=202609301254"></script>
<script>
/* =====================================================================
Verwaltung: Anfragen ansehen, Status ändern, Notizen, Archivieren.
+7 -7
View File
@@ -11,12 +11,12 @@
<title>Vertrag widerrufen — Dogfather Webdesign</title>
<meta name="description" content="Elektronische Widerrufsfunktion nach § 356a BGB — Vertrag online widerrufen, mit sofortiger Eingangsbestätigung." />
<meta name="robots" content="noindex, follow" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202609301213" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202609301213" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202609301254" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202609301254" />
<link rel="manifest" href="/webdesign/app.webmanifest" />
<meta name="theme-color" content="#564e95" />
<link rel="stylesheet" href="/assets/css/main.css?v=202609301213" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301213" />
<link rel="stylesheet" href="/assets/css/main.css?v=202609301254" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301254" />
</head>
<body class="wd">
<div id="wd-kopf"></div>
@@ -143,8 +143,8 @@
<div id="wd-fuss"></div>
<script src="/assets/js/i18n-wd-widerruf.js?v=202609301213"></script>
<script src="/assets/js/wd-core.js?v=202609301213"></script>
<script src="/assets/js/wd-widerruf.js?v=202609301213"></script>
<script src="/assets/js/i18n-wd-widerruf.js?v=202609301254"></script>
<script src="/assets/js/wd-core.js?v=202609301254"></script>
<script src="/assets/js/wd-widerruf.js?v=202609301254"></script>
</body>
</html>
+9 -9
View File
@@ -14,7 +14,7 @@
nicht ausgeliefert wird; dieses meta wirkt auch dann, wenn die Datei
einmal ohne den Server geöffnet wird. -->
<meta name="robots" content="noindex, nofollow, noarchive" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202609301213" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202609301254" />
<meta name="theme-color" content="#564e95" />
<!-- Auch hier Manifest und Symbol: die Zugangswand ist der ERSTE
Bildschirm überhaupt, also auch der, von dem aus installiert wird.
@@ -22,12 +22,12 @@
und führte dazu, dass eine Installation nur eine nackte Verknüpfung
ohne Symbol ergab. -->
<link rel="manifest" href="/webdesign/app.webmanifest" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202609301213" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202609301254" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-title" content="Dogfather Webdesign" />
<link rel="stylesheet" href="/assets/css/main.css?v=202609301213" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301213" />
<link rel="stylesheet" href="/assets/css/main.css?v=202609301254" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301254" />
<style>
/* =====================================================================
Zugangswand — nur hier gebraucht, deshalb bewusst NICHT in
@@ -115,7 +115,7 @@
<div class="zg-mitte">
<div class="zg-logo">
<img src="/assets/img/logo-dogfather-transparent.png?v=202609301213" alt="" width="472" height="476" />
<img src="/assets/img/logo-dogfather-transparent.png?v=202609301254" alt="" width="472" height="476" />
</div>
<span class="wd-eyebrow" data-i18n="zg_eyebrow">Nicht öffentlich bis zur Freigabe</span>
@@ -127,7 +127,7 @@
<!-- Karte 1: Dogfather -->
<form class="wd-karte wd-karte--kappe zg-karte zg-karte--dogfather" id="zg-form-dogfather" novalidate>
<div class="zg-karte-kopf">
<img class="zg-foto" src="/assets/img/wd-dogfather-karte.jpg?v=202609301213" alt="" width="76" height="76" />
<img class="zg-foto" src="/assets/img/wd-dogfather-karte.jpg?v=202609301254" alt="" width="76" height="76" />
<div>
<h2 class="zg-name" data-i18n="zg_dogfather">Dogfather</h2>
<p class="zg-rolle" data-i18n="zg_rolle">Volladministrator</p>
@@ -152,7 +152,7 @@
<!-- Karte 2: VanVan — gleiche Struktur, gleiche Rechte, eigene Farbwelt -->
<form class="wd-karte wd-karte--lila wd-karte--kappe zg-karte zg-karte--vanvan" id="zg-form-vanvan" novalidate>
<div class="zg-karte-kopf">
<img class="zg-foto" src="/assets/img/wd-vanvan-karte.jpg?v=202609301213" alt="" width="76" height="76" />
<img class="zg-foto" src="/assets/img/wd-vanvan-karte.jpg?v=202609301254" alt="" width="76" height="76" />
<div>
<h2 class="zg-name" data-i18n="zg_vanvan">VanVan</h2>
<p class="zg-rolle" data-i18n="zg_rolle">Volladministrator</p>
@@ -182,8 +182,8 @@
</div>
</main>
<script src="/assets/js/i18n-wd-zugang.js?v=202609301213"></script>
<script src="/assets/js/wd-core.js?v=202609301213"></script>
<script src="/assets/js/i18n-wd-zugang.js?v=202609301254"></script>
<script src="/assets/js/wd-core.js?v=202609301254"></script>
<script>
(function () {
"use strict";