Anfuehrungszeichen: 199 falsche Schlusszeichen im sichtbaren Text
Deutsch oeffnet mit „ und schliesst mit “. An 199 Stellen, die ein
Mensch liest, stand als Schlusszeichen ein GERADES " -- „Nächstes"
statt „Nächstes“. Auf sechzehn oeffentlichen Seiten, in vierzig
Dateien des Workspace und in zwoelf Servermodulen, die Texte
verschicken.
Auf dem Bildschirm sieht man den Unterschied sofort. Beim Schreiben
nicht: Das gerade " liegt auf der Tastatur, die anderen nicht.
WARUM EIN ERSTER ANLAUF ZURUECKGENOMMEN WURDE
Ein gerades " ist an vielen Stellen SYNTAX und kein Schriftzeichen --
Grenze einer Zeichenkette, Grenze eines HTML-Attributs, Zeichen in
einem regulaeren Ausdruck. Wer stumpf ersetzt, macht aus
„<a href="https://… ein kaputtes Attribut
/^["'„»\s]+|["'“«.\s]+$/ einen kaputten Ausdruck
"… nichts „mal " + "eben …" eine kaputte Zeichenkette
DIE UNTERSCHEIDUNG LAEUFT AN MERKMALEN, NICHT AN EINER LISTE
< > = dazwischen -> HTML-Marke oder Attribut
endet auf Leerzeichen -> die Zeichenkette hoert hier auf, der
Satz geht in der naechsten Zeile weiter.
Ein deutsches Schlusszeichen steht NIE
hinter einem Leerzeichen.
Rueckstrich mittendrin -> regulaerer Ausdruck
${ ohne } -> mitten in einem Ausdruck
Eine Liste erlaubter Ausnahmen waere die naechste, die niemand
pflegt. Zwoelf Stellen bleiben dadurch stehen, alle zwoelf einzeln
angesehen und alle zwoelf zu Recht -- dort steht das richtige
Schlusszeichen ohnehin weiter unten im Satz.
Fuenf davon waren allerdings ECHTE Fehler HINTER dem Link
(`…>HasiDog</a>".`) -- die erste Regel hatte nur das Attribut
gesehen, nicht den Satz danach. Gezielt nachgezogen.
Ein maskiertes `\"` in workspace-vorlagen.js (28 Hooks) wird zu “ --
ohne Rueckstrich, denn “ begrenzt nichts.
KOMMENTARE BLEIBEN, WIE SIE SIND. Dort liest es niemand ausser mir;
eine Wache, die auch Kosmetik anmahnt, wird weggeklickt. Beim ersten
Messen fielen ausserdem acht Stellen aus buehne.html faelschlich an,
weil `/* */` in HTML (in <style> und <script>) nicht ausgeblendet
war -- jetzt schon.
DIE WACHE DAZU
pruef-struktur prueft es ab sofort mit derselben Regel: 322 Dateien
mit sichtbarem Text, 0 Funde, und die zwoelf bewussten Ausnahmen
werden GEZAEHLT und genannt (erlaubt: 12). Eine Ausnahme, die niemand
sieht, waechst -- und irgendwann steht der echte Fall darin.
GEPRUEFT
pruef-struktur 59 -> 68 Pruefungen, 0 Fehler
node --check auf allen geaenderten JS-Dateien
nachgemessen: 199 geaendert, 12 mit Grund stehen geblieben
gruen geblieben: bewerbung-aufgaben 163, nachwuchs 262,
reaktion 421, support 63, content 45, terminregel 35, treff 85
Und nachgesehen, ob eine Pruefung noch die alte Schreibweise
ERWARTET: 13 Fundstellen, alle dreizehn nur Text in ihrer eigenen
Ausgabe, keine einzige ein Vergleich mit dem Seitentext.
GEGENPROBE: In reaktion.html ein Schlusszeichen zurueckgedreht ->
„workspace/reaktion.html:546 „Nächstes"", mit Datei und Zeile. Und
die Erkennung einzeln gegen HTML-Attribut, fortgesetzte
Zeichenkette, regulaeren Ausdruck und eingesetzten Wert geprueft.
Stempel gesetzt: workspace 670 Verweise in 45 Dateien, oeffentlich
554 in 48 Seiten.
Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -3,8 +3,8 @@
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -19,10 +19,10 @@
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
<meta name="robots" content="noindex" />
|
||||
<title>Seite nicht gefunden — DOGFATHER UNIVERSE</title>
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="site-header"></div>
|
||||
@@ -42,7 +42,7 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/i18n-404.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-404.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+12
-12
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>DogiCrew 🩵 — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="Unterstütze Dogfather dauerhaft mit der DogiCrew 🩵 und sammle exklusive Treueprämien — die Teddy-Kollektion entsteht in Kooperation mit VanVan." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,10 +20,10 @@
|
||||
<meta name="twitter:description" content="Unterstütze Dogfather dauerhaft mit der DogiCrew 🩵 und sammle exklusive Treueprämien — die Teddy-Kollektion entsteht in Kooperation mit VanVan." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
<style>
|
||||
/* =====================================================================
|
||||
Preis-/Anmelde-Kiste — komplett neu gestaltet (Nutzer-Feedback
|
||||
@@ -92,7 +92,7 @@
|
||||
darunter sauber lesbar bleiben (Nutzer-Feedback: Logo lag vorher
|
||||
über dem Namensfeld). */
|
||||
position: absolute; top: 0; left: 0; right: 0; height: 420px; z-index: -1; pointer-events: none;
|
||||
background-image: url('assets/img/logo-dogfather-transparent.png?v=202609301254');
|
||||
background-image: url('assets/img/logo-dogfather-transparent.png?v=202610010152');
|
||||
background-repeat: no-repeat;
|
||||
background-position: center 6%;
|
||||
background-size: min(62%, 320px) auto;
|
||||
@@ -345,12 +345,12 @@
|
||||
.abo-vorteile li::before { content: "👑"; flex-shrink: 0; }
|
||||
</style>
|
||||
</head>
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-abonnieren.jpg?v=202609301254');--page-bg-mobile:url('/assets/img/bg-abonnieren-mobile.jpg?v=202609301254');">
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-abonnieren.jpg?v=202610010152');--page-bg-mobile:url('/assets/img/bg-abonnieren-mobile.jpg?v=202610010152');">
|
||||
<div id="site-header"></div>
|
||||
|
||||
<main>
|
||||
<section class="hero page-bg">
|
||||
<div class="hero-banner"><img src="/assets/img/bg-abonnieren.jpg?v=202609301254" alt="Dogfather Supporter-Abo" loading="eager" /></div>
|
||||
<div class="hero-banner"><img src="/assets/img/bg-abonnieren.jpg?v=202610010152" alt="Dogfather Supporter-Abo" loading="eager" /></div>
|
||||
<div class="container">
|
||||
<span class="eyebrow" data-i18n="ab_eyebrow">👑 DogiCrew 🩵</span>
|
||||
<h1 data-i18n="ab_h1">Mehr als ein Abo — deine Unterstützung wird Teil unserer Geschichte</h1>
|
||||
@@ -604,9 +604,9 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/i18n-abonnieren.js?v=202609301254"></script>
|
||||
<script src="assets/js/supporter.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-abonnieren.js?v=202610010152"></script>
|
||||
<script src="assets/js/supporter.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
<script>
|
||||
(function () {
|
||||
const S = window.DogiSupporter;
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>AGB — DogiCrew-Supporter-Abo — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="Allgemeine Geschäftsbedingungen für das DogiCrew-Supporter-Abo von DOGFATHER UNIVERSE." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -21,10 +21,10 @@
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
<meta name="robots" content="noindex" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="site-header"></div>
|
||||
@@ -45,10 +45,10 @@
|
||||
|
||||
<p><strong>1. Geltungsbereich und Vertragspartner</strong><br>
|
||||
Diese Allgemeinen Geschäftsbedingungen (AGB) gelten für den Abschluss und die Durchführung des
|
||||
kostenpflichtigen „DogiCrew-Supporter-Abo" auf der Website dogfather-universe.com. Anbieter und
|
||||
kostenpflichtigen „DogiCrew-Supporter-Abo“ auf der Website dogfather-universe.com. Anbieter und
|
||||
Vertragspartner ist:<br>
|
||||
Filipe Pereira Queiroz, 3, rue Arthur Thinnes, L-3919 Mondercange, Luxemburg —
|
||||
<a href="mailto:[email protected]">[email protected]</a> (im Folgenden „Anbieter").
|
||||
<a href="mailto:[email protected]">[email protected]</a> (im Folgenden „Anbieter“).
|
||||
Näheres siehe <a href="kontakt.html">Impressum</a>.</p>
|
||||
|
||||
<p><strong>2. Leistungsbeschreibung</strong><br>
|
||||
@@ -135,6 +135,6 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+9
-9
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Aktion — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="Detailansicht einer Aktion oder eines Projekts von Team Dogi." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,10 +20,10 @@
|
||||
<meta name="twitter:description" content="Detailansicht einer Aktion oder eines Projekts von Team Dogi." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="site-header"></div>
|
||||
@@ -52,9 +52,9 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/data-aktionen.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-aktion-detail.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/data-aktionen.js?v=202610010152"></script>
|
||||
<script src="assets/js/i18n-aktion-detail.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
const params = new URLSearchParams(location.search);
|
||||
|
||||
@@ -20,18 +20,18 @@ window.I18N_PAGE = {
|
||||
en: "Who is Casper?", fr: "Qui est Casper ?", pt: "Quem é o Casper?",
|
||||
},
|
||||
cas_wer_1: {
|
||||
de: `Husky Casper ist einer von DogFathers treuen Begleitern und längst Teil der Marke geworden. Zusammen mit Kater Simba gehört er zur „Familie" hinter der Kamera.`,
|
||||
"de-CH": `Husky Casper isch eine vo DogFathers treue Begleiter und scho lang Teil vo de Marke worde. Zäme mit em Kater Simba ghört er zur „Familie" hinter de Kamera.`,
|
||||
en: `Husky Casper is one of DogFather's loyal companions and has long become part of the brand. Together with cat Simba, he belongs to the „family" behind the camera.`,
|
||||
de: `Husky Casper ist einer von DogFathers treuen Begleitern und längst Teil der Marke geworden. Zusammen mit Kater Simba gehört er zur „Familie“ hinter der Kamera.`,
|
||||
"de-CH": `Husky Casper isch eine vo DogFathers treue Begleiter und scho lang Teil vo de Marke worde. Zäme mit em Kater Simba ghört er zur „Familie“ hinter de Kamera.`,
|
||||
en: `Husky Casper is one of DogFather's loyal companions and has long become part of the brand. Together with cat Simba, he belongs to the „family“ behind the camera.`,
|
||||
fr: `Le husky Casper est l'un des fidèles compagnons de DogFather et fait depuis longtemps partie de la marque. Avec le chat Simba, il fait partie de la « famille » derrière la caméra.`,
|
||||
pt: `O husky Casper é um dos fiéis companheiros de DogFather e há muito se tornou parte da marca. Junto com o gato Simba, ele faz parte da „família" por trás das câmeras.`,
|
||||
pt: `O husky Casper é um dos fiéis companheiros de DogFather e há muito se tornou parte da marca. Junto com o gato Simba, ele faz parte da „família“ por trás das câmeras.`,
|
||||
},
|
||||
cas_wer_2: {
|
||||
de: `Die gemeinsame Geschichte von DogFather und Casper gibt es sogar als Buch: <strong>„Hasidog & Casper"</strong>.`,
|
||||
"de-CH": `Die gmeinsam Gschicht vo DogFather und Casper git's sogar als Buech: <strong>„Hasidog & Casper"</strong>.`,
|
||||
en: `The shared story of DogFather and Casper even exists as a book: <strong>„Hasidog & Casper"</strong>.`,
|
||||
de: `Die gemeinsame Geschichte von DogFather und Casper gibt es sogar als Buch: <strong>„Hasidog & Casper“</strong>.`,
|
||||
"de-CH": `Die gmeinsam Gschicht vo DogFather und Casper git's sogar als Buech: <strong>„Hasidog & Casper“</strong>.`,
|
||||
en: `The shared story of DogFather and Casper even exists as a book: <strong>„Hasidog & Casper“</strong>.`,
|
||||
fr: `L'histoire commune de DogFather et Casper existe même sous forme de livre : <strong>« Hasidog & Casper »</strong>.`,
|
||||
pt: `A história compartilhada de DogFather e Casper existe até em forma de livro: <strong>„Hasidog & Casper"</strong>.`,
|
||||
pt: `A história compartilhada de DogFather e Casper existe até em forma de livro: <strong>„Hasidog & Casper“</strong>.`,
|
||||
},
|
||||
cas_story_h2: {
|
||||
de: "Casper – Ein Husky mit dem größten Herzen der Welt 🐾🩵",
|
||||
|
||||
@@ -21,11 +21,11 @@ window.I18N_PAGE = {
|
||||
en: "More Than Followers", fr: "Plus que des followers", pt: "Mais do que seguidores",
|
||||
},
|
||||
com_mehr_1: {
|
||||
de: `Team Dogi soll niemals nur „DogFather und Follower" sein, sondern eine echte Gemeinschaft. Jeder verdient Spotlight 🩵`,
|
||||
"de-CH": `Team Dogi söll niemals nur „DogFather und Follower" si, sondern e echti Gmeinschaft. Jede verdient Spotlight 🩵`,
|
||||
en: `Team Dogi should never be just „DogFather and followers", but a real community. Everyone deserves the spotlight 🩵`,
|
||||
de: `Team Dogi soll niemals nur „DogFather und Follower“ sein, sondern eine echte Gemeinschaft. Jeder verdient Spotlight 🩵`,
|
||||
"de-CH": `Team Dogi söll niemals nur „DogFather und Follower“ si, sondern e echti Gmeinschaft. Jede verdient Spotlight 🩵`,
|
||||
en: `Team Dogi should never be just „DogFather and followers“, but a real community. Everyone deserves the spotlight 🩵`,
|
||||
fr: `Team Dogi ne doit jamais être seulement « DogFather et ses followers », mais une véritable communauté. Chacun mérite sa place sous les projecteurs 🩵`,
|
||||
pt: `Team Dogi nunca deve ser apenas „DogFather e seguidores", mas sim uma comunidade de verdade. Todo mundo merece seu momento de destaque 🩵`,
|
||||
pt: `Team Dogi nunca deve ser apenas „DogFather e seguidores“, mas sim uma comunidade de verdade. Todo mundo merece seu momento de destaque 🩵`,
|
||||
},
|
||||
com_mehr_2: {
|
||||
de: "Discord ist das Community-Zentrum — hier trifft man sich, tauscht sich aus und ist Teil des Alltags von Team Dogi.",
|
||||
|
||||
@@ -237,11 +237,11 @@ window.I18N_PAGE = {
|
||||
en: "Side Projects & Passions", fr: "Projets annexes et passions", pt: "Projetos paralelos e paixões",
|
||||
},
|
||||
df_neben_1: {
|
||||
de: `Eigene Songs und kreative Musikprojekte unter dem Namen „<a href="https://open.spotify.com/intl-de/artist/2INiE1VVJGUQdEURsltuJU" target="_blank" rel="noopener">HasiDog</a>".`,
|
||||
"de-CH": `Eigeni Songs und kreativi Musikprojekt under em Name „<a href="https://open.spotify.com/intl-de/artist/2INiE1VVJGUQdEURsltuJU" target="_blank" rel="noopener">HasiDog</a>".`,
|
||||
en: `Own songs and creative music projects under the name „<a href="https://open.spotify.com/intl-de/artist/2INiE1VVJGUQdEURsltuJU" target="_blank" rel="noopener">HasiDog</a>".`,
|
||||
de: `Eigene Songs und kreative Musikprojekte unter dem Namen „<a href="https://open.spotify.com/intl-de/artist/2INiE1VVJGUQdEURsltuJU" target="_blank" rel="noopener">HasiDog</a>“.`,
|
||||
"de-CH": `Eigeni Songs und kreativi Musikprojekt under em Name „<a href="https://open.spotify.com/intl-de/artist/2INiE1VVJGUQdEURsltuJU" target="_blank" rel="noopener">HasiDog</a>“.`,
|
||||
en: `Own songs and creative music projects under the name „<a href="https://open.spotify.com/intl-de/artist/2INiE1VVJGUQdEURsltuJU" target="_blank" rel="noopener">HasiDog</a>“.`,
|
||||
fr: `Chansons personnelles et projets musicaux créatifs sous le nom « <a href="https://open.spotify.com/intl-de/artist/2INiE1VVJGUQdEURsltuJU" target="_blank" rel="noopener">HasiDog</a> ».`,
|
||||
pt: `Músicas próprias e projetos musicais criativos sob o nome „<a href="https://open.spotify.com/intl-de/artist/2INiE1VVJGUQdEURsltuJU" target="_blank" rel="noopener">HasiDog</a>".`,
|
||||
pt: `Músicas próprias e projetos musicais criativos sob o nome „<a href="https://open.spotify.com/intl-de/artist/2INiE1VVJGUQdEURsltuJU" target="_blank" rel="noopener">HasiDog</a>“.`,
|
||||
},
|
||||
df_neben_2: {
|
||||
de: "Eigene Ideen für Tassen, Decken, Popsockets, Schlüsselanhänger, Sticker und weitere Produkte.",
|
||||
|
||||
@@ -22,8 +22,8 @@ window.I18N_PAGE = {
|
||||
en: "Who is HasiDog?", fr: "Qui est HasiDog ?", pt: "Quem é o HasiDog?",
|
||||
},
|
||||
hd_was_1: {
|
||||
de: `HasiDog ist mehr als ein Spitzname — es ist die verspielte, familiäre Marke rund um DogFathers Community. Unter dem Namen „Hasidog" erscheint auch die eigene Musik auf <a href="https://open.spotify.com/intl-de/artist/2INiE1VVJGUQdEURsltuJU" target="_blank" rel="noopener">Spotify</a>.`,
|
||||
"de-CH": `HasiDog isch meh als en Spitzname — es isch die verspielt, familiäri Marke rund um DogFathers Community. Under em Name „Hasidog" chunt au eigeni Musig uf <a href="https://open.spotify.com/intl-de/artist/2INiE1VVJGUQdEURsltuJU" target="_blank" rel="noopener">Spotify</a> use.`,
|
||||
de: `HasiDog ist mehr als ein Spitzname — es ist die verspielte, familiäre Marke rund um DogFathers Community. Unter dem Namen „Hasidog“ erscheint auch die eigene Musik auf <a href="https://open.spotify.com/intl-de/artist/2INiE1VVJGUQdEURsltuJU" target="_blank" rel="noopener">Spotify</a>.`,
|
||||
"de-CH": `HasiDog isch meh als en Spitzname — es isch die verspielt, familiäri Marke rund um DogFathers Community. Under em Name „Hasidog“ chunt au eigeni Musig uf <a href="https://open.spotify.com/intl-de/artist/2INiE1VVJGUQdEURsltuJU" target="_blank" rel="noopener">Spotify</a> use.`,
|
||||
en: `HasiDog is more than a nickname — it's the playful, close-knit brand around DogFather's community. Original music also appears under the name "Hasidog" on <a href="https://open.spotify.com/intl-de/artist/2INiE1VVJGUQdEURsltuJU" target="_blank" rel="noopener">Spotify</a>.`,
|
||||
fr: `HasiDog est bien plus qu'un surnom — c'est la marque ludique et familiale qui entoure la communauté de DogFather. Sous le nom « Hasidog » sort aussi une musique originale sur <a href="https://open.spotify.com/intl-de/artist/2INiE1VVJGUQdEURsltuJU" target="_blank" rel="noopener">Spotify</a>.`,
|
||||
pt: `HasiDog é mais do que um apelido — é a marca divertida e familiar em torno da comunidade do DogFather. Sob o nome "Hasidog" também sai música original no <a href="https://open.spotify.com/intl-de/artist/2INiE1VVJGUQdEURsltuJU" target="_blank" rel="noopener">Spotify</a>.`,
|
||||
@@ -394,7 +394,7 @@ window.I18N_PAGE = {
|
||||
},
|
||||
|
||||
hd_schlaf_h2: {
|
||||
de: `„Schlaft schön." 🩵`, "de-CH": `„Schlafed schön." 🩵`,
|
||||
de: `„Schlaft schön.“ 🩵`, "de-CH": `„Schlafed schön.“ 🩵`,
|
||||
en: `"Sleep well." 🩵`, fr: `« Faites de beaux rêves. » 🩵`, pt: `"Durmam bem." 🩵`,
|
||||
},
|
||||
hd_schlaf_lead: {
|
||||
@@ -416,7 +416,7 @@ window.I18N_PAGE = {
|
||||
en: "🐺 Casper", fr: "🐺 Casper", pt: "🐺 Casper",
|
||||
},
|
||||
hd_familie_h3_buch: {
|
||||
de: `📖 Das Buch — „HasiDog & Casper"`, "de-CH": `📖 S Buech — „HasiDog & Casper"`,
|
||||
de: `📖 Das Buch — „HasiDog & Casper“`, "de-CH": `📖 S Buech — „HasiDog & Casper“`,
|
||||
en: `📖 The book — "HasiDog & Casper"`, fr: `📖 Le livre — « HasiDog & Casper »`, pt: `📖 O livro — "HasiDog & Casper"`,
|
||||
},
|
||||
hd_familie_h3_com: {
|
||||
|
||||
@@ -230,7 +230,7 @@ window.I18N_PAGE = {
|
||||
en: "November 2025", fr: "Novembre 2025", pt: "Novembro de 2025",
|
||||
},
|
||||
zr_ev13_h3: {
|
||||
de: `Das Buch „HasiDog & Casper"`, "de-CH": `Ds Buech „HasiDog & Casper"`,
|
||||
de: `Das Buch „HasiDog & Casper“`, "de-CH": `Ds Buech „HasiDog & Casper“`,
|
||||
en: `The Book "HasiDog & Casper"`, fr: `Le livre « HasiDog & Casper »`, pt: `O livro "HasiDog & Casper"`,
|
||||
},
|
||||
zr_ev13_p: {
|
||||
|
||||
@@ -863,7 +863,7 @@
|
||||
Stand haben. Die Nummer wird zusammen mit CACHE_NAME in sw.js
|
||||
hochgezaehlt -- beide gehoeren zusammen. */
|
||||
navigator.serviceWorker
|
||||
.register("/webdesign/sw.js?v=202609301254", { scope: "/webdesign/" })
|
||||
.register("/webdesign/sw.js?v=202610010152", { scope: "/webdesign/" })
|
||||
.catch(function () { /* still schlucken: ohne SW funktioniert alles weiter */ });
|
||||
});
|
||||
}
|
||||
|
||||
+11
-11
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Streamer gesucht — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="Du bist Streamer und suchst einen Manager? Bewirb dich als Creator bei Spicy Media." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,17 +20,17 @@
|
||||
<meta name="twitter:description" content="Du bist Streamer und suchst einen Manager? Bewirb dich als Creator bei Spicy Media." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
</head>
|
||||
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben-creator.jpg?v=202609301254');--page-bg-mobile:url('/assets/img/bg-bewerben-creator-mobile.jpg?v=202609301254');">
|
||||
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben-creator.jpg?v=202610010152');--page-bg-mobile:url('/assets/img/bg-bewerben-creator-mobile.jpg?v=202610010152');">
|
||||
<div id="site-header"></div>
|
||||
|
||||
<main>
|
||||
<section class="hero page-bg">
|
||||
<div class="hero-banner"><img src="/assets/img/bg-bewerben-creator.jpg?v=202609301254" alt="" loading="eager" /></div>
|
||||
<div class="hero-banner"><img src="/assets/img/bg-bewerben-creator.jpg?v=202610010152" alt="" loading="eager" /></div>
|
||||
<div class="container">
|
||||
<span class="eyebrow" data-i18n="bwc_eyebrow">Manager DogFather — Agentur</span>
|
||||
<h1 data-i18n="bwc_h1">Streamer? Ich such dich als Creator.</h1>
|
||||
@@ -71,8 +71,8 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/forms.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-bewerben-creator.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/forms.js?v=202610010152"></script>
|
||||
<script src="assets/js/i18n-bewerben-creator.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+11
-11
@@ -8,8 +8,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Kooperation anfragen — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="Kooperationsanfrage an Manager DogFather / Spicy Media." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -23,17 +23,17 @@
|
||||
<meta name="twitter:description" content="Kooperationsanfrage an Manager DogFather / Spicy Media." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
</head>
|
||||
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben.jpg?v=202609301254');--page-bg-mobile:url('/assets/img/bg-bewerben-mobile.jpg?v=202609301254');">
|
||||
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben.jpg?v=202610010152');--page-bg-mobile:url('/assets/img/bg-bewerben-mobile.jpg?v=202610010152');">
|
||||
<div id="site-header"></div>
|
||||
|
||||
<main>
|
||||
<section class="hero page-bg">
|
||||
<div class="hero-banner"><img src="/assets/img/bg-bewerben.jpg?v=202609301254" alt="" loading="eager" /></div>
|
||||
<div class="hero-banner"><img src="/assets/img/bg-bewerben.jpg?v=202610010152" alt="" loading="eager" /></div>
|
||||
<div class="container">
|
||||
<span class="eyebrow" data-i18n="bwk_eyebrow">Manager DogFather — Agentur</span>
|
||||
<h1 data-i18n="bwk_h1">Kooperation anfragen</h1>
|
||||
@@ -69,8 +69,8 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/forms.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-bewerben-kooperation.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/forms.js?v=202610010152"></script>
|
||||
<script src="assets/js/i18n-bewerben-kooperation.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+11
-11
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Modi werden — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="Werde Modi bei Team Dogi — DogFathers persönliches Community-Team." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,17 +20,17 @@
|
||||
<meta name="twitter:description" content="Werde Modi bei Team Dogi — DogFathers persönliches Community-Team." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
</head>
|
||||
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben-modi.jpg?v=202609301254');--page-bg-mobile:url('/assets/img/bg-bewerben-modi-mobile.jpg?v=202609301254');">
|
||||
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben-modi.jpg?v=202610010152');--page-bg-mobile:url('/assets/img/bg-bewerben-modi-mobile.jpg?v=202610010152');">
|
||||
<div id="site-header"></div>
|
||||
|
||||
<main>
|
||||
<section class="hero page-bg">
|
||||
<div class="hero-banner"><img src="/assets/img/bg-bewerben-modi.jpg?v=202609301254" alt="" loading="eager" /></div>
|
||||
<div class="hero-banner"><img src="/assets/img/bg-bewerben-modi.jpg?v=202610010152" alt="" loading="eager" /></div>
|
||||
<div class="container">
|
||||
<span class="eyebrow" data-i18n="bwm_eyebrow">🩵 Team Dogi — Community</span>
|
||||
<h1 data-i18n="bwm_h1">Werde Modi bei Team Dogi</h1>
|
||||
@@ -80,8 +80,8 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/forms.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-bewerben-modi.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/forms.js?v=202610010152"></script>
|
||||
<script src="assets/js/i18n-bewerben-modi.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+11
-11
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Scout werden — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="Werde Scout für DogFather bei der Spicy Media Agentur — finde neue Talente." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,17 +20,17 @@
|
||||
<meta name="twitter:description" content="Werde Scout für DogFather bei der Spicy Media Agentur — finde neue Talente." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
</head>
|
||||
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben-scout.jpg?v=202609301254');--page-bg-mobile:url('/assets/img/bg-bewerben-scout-mobile.jpg?v=202609301254');">
|
||||
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben-scout.jpg?v=202610010152');--page-bg-mobile:url('/assets/img/bg-bewerben-scout-mobile.jpg?v=202610010152');">
|
||||
<div id="site-header"></div>
|
||||
|
||||
<main>
|
||||
<section class="hero page-bg">
|
||||
<div class="hero-banner"><img src="/assets/img/bg-bewerben-scout.jpg?v=202609301254" alt="" loading="eager" /></div>
|
||||
<div class="hero-banner"><img src="/assets/img/bg-bewerben-scout.jpg?v=202610010152" alt="" loading="eager" /></div>
|
||||
<div class="container">
|
||||
<span class="eyebrow" data-i18n="bws_eyebrow">Manager DogFather — Agentur</span>
|
||||
<h1 data-i18n="bws_h1">Werde Scout für DogFather</h1>
|
||||
@@ -72,8 +72,8 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/forms.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-bewerben-scout.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/forms.js?v=202610010152"></script>
|
||||
<script src="assets/js/i18n-bewerben-scout.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+12
-12
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Bewerben — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="Werde Teil vom Team: Modi bei Team Dogi, Scout oder Creator bei Spicy Media, oder Kooperation anfragen." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,17 +20,17 @@
|
||||
<meta name="twitter:description" content="Werde Teil vom Team: Modi bei Team Dogi, Scout oder Creator bei Spicy Media, oder Kooperation anfragen." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
</head>
|
||||
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben-split.jpg?v=202609301254');--page-bg-mobile:url('/assets/img/bg-bewerben-split-mobile.jpg?v=202609301254');">
|
||||
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben-split.jpg?v=202610010152');--page-bg-mobile:url('/assets/img/bg-bewerben-split-mobile.jpg?v=202610010152');">
|
||||
<div id="site-header"></div>
|
||||
|
||||
<main>
|
||||
<section class="hero page-bg">
|
||||
<div class="hero-banner"><img src="/assets/img/bg-bewerben-split.jpg?v=202609301254" alt="" loading="eager" /></div>
|
||||
<div class="hero-banner"><img src="/assets/img/bg-bewerben-split.jpg?v=202610010152" alt="" loading="eager" /></div>
|
||||
<div class="container">
|
||||
<span class="eyebrow" data-i18n="bw_eyebrow">Werde Teil vom Team</span>
|
||||
<h1 data-i18n="bw_h1">Community oder Agentur — such dir deinen Weg</h1>
|
||||
@@ -42,7 +42,7 @@
|
||||
<div class="container">
|
||||
<div class="bewerben-showcase">
|
||||
<div class="bewerben-poster bewerben-poster-blau" aria-hidden="true">
|
||||
<img src="assets/img/bewerben-poster-dogfather.jpg?v=202609301254" alt="" loading="lazy" />
|
||||
<img src="assets/img/bewerben-poster-dogfather.jpg?v=202610010152" alt="" loading="lazy" />
|
||||
</div>
|
||||
|
||||
<div class="bewerben-split">
|
||||
@@ -78,7 +78,7 @@
|
||||
</div>
|
||||
|
||||
<div class="bewerben-poster bewerben-poster-rot" aria-hidden="true">
|
||||
<img src="assets/img/bewerben-poster-spicymedia.jpg?v=202609301254" alt="" loading="lazy" />
|
||||
<img src="assets/img/bewerben-poster-spicymedia.jpg?v=202610010152" alt="" loading="lazy" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -86,7 +86,7 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/i18n-bewerben.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-bewerben.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+17
-17
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Casper — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="Der Husky an DogFathers Seite — das tierische Gesicht der HasiDog-Welt." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,17 +20,17 @@
|
||||
<meta name="twitter:description" content="Der Husky an DogFathers Seite — das tierische Gesicht der HasiDog-Welt." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
</head>
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-casper.jpg?v=202609301254');--page-bg-mobile:url('/assets/img/bg-casper-mobile.jpg?v=202609301254');">
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-casper.jpg?v=202610010152');--page-bg-mobile:url('/assets/img/bg-casper-mobile.jpg?v=202610010152');">
|
||||
<div id="site-header"></div>
|
||||
|
||||
<main>
|
||||
<section class="hero page-bg">
|
||||
<div class="hero-banner"><img src="/assets/img/bg-casper.jpg?v=202609301254" alt="" loading="eager" /></div>
|
||||
<div class="hero-banner"><img src="/assets/img/bg-casper.jpg?v=202610010152" alt="" loading="eager" /></div>
|
||||
<div class="container">
|
||||
<span class="eyebrow" data-i18n="cas_eyebrow">Welt 2 — HasiDog</span>
|
||||
<h1>Casper 🐾</h1>
|
||||
@@ -41,12 +41,12 @@
|
||||
<section class="section-tight">
|
||||
<div class="container grid grid-2" style="align-items:center;">
|
||||
<div class="collage-photo" style="aspect-ratio:4/3;border-radius:var(--radius);">
|
||||
<img src="assets/img/casper-main.jpg?v=202609301254" alt="Casper — Husky im Sonnenuntergang" style="width:100%;height:100%;object-fit:cover;object-position:center 30%;" />
|
||||
<img src="assets/img/casper-main.jpg?v=202610010152" alt="Casper — Husky im Sonnenuntergang" style="width:100%;height:100%;object-fit:cover;object-position:center 30%;" />
|
||||
</div>
|
||||
<div>
|
||||
<h2 data-i18n="cas_wer_h2">Wer ist Casper?</h2>
|
||||
<p data-i18n="cas_wer_1">Husky Casper ist einer von DogFathers treuen Begleitern und längst Teil der Marke geworden. Zusammen mit Kater Simba gehört er zur „Familie" hinter der Kamera.</p>
|
||||
<p data-i18n="cas_wer_2">Die gemeinsame Geschichte von DogFather und Casper gibt es sogar als Buch: <strong>„Hasidog & Casper"</strong>.</p>
|
||||
<p data-i18n="cas_wer_1">Husky Casper ist einer von DogFathers treuen Begleitern und längst Teil der Marke geworden. Zusammen mit Kater Simba gehört er zur „Familie“ hinter der Kamera.</p>
|
||||
<p data-i18n="cas_wer_2">Die gemeinsame Geschichte von DogFather und Casper gibt es sogar als Buch: <strong>„Hasidog & Casper“</strong>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -73,10 +73,10 @@
|
||||
<div class="container">
|
||||
<h2 class="text-center" data-i18n="cas_galerie_h2">Casper-Galerie</h2>
|
||||
<div class="grid grid-4">
|
||||
<div class="collage-photo frame-lila" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/casper-3.jpg?v=202609301254" alt="Casper" style="width:100%;height:100%;object-fit:cover;object-position:center 20%;" /></div>
|
||||
<div class="collage-photo frame-silver" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/casper-4.jpg?v=202609301254" alt="Casper" style="width:100%;height:100%;object-fit:cover;object-position:42% center;" /></div>
|
||||
<div class="collage-photo frame-gold" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/dogfather-casper-2.jpg?v=202609301254" alt="DogFather und Casper" style="width:100%;height:100%;object-fit:cover;object-position:center 38%;" /></div>
|
||||
<div class="collage-photo frame-tuerkis" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/hasidog-casper-book.jpg?v=202609301254" alt="HasiDog & Casper Buch-Illustration" style="width:100%;height:100%;object-fit:cover;" /></div>
|
||||
<div class="collage-photo frame-lila" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/casper-3.jpg?v=202610010152" alt="Casper" style="width:100%;height:100%;object-fit:cover;object-position:center 20%;" /></div>
|
||||
<div class="collage-photo frame-silver" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/casper-4.jpg?v=202610010152" alt="Casper" style="width:100%;height:100%;object-fit:cover;object-position:42% center;" /></div>
|
||||
<div class="collage-photo frame-gold" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/dogfather-casper-2.jpg?v=202610010152" alt="DogFather und Casper" style="width:100%;height:100%;object-fit:cover;object-position:center 38%;" /></div>
|
||||
<div class="collage-photo frame-tuerkis" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/hasidog-casper-book.jpg?v=202610010152" alt="HasiDog & Casper Buch-Illustration" style="width:100%;height:100%;object-fit:cover;" /></div>
|
||||
</div>
|
||||
<div class="btn-row" style="justify-content:center;">
|
||||
<a class="btn btn-outline" href="medien-casper.html#fotos" data-i18n="cas_galerie_btn">Zur ganzen Galerie</a>
|
||||
@@ -86,7 +86,7 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/i18n-casper.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-casper.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+12
-12
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Die Community — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="Team Dogi ist Familie — die Community rund um DogFather und HasiDog." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,17 +20,17 @@
|
||||
<meta name="twitter:description" content="Team Dogi ist Familie — die Community rund um DogFather und HasiDog." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
</head>
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-community.jpg?v=202609301254');--page-bg-mobile:url('/assets/img/bg-community-mobile.jpg?v=202609301254');">
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-community.jpg?v=202610010152');--page-bg-mobile:url('/assets/img/bg-community-mobile.jpg?v=202610010152');">
|
||||
<div id="site-header"></div>
|
||||
|
||||
<main>
|
||||
<section class="hero page-bg">
|
||||
<div class="hero-banner"><img src="/assets/img/bg-community.jpg?v=202609301254" alt="" loading="eager" /></div>
|
||||
<div class="hero-banner"><img src="/assets/img/bg-community.jpg?v=202610010152" alt="" loading="eager" /></div>
|
||||
<div class="container">
|
||||
<span class="eyebrow" data-i18n="com_eyebrow">Welt 2 — HasiDog</span>
|
||||
<h1 data-i18n="com_h1">Die Community</h1>
|
||||
@@ -42,12 +42,12 @@
|
||||
<div class="container grid grid-2" style="align-items:center;">
|
||||
<div>
|
||||
<h2 data-i18n="com_mehr_h2">Mehr als Follower</h2>
|
||||
<p data-i18n="com_mehr_1">Team Dogi soll niemals nur „DogFather und Follower" sein, sondern eine echte Gemeinschaft. Jeder verdient Spotlight 🩵</p>
|
||||
<p data-i18n="com_mehr_1">Team Dogi soll niemals nur „DogFather und Follower“ sein, sondern eine echte Gemeinschaft. Jeder verdient Spotlight 🩵</p>
|
||||
<p data-i18n="com_mehr_2">Discord ist das Community-Zentrum — hier trifft man sich, tauscht sich aus und ist Teil des Alltags von Team Dogi.</p>
|
||||
<a class="btn btn-primary" href="links.html" data-i18n="com_discord_btn">Discord beitreten</a>
|
||||
</div>
|
||||
<div class="collage-photo" style="aspect-ratio:3/4;border-radius:var(--radius);">
|
||||
<img src="assets/img/community-team-dogi.jpg?v=202609301254" alt="Diene, Ghost, VanVan und Dogi bei einem gemeinsamen Treffen von Team Dogi" style="width:100%;height:100%;object-fit:cover;object-position:center 25%;" />
|
||||
<img src="assets/img/community-team-dogi.jpg?v=202610010152" alt="Diene, Ghost, VanVan und Dogi bei einem gemeinsamen Treffen von Team Dogi" style="width:100%;height:100%;object-fit:cover;object-position:center 25%;" />
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -85,7 +85,7 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/i18n-community.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-community.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+12
-12
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Creator im Team — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="Content Creator, die Teil von DogFather / Spicy Media sind." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,17 +20,17 @@
|
||||
<meta name="twitter:description" content="Content Creator, die Teil von DogFather / Spicy Media sind." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
</head>
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-creator.jpg?v=202609301254');--page-bg-mobile:url('/assets/img/bg-creator-mobile.jpg?v=202609301254');">
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-creator.jpg?v=202610010152');--page-bg-mobile:url('/assets/img/bg-creator-mobile.jpg?v=202610010152');">
|
||||
<div id="site-header"></div>
|
||||
|
||||
<main>
|
||||
<section class="hero page-bg">
|
||||
<div class="hero-banner"><img src="/assets/img/bg-creator.jpg?v=202609301254" alt="" loading="eager" /></div>
|
||||
<div class="hero-banner"><img src="/assets/img/bg-creator.jpg?v=202610010152" alt="" loading="eager" /></div>
|
||||
<div class="container">
|
||||
<span class="eyebrow" data-i18n="crt_eyebrow">Manager DogFather — Team</span>
|
||||
<h1 data-i18n="crt_h1" data-site-text-key="seitentitel_creator">Creator im Team</h1>
|
||||
@@ -61,9 +61,9 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/data-creator.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-creator.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/data-creator.js?v=202610010152"></script>
|
||||
<script src="assets/js/i18n-creator.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", async () => {
|
||||
const grid = document.getElementById("creator-grid");
|
||||
@@ -129,7 +129,7 @@ document.addEventListener("DOMContentLoaded", async () => {
|
||||
<div class="avatar">${(c.avatar || c.photo) ? `<img src="${c.avatar || c.photo}" alt="${c.name}" loading="lazy">` : `<span class="avatar-initial">${c.name.charAt(0).toUpperCase()}</span>`}</div>
|
||||
<h3>${c.name}</h3>
|
||||
<div class="role">${feld(c.role)}</div>
|
||||
${quoteText ? `<p class="quote">„${quoteText}"</p>` : ""}
|
||||
${quoteText ? `<p class="quote">„${quoteText}“</p>` : ""}
|
||||
<span class="btn btn-outline" style="margin-top:.7rem;pointer-events:none;">${uebersetzen("crt_profil_btn")}</span>
|
||||
</a>`;
|
||||
}).join("");
|
||||
|
||||
+12
-12
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Die Person, die DogFather erschuf — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="Wer ist DogFather wirklich? Persönlichkeit, Werte und die Geschichte hinter dem Content." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,17 +20,17 @@
|
||||
<meta name="twitter:description" content="Wer ist DogFather wirklich? Persönlichkeit, Werte und die Geschichte hinter dem Content." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
</head>
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-dogfather-person.jpg?v=202609301254');--page-bg-mobile:url('/assets/img/bg-dogfather-person-mobile.jpg?v=202609301254');">
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-dogfather-person.jpg?v=202610010152');--page-bg-mobile:url('/assets/img/bg-dogfather-person-mobile.jpg?v=202610010152');">
|
||||
<div id="site-header"></div>
|
||||
|
||||
<main>
|
||||
<section class="hero page-bg">
|
||||
<div class="hero-banner"><img src="/assets/img/bg-dogfather-person.jpg?v=202609301254" alt="" loading="eager" /></div>
|
||||
<div class="hero-banner"><img src="/assets/img/bg-dogfather-person.jpg?v=202610010152" alt="" loading="eager" /></div>
|
||||
<div class="container">
|
||||
<span class="eyebrow" data-i18n="df_eyebrow">Welt 1 — DogFather</span>
|
||||
<h1 data-i18n="df_h1">Die Person, die DogFather erschuf!</h1>
|
||||
@@ -41,7 +41,7 @@
|
||||
<section class="section-tight">
|
||||
<div class="container grid grid-2" style="align-items:center;">
|
||||
<div class="collage-photo" style="aspect-ratio:1/1;border-radius:var(--radius);">
|
||||
<img src="assets/img/dogfather-main.jpg?v=202609301254" alt="DogFather" style="width:100%;height:100%;object-fit:cover;object-position:center 28%;" />
|
||||
<img src="assets/img/dogfather-main.jpg?v=202610010152" alt="DogFather" style="width:100%;height:100%;object-fit:cover;object-position:center 28%;" />
|
||||
</div>
|
||||
<div>
|
||||
<h2 data-i18n="df_wer_h2">Wer ist Filipe?</h2>
|
||||
@@ -137,7 +137,7 @@
|
||||
<div class="container">
|
||||
<h2 class="text-center" data-i18n="df_neben_h2">Nebenprojekte & Leidenschaften</h2>
|
||||
<div class="grid grid-3">
|
||||
<div class="card"><h3 data-i18n="df_neben_h3_1">🎵 Musik-Produzent</h3><p data-i18n="df_neben_1">Eigene Songs und kreative Musikprojekte unter dem Namen „<a href="https://open.spotify.com/intl-de/artist/2INiE1VVJGUQdEURsltuJU" target="_blank" rel="noopener">HasiDog</a>".</p></div>
|
||||
<div class="card"><h3 data-i18n="df_neben_h3_1">🎵 Musik-Produzent</h3><p data-i18n="df_neben_1">Eigene Songs und kreative Musikprojekte unter dem Namen „<a href="https://open.spotify.com/intl-de/artist/2INiE1VVJGUQdEURsltuJU" target="_blank" rel="noopener">HasiDog</a>“.</p></div>
|
||||
<div class="card"><h3 data-i18n="df_neben_h3_2">🧸 Merchandise-Creator</h3><p data-i18n="df_neben_2">Eigene Ideen für Tassen, Decken, Popsockets, Schlüsselanhänger, Sticker und weitere Produkte.</p></div>
|
||||
<div class="card"><h3 data-i18n="df_neben_h3_3">📖 Autor</h3><p data-i18n="df_neben_3">Ein eigenes Buchprojekt rund um HasiDog und Casper.</p></div>
|
||||
<div class="card"><h3 data-i18n="df_neben_h3_4">🎨 Designer & Ideenentwickler</h3><p data-i18n="df_neben_4">Webseiten, Grafiken, Stream-Designs und neue Markenideen entstehen aus seiner eigenen kreativen Welt.</p></div>
|
||||
@@ -159,7 +159,7 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/i18n-dogfather.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-dogfather.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Zugang — DOGFATHER UNIVERSE</title>
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<!-- BUGFIX (19.08.2026, Nutzer-Report vom Handy: "hab es installiert und klappt nicht"):
|
||||
Diese Seite ist der ERSTE Bildschirm, den man ueberhaupt zu sehen bekommt (ohne gueltige
|
||||
Sitzung leitet gate.js JEDEN Aufruf hierher um) -- also auch der Bildschirm, von dem aus
|
||||
@@ -22,12 +22,12 @@
|
||||
statt des Logos. Bewusst eine eigene Datei OHNE Transparenz: iOS ersetzt Alpha durch
|
||||
Schwarz, und icon-512.png hat transparente Ecken (nachgemessen) -> haette schwarze
|
||||
Ecken gegeben. -->
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<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" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<style>
|
||||
/* =====================================================================
|
||||
Zugangsseite — bewusst kein braves Standard-Login-Formular, sondern
|
||||
@@ -200,8 +200,8 @@
|
||||
border: 2px solid rgba(143,217,234,.6);
|
||||
box-shadow: 0 0 18px rgba(143,217,234,.4), inset 0 0 10px rgba(255,255,255,.08);
|
||||
}
|
||||
.gate-card-icon--dogi { background-image: url('assets/img/vw-gate-dogi.jpg?v=202609301254'); }
|
||||
.gate-card-icon--vanvan { background-image: url('assets/img/vw-gate-vanvan.jpg?v=202609301254'); }
|
||||
.gate-card-icon--dogi { background-image: url('assets/img/vw-gate-dogi.jpg?v=202610010152'); }
|
||||
.gate-card-icon--vanvan { background-image: url('assets/img/vw-gate-vanvan.jpg?v=202610010152'); }
|
||||
.gate-card--vanvan .gate-card-icon { border-color: rgba(255,143,198,.65); }
|
||||
.gate-card-name { font-size: 1.05rem; font-weight: 800; margin: 0 0 .8rem; color: var(--text); }
|
||||
.gate-card--vanvan .gate-card-name { color: #ffd1e8; }
|
||||
@@ -233,7 +233,7 @@
|
||||
linear-gradient(110deg, #6ee7b7, #34d399, #d4af37, #6ee7b7) border-box;
|
||||
box-shadow: 0 30px 70px -25px rgba(0,0,0,.75), 0 0 50px -20px rgba(52,211,153,.35);
|
||||
}
|
||||
.gate-card-icon--diene { background-image: url('assets/img/avatar-diene.jpg?v=202609301254'); }
|
||||
.gate-card-icon--diene { background-image: url('assets/img/avatar-diene.jpg?v=202610010152'); }
|
||||
.gate-card--diene .gate-card-icon { border-color: rgba(110,231,183,.65); }
|
||||
.gate-card--diene .gate-card-name { color: #c7f5e3; }
|
||||
.gate-card--diene input:focus { border-color: rgba(52,211,153,.7); box-shadow: 0 0 0 4px rgba(52,211,153,.16); }
|
||||
@@ -299,7 +299,7 @@
|
||||
<div class="gate-stage">
|
||||
<div class="gate-logo-wrap" aria-hidden="true">
|
||||
<div class="gate-logo-glow"></div>
|
||||
<img class="gate-logo-img" src="assets/img/logo-dogfather-transparent.png?v=202609301254" alt="" width="472" height="476" />
|
||||
<img class="gate-logo-img" src="assets/img/logo-dogfather-transparent.png?v=202610010152" alt="" width="472" height="476" />
|
||||
</div>
|
||||
|
||||
<div class="card gate-box">
|
||||
|
||||
+16
-16
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>HasiDog-Welt — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="HasiDog: Maskottchen, Musikprojekt und die verspielte, familiäre Seite von Team Dogi." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,17 +20,17 @@
|
||||
<meta name="twitter:description" content="HasiDog: Maskottchen, Musikprojekt und die verspielte, familiäre Seite von Team Dogi." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
</head>
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-hasidog.jpg?v=202609301254');--page-bg-mobile:url('/assets/img/bg-hasidog-mobile.jpg?v=202609301254');">
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-hasidog.jpg?v=202610010152');--page-bg-mobile:url('/assets/img/bg-hasidog-mobile.jpg?v=202610010152');">
|
||||
<div id="site-header"></div>
|
||||
|
||||
<main>
|
||||
<section class="hero page-bg">
|
||||
<div class="hero-banner"><img src="/assets/img/bg-hasidog.jpg?v=202609301254" alt="" loading="eager" /></div>
|
||||
<div class="hero-banner"><img src="/assets/img/bg-hasidog.jpg?v=202610010152" alt="" loading="eager" /></div>
|
||||
<div class="container">
|
||||
<span class="eyebrow" data-i18n="hd_eyebrow">Welt 2 — HasiDog</span>
|
||||
<h1 data-i18n="hd_h1">Willkommen in der HasiDog-Welt</h1>
|
||||
@@ -41,11 +41,11 @@
|
||||
<section class="section-tight">
|
||||
<div class="container grid grid-2" style="align-items:center;">
|
||||
<div class="collage-photo" style="aspect-ratio:1/1;border-radius:var(--radius);background:#fff;">
|
||||
<img src="assets/img/sticker-hasidog-casper.png?v=202609301254" alt="HasiDog & Casper Sticker" style="width:100%;height:100%;object-fit:contain;padding:1rem;" />
|
||||
<img src="assets/img/sticker-hasidog-casper.png?v=202610010152" alt="HasiDog & Casper Sticker" style="width:100%;height:100%;object-fit:contain;padding:1rem;" />
|
||||
</div>
|
||||
<div>
|
||||
<h2 data-i18n="hd_was_h2">Wer ist HasiDog?</h2>
|
||||
<p data-i18n="hd_was_1">HasiDog ist mehr als ein Spitzname — es ist die verspielte, familiäre Marke rund um DogFathers Community. Unter dem Namen „Hasidog" erscheint auch die eigene Musik auf <a href="https://open.spotify.com/intl-de/artist/2INiE1VVJGUQdEURsltuJU" target="_blank" rel="noopener">Spotify</a>.</p>
|
||||
<p data-i18n="hd_was_1">HasiDog ist mehr als ein Spitzname — es ist die verspielte, familiäre Marke rund um DogFathers Community. Unter dem Namen „Hasidog“ erscheint auch die eigene Musik auf <a href="https://open.spotify.com/intl-de/artist/2INiE1VVJGUQdEURsltuJU" target="_blank" rel="noopener">Spotify</a>.</p>
|
||||
<div class="btn-row">
|
||||
<a class="btn-holo" href="streamer.html"><span class="btn-holo-spark" aria-hidden="true">💎</span><span class="btn-holo-text" data-i18n="hd_btn_erschaffer">Erschaffer</span><span class="btn-holo-spark" aria-hidden="true">💎</span></a>
|
||||
</div>
|
||||
@@ -67,7 +67,7 @@
|
||||
<p style="text-align:right;"><strong>– HasiDog 🐰</strong></p>
|
||||
</div>
|
||||
<div class="collage-photo frame-lila" style="aspect-ratio:auto;border-radius:var(--radius);">
|
||||
<img src="assets/img/char-hasidog.jpg?v=202609301254" alt="HasiDog — grauer Hase mit schwarzem Hoodie und Cap" style="width:100%;height:auto;display:block;" />
|
||||
<img src="assets/img/char-hasidog.jpg?v=202610010152" alt="HasiDog — grauer Hase mit schwarzem Hoodie und Cap" style="width:100%;height:auto;display:block;" />
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -102,7 +102,7 @@
|
||||
<p class="quote" data-i18n="hd_familie_casper_quote" style="margin-top:.6rem;">Zwei blaue Augen, ein riesiges Herz und immer mitten im Abenteuer.</p>
|
||||
</div>
|
||||
<div class="card">
|
||||
<h3 data-i18n="hd_familie_h3_buch">📖 Das Buch — „HasiDog & Casper"</h3>
|
||||
<h3 data-i18n="hd_familie_h3_buch">📖 Das Buch — „HasiDog & Casper“</h3>
|
||||
<p data-i18n="hd_familie_buch">Die Geschichte von HasiDog und Casper wird auch in Buchform erzählt. Gemeinsam erleben sie Abenteuer, überwinden Herausforderungen und zeigen, wie wichtig Freundschaft, Mut und Zusammenhalt sind. 📚✨ Das Buch verbindet Fantasie, Humor und emotionale Momente zu einer Geschichte für alle, die außergewöhnliche Figuren und echte Freundschaft lieben.</p>
|
||||
</div>
|
||||
<div class="card">
|
||||
@@ -176,10 +176,10 @@
|
||||
|
||||
<section class="section-tight">
|
||||
<div class="container text-center">
|
||||
<h2 data-i18n="hd_schlaf_h2">„Schlaft schön." 🩵</h2>
|
||||
<h2 data-i18n="hd_schlaf_h2">„Schlaft schön.“ 🩵</h2>
|
||||
<p class="lead" data-i18n="hd_schlaf_lead" style="max-width:50ch;margin:0 auto 1.4rem;">Eine Szene aus der HasiDog-&-Casper-Welt, wie sie im Buch lebendig wird.</p>
|
||||
<div class="collage-photo frame-lila" style="max-width:640px;margin:0 auto;border-radius:var(--radius);aspect-ratio:1200/654;">
|
||||
<img src="assets/img/hasidog-casper-book.jpg?v=202609301254" alt="Schlaft schön — Team Dogi Illustration" style="width:100%;height:100%;object-fit:cover;" />
|
||||
<img src="assets/img/hasidog-casper-book.jpg?v=202610010152" alt="Schlaft schön — Team Dogi Illustration" style="width:100%;height:100%;object-fit:cover;" />
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -187,7 +187,7 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/i18n-hasidog.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-hasidog.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+23
-23
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>DOGFATHER UNIVERSE — Streamer. Community. HasiDog. Manager.</title>
|
||||
<meta name="description" content="DOGFATHER UNIVERSE: die Heimat von DogFather als Streamer, der HasiDog-Community und Manager DogFather bei Spicy Media." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,10 +20,10 @@
|
||||
<meta name="twitter:description" content="DOGFATHER UNIVERSE: die Heimat von DogFather als Streamer, der HasiDog-Community und Manager DogFather bei Spicy Media." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
</head>
|
||||
<body class="start-seite">
|
||||
<div id="site-header"></div>
|
||||
@@ -42,7 +42,7 @@
|
||||
Bildschirm ist; ein CSS-Hintergrund kann das nicht, weil die Kante
|
||||
dort je nach Fensterformat woanders liegt. -->
|
||||
<div class="hero-artwork" aria-hidden="true">
|
||||
<img class="hero-artwork-scharf" src="assets/img/universe-trio.jpg?v=202609301254"
|
||||
<img class="hero-artwork-scharf" src="assets/img/universe-trio.jpg?v=202610010152"
|
||||
width="1600" height="900" alt="" fetchpriority="high" decoding="async" />
|
||||
</div>
|
||||
|
||||
@@ -170,7 +170,7 @@
|
||||
|
||||
<div class="char-showcase">
|
||||
<a class="char-card dogfather" href="streamer.html">
|
||||
<img src="assets/img/char-dogfather.jpg?v=202609301254" width="599" height="1212"
|
||||
<img src="assets/img/char-dogfather.jpg?v=202610010152" width="599" height="1212"
|
||||
alt="DogFather — Husky mit blauem Hoodie und Cap" />
|
||||
<span class="char-meta">
|
||||
<span class="char-name">DogFather</span>
|
||||
@@ -179,7 +179,7 @@
|
||||
</span>
|
||||
</a>
|
||||
<a class="char-card hasidog" href="hasidog.html">
|
||||
<img src="assets/img/char-hasidog.jpg?v=202609301254" width="599" height="1212"
|
||||
<img src="assets/img/char-hasidog.jpg?v=202610010152" width="599" height="1212"
|
||||
alt="HasiDog — grauer Hase mit schwarzem Hoodie und Cap" />
|
||||
<span class="char-meta">
|
||||
<span class="char-name">HasiDog</span>
|
||||
@@ -198,23 +198,23 @@
|
||||
<h2>DogFather & Casper</h2>
|
||||
<div class="collage-wrap" id="collage-wrap">
|
||||
<div class="collage-item">
|
||||
<div class="collage-photo"><img class="collage-img" data-fallback="DogFather" src="assets/img/dogfather-portrait.jpg?v=202609301254" alt="DogFather" style="object-position:center top;"></div>
|
||||
<div class="collage-photo"><img class="collage-img" data-fallback="DogFather" src="assets/img/dogfather-portrait.jpg?v=202610010152" alt="DogFather" style="object-position:center top;"></div>
|
||||
<p class="collage-caption">DogFather 🩵</p>
|
||||
</div>
|
||||
<div class="collage-item">
|
||||
<div class="collage-photo frame-lila"><img class="collage-img" data-fallback="Casper" src="assets/img/casper-1.jpg?v=202609301254" alt="Casper" style="object-position:center top;"></div>
|
||||
<div class="collage-photo frame-lila"><img class="collage-img" data-fallback="Casper" src="assets/img/casper-1.jpg?v=202610010152" alt="Casper" style="object-position:center top;"></div>
|
||||
<p class="collage-caption">Casper 🐾</p>
|
||||
</div>
|
||||
<div class="collage-item">
|
||||
<div class="collage-photo frame-silver"><img class="collage-img" data-fallback="DogFather & Casper" src="assets/img/dogfather-casper-1.jpg?v=202609301254" alt="DogFather und Casper zusammen" style="object-position:center 18%;"></div>
|
||||
<div class="collage-photo frame-silver"><img class="collage-img" data-fallback="DogFather & Casper" src="assets/img/dogfather-casper-1.jpg?v=202610010152" alt="DogFather und Casper zusammen" style="object-position:center 18%;"></div>
|
||||
<p class="collage-caption" data-i18n="idx_collage_cap_team">Team 🩵🐾</p>
|
||||
</div>
|
||||
<div class="collage-item">
|
||||
<div class="collage-photo frame-gold"><img class="collage-img" data-fallback="Casper" src="assets/img/casper-2.jpg?v=202609301254" alt="Casper"></div>
|
||||
<div class="collage-photo frame-gold"><img class="collage-img" data-fallback="Casper" src="assets/img/casper-2.jpg?v=202610010152" alt="Casper"></div>
|
||||
<p class="collage-caption" data-i18n="idx_collage_cap_huskylife">Husky-Life</p>
|
||||
</div>
|
||||
<div class="collage-item">
|
||||
<div class="collage-photo frame-tuerkis"><img class="collage-img" data-fallback="DogFather & Casper" src="assets/img/dogfather-casper-2.jpg?v=202609301254" alt="DogFather und Casper Nase an Nase"></div>
|
||||
<div class="collage-photo frame-tuerkis"><img class="collage-img" data-fallback="DogFather & Casper" src="assets/img/dogfather-casper-2.jpg?v=202610010152" alt="DogFather und Casper Nase an Nase"></div>
|
||||
<p class="collage-caption" data-i18n="idx_collage_cap_nose">Nase an Nase 🩵</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -277,10 +277,10 @@
|
||||
<div class="container">
|
||||
<h2 class="text-center" data-i18n="idx_galerie_h2">Impressionen</h2>
|
||||
<div class="grid grid-4">
|
||||
<div class="collage-photo" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/casper-3.jpg?v=202609301254" alt="Casper" style="width:100%;height:100%;object-fit:cover;object-position:center 20%;" /></div>
|
||||
<div class="collage-photo frame-lila" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/card-vanvan.jpg?v=202609301254" alt="VanVan" style="width:100%;height:100%;object-fit:cover;" /></div>
|
||||
<div class="collage-photo frame-silver" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/casper-4.jpg?v=202609301254" alt="Casper" style="width:100%;height:100%;object-fit:cover;object-position:42% center;" /></div>
|
||||
<div class="collage-photo frame-gold" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/card-dogfather.jpg?v=202609301254" alt="DogFather" style="width:100%;height:100%;object-fit:cover;" /></div>
|
||||
<div class="collage-photo" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/casper-3.jpg?v=202610010152" alt="Casper" style="width:100%;height:100%;object-fit:cover;object-position:center 20%;" /></div>
|
||||
<div class="collage-photo frame-lila" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/card-vanvan.jpg?v=202610010152" alt="VanVan" style="width:100%;height:100%;object-fit:cover;" /></div>
|
||||
<div class="collage-photo frame-silver" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/casper-4.jpg?v=202610010152" alt="Casper" style="width:100%;height:100%;object-fit:cover;object-position:42% center;" /></div>
|
||||
<div class="collage-photo frame-gold" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/card-dogfather.jpg?v=202610010152" alt="DogFather" style="width:100%;height:100%;object-fit:cover;" /></div>
|
||||
</div>
|
||||
<div class="btn-row" style="justify-content:center;">
|
||||
<a class="btn btn-outline" href="medien-dogfather.html" data-i18n="idx_galerie_btn">Zur ganzen Galerie</a>
|
||||
@@ -293,7 +293,7 @@
|
||||
<div class="container text-center">
|
||||
<span class="eyebrow" data-i18n="idx_testimonial_eyebrow">Was andere sagen</span>
|
||||
<div class="card" style="max-width:640px;margin:1rem auto 0;">
|
||||
<p class="quote" data-i18n="idx_testimonial_quote" style="font-size:1.15rem;">„Hier stehen bald echte Stimmen aus der Community. 🩵"</p>
|
||||
<p class="quote" data-i18n="idx_testimonial_quote" style="font-size:1.15rem;">„Hier stehen bald echte Stimmen aus der Community. 🩵“</p>
|
||||
<p class="small muted" data-i18n="idx_testimonial_attrib">— Team Dogi</p>
|
||||
</div>
|
||||
<div class="btn-row" style="justify-content:center;">
|
||||
@@ -319,10 +319,10 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/data-modis.js?v=202609301254"></script>
|
||||
<script src="assets/js/data-scouts.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-index.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/data-modis.js?v=202610010152"></script>
|
||||
<script src="assets/js/data-scouts.js?v=202610010152"></script>
|
||||
<script src="assets/js/i18n-index.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
<script>
|
||||
// Gleiche URL wie in assets/js/forms.js / postfach.html — läuft seit
|
||||
// 05.08.2026 auf dem eigenen Server statt auf Cloudflare Workers.
|
||||
|
||||
+10
-10
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Kontakt & Rechtliches — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="Kontakt, Impressum und Datenschutz von DOGFATHER UNIVERSE." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,10 +20,10 @@
|
||||
<meta name="twitter:description" content="Kontakt, Impressum und Datenschutz von DOGFATHER UNIVERSE." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="site-header"></div>
|
||||
@@ -64,7 +64,7 @@
|
||||
E-Mail: <a href="mailto:[email protected]">[email protected]</a><br><br>
|
||||
<strong>EU-Streitschlichtung:</strong> Die Europäische Kommission stellt eine Plattform zur Online-Streitbeilegung (OS) bereit: <a href="https://ec.europa.eu/consumers/odr/" target="_blank" rel="noopener">https://ec.europa.eu/consumers/odr/</a>. Unsere E-Mail-Adresse finden Sie oben im Impressum.<br><br>
|
||||
<strong>Verbraucherstreitbeilegung:</strong> Wir sind nicht bereit oder verpflichtet, an Streitbeilegungsverfahren vor einer Verbraucherschlichtungsstelle teilzunehmen.<br><br>
|
||||
DOGFATHER UNIVERSE ist ein persönliches Content-/Community-Projekt von Filipe Pereira Queiroz (Künstlername „Dogfather"). Es besteht keine Verbindung dieser Angaben zu Namen weiterer auf der Seite gezeigter Personen (z. B. Team-/Community-Mitglieder), die ausschließlich mit ihren Spitz-/Künstlernamen auftreten.
|
||||
DOGFATHER UNIVERSE ist ein persönliches Content-/Community-Projekt von Filipe Pereira Queiroz (Künstlername „Dogfather“). Es besteht keine Verbindung dieser Angaben zu Namen weiterer auf der Seite gezeigter Personen (z. B. Team-/Community-Mitglieder), die ausschließlich mit ihren Spitz-/Künstlernamen auftreten.
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
@@ -90,7 +90,7 @@
|
||||
<li>Lokaler Browser-Speicher (localStorage/sessionStorage) für Login-Sitzungen im Supporter-/DogiCrew-Bereich sowie im internen Verwaltungsbereich — verbleibt ausschließlich auf deinem Gerät und wird nicht an Dritte weitergegeben.</li>
|
||||
</ul>
|
||||
|
||||
<p><strong>4. „Weiter mit Google" (Google Sign-In)</strong><br>
|
||||
<p><strong>4. „Weiter mit Google“ (Google Sign-In)</strong><br>
|
||||
Im DogiCrew-/Supporter-Bereich kann optional die Anmeldung über Google genutzt werden. Dabei findet eine Datenübertragung an Google Ireland Limited (Gordon House, Barrow Street, Dublin 4, Irland) statt. Es werden nur Name, E-Mail-Adresse und Profilbild übermittelt, um ein Konto zu erstellen bzw. zuzuordnen. Rechtsgrundlage ist deine Einwilligung (Art. 6 Abs. 1 lit. a DSGVO) durch aktive Nutzung des Buttons. Näheres: <a href="https://policies.google.com/privacy" target="_blank" rel="noopener">policies.google.com/privacy</a>.</p>
|
||||
|
||||
<p><strong>5. Zahlungsabwicklung (PayPal)</strong><br>
|
||||
@@ -127,7 +127,7 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/i18n-kontakt.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-kontakt.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+13
-13
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Alle Links — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="Alle Social-Media- und Musik-Links von DogFather an einem Ort — plus QR-Codes." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,10 +20,10 @@
|
||||
<meta name="twitter:description" content="Alle Social-Media- und Musik-Links von DogFather an einem Ort — plus QR-Codes." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
<style>
|
||||
/* Rabattcodes: an ein KONTO gekoppelt, seit 08.09.2026.
|
||||
|
||||
@@ -68,12 +68,12 @@
|
||||
.rabatt-gesperrt-knoepfe { display: flex; gap: .6rem; flex-wrap: wrap; }
|
||||
</style>
|
||||
</head>
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-links-seite.jpg?v=202609301254');--page-bg-mobile:url('/assets/img/bg-links-seite-mobile.jpg?v=202609301254');">
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-links-seite.jpg?v=202610010152');--page-bg-mobile:url('/assets/img/bg-links-seite-mobile.jpg?v=202610010152');">
|
||||
<div id="site-header"></div>
|
||||
|
||||
<main>
|
||||
<section class="hero page-bg">
|
||||
<div class="hero-banner"><img src="/assets/img/bg-links-seite.jpg?v=202609301254" alt="" loading="eager" /></div>
|
||||
<div class="hero-banner"><img src="/assets/img/bg-links-seite.jpg?v=202610010152" alt="" loading="eager" /></div>
|
||||
<div class="container">
|
||||
<span class="eyebrow" data-i18n="lk_eyebrow">🩵 Alle Links</span>
|
||||
<h1 data-i18n="lk_h1">Alles an einem Ort</h1>
|
||||
@@ -165,15 +165,15 @@
|
||||
<h2 class="text-center" data-i18n="lk_qr_h2">QR-Codes</h2>
|
||||
<div class="grid grid-3" style="max-width:800px;margin:0 auto;">
|
||||
<div class="card qr-card">
|
||||
<img src="assets/qr/qr-instagram.png?v=202609301254" alt="QR-Code Instagram @sf0118" style="width:160px;height:160px;object-fit:contain;margin:0 auto 1rem;border-radius:10px;display:block;" />
|
||||
<img src="assets/qr/qr-instagram.png?v=202610010152" alt="QR-Code Instagram @sf0118" style="width:160px;height:160px;object-fit:contain;margin:0 auto 1rem;border-radius:10px;display:block;" />
|
||||
<p class="small">Instagram</p>
|
||||
</div>
|
||||
<div class="card qr-card">
|
||||
<img src="assets/qr/qr-snapchat.png?v=202609301254" alt="QR-Code Snapchat dogfather0804" style="width:160px;height:160px;object-fit:contain;margin:0 auto 1rem;border-radius:10px;display:block;" />
|
||||
<img src="assets/qr/qr-snapchat.png?v=202610010152" alt="QR-Code Snapchat dogfather0804" style="width:160px;height:160px;object-fit:contain;margin:0 auto 1rem;border-radius:10px;display:block;" />
|
||||
<p class="small">Snapchat</p>
|
||||
</div>
|
||||
<div class="card qr-card">
|
||||
<img src="assets/qr/qr-teilen-baustein.png?v=202609301254" alt="QR-Code Dogis persönlicher Teilen-Baustein" style="width:160px;height:160px;object-fit:contain;margin:0 auto 1rem;border-radius:10px;display:block;" />
|
||||
<img src="assets/qr/qr-teilen-baustein.png?v=202610010152" alt="QR-Code Dogis persönlicher Teilen-Baustein" style="width:160px;height:160px;object-fit:contain;margin:0 auto 1rem;border-radius:10px;display:block;" />
|
||||
<p class="small" data-i18n="lk_qr_teilen">Dogis persönlicher Teilen-Baustein</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -183,8 +183,8 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/i18n-links.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-links.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
<script>
|
||||
(function () {
|
||||
document.addEventListener("DOMContentLoaded", function () {
|
||||
|
||||
+14
-14
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Manager DogFather — Spicy Media — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="DogFather als Manager bei der Spicy Media Agency: Scouts, Creator und faire Zusammenarbeit." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,17 +20,17 @@
|
||||
<meta name="twitter:description" content="DogFather als Manager bei der Spicy Media Agency: Scouts, Creator und faire Zusammenarbeit." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
</head>
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-manager.jpg?v=202609301254');--page-bg-mobile:url('/assets/img/bg-manager-mobile.jpg?v=202609301254');">
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-manager.jpg?v=202610010152');--page-bg-mobile:url('/assets/img/bg-manager-mobile.jpg?v=202610010152');">
|
||||
<div id="site-header"></div>
|
||||
|
||||
<main>
|
||||
<section class="hero page-bg">
|
||||
<div class="hero-banner"><img src="/assets/img/bg-manager.jpg?v=202609301254" alt="" loading="eager" /></div>
|
||||
<div class="hero-banner"><img src="/assets/img/bg-manager.jpg?v=202610010152" alt="" loading="eager" /></div>
|
||||
<div class="container">
|
||||
<span class="eyebrow" data-i18n="mgr_eyebrow">Welt 3 — Manager DogFather</span>
|
||||
<h1 data-i18n="mgr_h1">Manager DogFather bei Spicy Media</h1>
|
||||
@@ -45,7 +45,7 @@
|
||||
<section class="section-tight">
|
||||
<div class="container grid grid-2" style="align-items:center;gap:2.6rem;">
|
||||
<div class="collage-photo frame-rot" style="aspect-ratio:1122/1402;border-radius:var(--radius);">
|
||||
<img src="assets/img/manager-dogfather-portrait.jpg?v=202609301254" alt="DogFather — Manager bei Spicy Media"
|
||||
<img src="assets/img/manager-dogfather-portrait.jpg?v=202610010152" alt="DogFather — Manager bei Spicy Media"
|
||||
style="width:100%;height:100%;object-fit:cover;" />
|
||||
</div>
|
||||
<div>
|
||||
@@ -91,7 +91,7 @@
|
||||
<a class="btn-tiktok" href="https://www.tiktok.com/@spicymediaagentur" target="_blank" rel="noopener" style="margin-top:1rem;"><span class="btn-tiktok-note" aria-hidden="true">♪</span><span class="btn-tiktok-text">TikTok</span></a>
|
||||
</div>
|
||||
<div class="collage-photo frame-rot" style="aspect-ratio:1/1;border-radius:var(--radius);background:#000;">
|
||||
<img src="assets/img/spicy-media-logo.jpg?v=202609301254" alt="Spicy Media Agency Logo"
|
||||
<img src="assets/img/spicy-media-logo.jpg?v=202610010152" alt="Spicy Media Agency Logo"
|
||||
style="width:100%;height:100%;object-fit:contain;padding:1.6rem;" />
|
||||
</div>
|
||||
</div>
|
||||
@@ -140,9 +140,9 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/data-manager.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-manager.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/data-manager.js?v=202610010152"></script>
|
||||
<script src="assets/js/i18n-manager.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
<script>
|
||||
// "Weitere Manager" (21.08.2026) -- siehe Kommentar bei #weitere-manager-root
|
||||
// oben. Aktuell IMMER window.MANAGERS === [] (siehe data-manager.js), Inhalt
|
||||
@@ -169,7 +169,7 @@ document.addEventListener("DOMContentLoaded", () => {
|
||||
<div class="avatar">${(m.avatar || m.photo) ? `<img src="${m.avatar || m.photo}" alt="${m.name}" loading="lazy">` : `<span class="avatar-initial">${m.name.charAt(0).toUpperCase()}</span>`}</div>
|
||||
<h3>${m.name}</h3>
|
||||
<div class="role">${feld(m.role)}</div>
|
||||
${quoteText ? `<p class="quote">„${quoteText}"</p>` : ""}
|
||||
${quoteText ? `<p class="quote">„${quoteText}“</p>` : ""}
|
||||
<span class="btn btn-outline" style="margin-top:.7rem;pointer-events:none;">${t("mgr_weitere_profil_btn")}</span>
|
||||
</a>`;
|
||||
}).join("");
|
||||
|
||||
+13
-13
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Medien — Casper — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="Fotos und Videos rund um Husky Casper an einem Ort." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,17 +20,17 @@
|
||||
<meta name="twitter:description" content="Fotos und Videos rund um Husky Casper an einem Ort." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
</head>
|
||||
<body class="mit-hintergrund" data-welt="casper" style="--page-bg:url('/assets/img/bg-medien-casper.jpg?v=202609301254');--page-bg-mobile:url('/assets/img/bg-medien-casper-mobile.jpg?v=202609301254');">
|
||||
<body class="mit-hintergrund" data-welt="casper" style="--page-bg:url('/assets/img/bg-medien-casper.jpg?v=202610010152');--page-bg-mobile:url('/assets/img/bg-medien-casper-mobile.jpg?v=202610010152');">
|
||||
<div id="site-header"></div>
|
||||
|
||||
<main>
|
||||
<section class="hero page-bg">
|
||||
<div class="hero-banner"><img src="/assets/img/bg-medien-casper.jpg?v=202609301254" alt="" loading="eager" /></div>
|
||||
<div class="hero-banner"><img src="/assets/img/bg-medien-casper.jpg?v=202610010152" alt="" loading="eager" /></div>
|
||||
<div class="container">
|
||||
<span class="eyebrow" data-i18n="mc_eyebrow">Welt 2 — HasiDog</span>
|
||||
<h1 data-i18n="mc_h1">Medien — Casper</h1>
|
||||
@@ -60,10 +60,10 @@
|
||||
</div>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/data-media.js?v=202609301254"></script>
|
||||
<script src="assets/js/data-videos.js?v=202609301254"></script>
|
||||
<script src="assets/js/medien-welt.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-medien-casper.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/data-media.js?v=202610010152"></script>
|
||||
<script src="assets/js/data-videos.js?v=202610010152"></script>
|
||||
<script src="assets/js/medien-welt.js?v=202610010152"></script>
|
||||
<script src="assets/js/i18n-medien-casper.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+14
-14
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Medien — DogFather — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="Fotos, Videos und Events aus DogFathers Welt an einem Ort." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,17 +20,17 @@
|
||||
<meta name="twitter:description" content="Fotos, Videos und Events aus DogFathers Welt an einem Ort." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
</head>
|
||||
<body class="mit-hintergrund" data-welt="dogfather" style="--page-bg:url('/assets/img/bg-dogfather.jpg?v=202609301254');--page-bg-mobile:url('/assets/img/bg-dogfather-mobile.jpg?v=202609301254');">
|
||||
<body class="mit-hintergrund" data-welt="dogfather" style="--page-bg:url('/assets/img/bg-dogfather.jpg?v=202610010152');--page-bg-mobile:url('/assets/img/bg-dogfather-mobile.jpg?v=202610010152');">
|
||||
<div id="site-header"></div>
|
||||
|
||||
<main>
|
||||
<section class="hero page-bg">
|
||||
<div class="hero-banner"><img src="/assets/img/bg-dogfather.jpg?v=202609301254" alt="" loading="eager" /></div>
|
||||
<div class="hero-banner"><img src="/assets/img/bg-dogfather.jpg?v=202610010152" alt="" loading="eager" /></div>
|
||||
<div class="container">
|
||||
<span class="eyebrow" data-i18n="md_eyebrow">Welt 1 — DogFather</span>
|
||||
<h1 data-i18n="md_h1">Medien — DogFather</h1>
|
||||
@@ -66,11 +66,11 @@
|
||||
</div>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/data-media.js?v=202609301254"></script>
|
||||
<script src="assets/js/data-videos.js?v=202609301254"></script>
|
||||
<script src="assets/js/data-aktionen.js?v=202609301254"></script>
|
||||
<script src="assets/js/medien-welt.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-medien-dogfather.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/data-media.js?v=202610010152"></script>
|
||||
<script src="assets/js/data-videos.js?v=202610010152"></script>
|
||||
<script src="assets/js/data-aktionen.js?v=202610010152"></script>
|
||||
<script src="assets/js/medien-welt.js?v=202610010152"></script>
|
||||
<script src="assets/js/i18n-medien-dogfather.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+14
-14
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Medien — HasiDog — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="Fotos, Videos und Events aus der HasiDog-Welt an einem Ort." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,17 +20,17 @@
|
||||
<meta name="twitter:description" content="Fotos, Videos und Events aus der HasiDog-Welt an einem Ort." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
</head>
|
||||
<body class="mit-hintergrund" data-welt="hasidog" style="--page-bg:url('/assets/img/bg-medien-hasidog.jpg?v=202609301254');--page-bg-mobile:url('/assets/img/bg-medien-hasidog-mobile.jpg?v=202609301254');">
|
||||
<body class="mit-hintergrund" data-welt="hasidog" style="--page-bg:url('/assets/img/bg-medien-hasidog.jpg?v=202610010152');--page-bg-mobile:url('/assets/img/bg-medien-hasidog-mobile.jpg?v=202610010152');">
|
||||
<div id="site-header"></div>
|
||||
|
||||
<main>
|
||||
<section class="hero page-bg">
|
||||
<div class="hero-banner"><img src="/assets/img/bg-medien-hasidog.jpg?v=202609301254" alt="" loading="eager" /></div>
|
||||
<div class="hero-banner"><img src="/assets/img/bg-medien-hasidog.jpg?v=202610010152" alt="" loading="eager" /></div>
|
||||
<div class="container">
|
||||
<span class="eyebrow" data-i18n="mh_eyebrow">Welt 2 — HasiDog</span>
|
||||
<h1 data-i18n="mh_h1">Medien — HasiDog</h1>
|
||||
@@ -66,11 +66,11 @@
|
||||
</div>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/data-media.js?v=202609301254"></script>
|
||||
<script src="assets/js/data-videos.js?v=202609301254"></script>
|
||||
<script src="assets/js/data-aktionen.js?v=202609301254"></script>
|
||||
<script src="assets/js/medien-welt.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-medien-hasidog.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/data-media.js?v=202610010152"></script>
|
||||
<script src="assets/js/data-videos.js?v=202610010152"></script>
|
||||
<script src="assets/js/data-aktionen.js?v=202610010152"></script>
|
||||
<script src="assets/js/medien-welt.js?v=202610010152"></script>
|
||||
<script src="assets/js/i18n-medien-hasidog.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+14
-14
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Profil — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="Team Dogi — persönliche Vorstellung." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -17,10 +17,10 @@
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta name="robots" content="noindex" /> <!-- generische URL, echte Team-Seiten verlinken hierher -->
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
<style>
|
||||
.profil-photo { aspect-ratio: 4/5; max-width: 420px; margin: 0 auto; }
|
||||
.profil-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
|
||||
@@ -131,12 +131,12 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/data-modis.js?v=202609301254"></script>
|
||||
<script src="assets/js/data-scouts.js?v=202609301254"></script>
|
||||
<script src="assets/js/data-creator.js?v=202609301254"></script>
|
||||
<script src="assets/js/data-manager.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-profil.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/data-modis.js?v=202610010152"></script>
|
||||
<script src="assets/js/data-scouts.js?v=202610010152"></script>
|
||||
<script src="assets/js/data-creator.js?v=202610010152"></script>
|
||||
<script src="assets/js/data-manager.js?v=202610010152"></script>
|
||||
<script src="assets/js/i18n-profil.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", async () => {
|
||||
const slug = new URLSearchParams(location.search).get("p") || "";
|
||||
@@ -194,8 +194,8 @@ document.addEventListener("DOMContentLoaded", async () => {
|
||||
// mehr oben im Kopfbereich, damit das Profil der Person (Foto/Name/Bio)
|
||||
// sofort beim Öffnen der Seite im Fokus steht, ohne Banner davor.
|
||||
const bgBasis = istScout || istCreator || istManager ? "bg-scouts" : "bg-dogfather";
|
||||
document.body.style.setProperty("--page-bg", `url('/assets/img/${bgBasis}.jpg?v=202609301254')`);
|
||||
document.body.style.setProperty("--page-bg-mobile", `url('/assets/img/${bgBasis}-mobile.jpg?v=202609301254')`);
|
||||
document.body.style.setProperty("--page-bg", `url('/assets/img/${bgBasis}.jpg?v=202610010152')`);
|
||||
document.body.style.setProperty("--page-bg-mobile", `url('/assets/img/${bgBasis}-mobile.jpg?v=202610010152')`);
|
||||
|
||||
document.title = `${person.name} — DOGFATHER UNIVERSE`;
|
||||
|
||||
|
||||
+11
-11
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Rabattcodes — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="Rabattcodes von Dogis Partnern für Team Dogi — spar bares Geld bei ausgewählten Marken." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,10 +20,10 @@
|
||||
<meta name="twitter:description" content="Rabattcodes von Dogis Partnern für Team Dogi — spar bares Geld bei ausgewählten Marken." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
<style>
|
||||
.code-platzhalter {
|
||||
max-width: 620px;
|
||||
@@ -397,12 +397,12 @@
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-links.jpg?v=202609301254');--page-bg-mobile:url('/assets/img/bg-links-mobile.jpg?v=202609301254');">
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-links.jpg?v=202610010152');--page-bg-mobile:url('/assets/img/bg-links-mobile.jpg?v=202610010152');">
|
||||
<div id="site-header"></div>
|
||||
|
||||
<main>
|
||||
<section class="hero page-bg">
|
||||
<div class="hero-banner"><img src="/assets/img/bg-links.jpg?v=202609301254" alt="" loading="eager" /></div>
|
||||
<div class="hero-banner"><img src="/assets/img/bg-links.jpg?v=202610010152" alt="" loading="eager" /></div>
|
||||
<div class="container">
|
||||
<span class="eyebrow" data-i18n="rc_eyebrow">🔒 Nur mit Konto</span>
|
||||
<h1 data-i18n="rc_h1">Rabattcodes</h1>
|
||||
@@ -420,7 +420,7 @@
|
||||
<div class="rc-medaillon">
|
||||
<span class="rc-raendel" aria-hidden="true"></span>
|
||||
<span class="rc-glanz" aria-hidden="true"></span>
|
||||
<img src="/assets/img/partner-vandiy.webp?v=202609301254" width="384" height="384"
|
||||
<img src="/assets/img/partner-vandiy.webp?v=202610010152" width="384" height="384"
|
||||
alt="Logo von Van’s DIY & Bastelbedarf"
|
||||
data-i18n-attr="alt:rc_logo_alt" loading="lazy" decoding="async" />
|
||||
<span class="rc-schliff" aria-hidden="true"></span>
|
||||
@@ -475,8 +475,8 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/i18n-rabattcodes.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-rabattcodes.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
<script>
|
||||
(function () {
|
||||
/* Ablaufdatum von DOGI10 — dieselbe Angabe wie "bis" in
|
||||
|
||||
+121
-1
@@ -28,7 +28,7 @@
|
||||
werden. Eine Pruefung, die immer bestaetigt, bestaetigt nichts. */
|
||||
|
||||
import { readFileSync, readdirSync, existsSync, statSync } from "node:fs";
|
||||
import { join, dirname, resolve } from "node:path";
|
||||
import { sep, join, dirname, resolve } from "node:path";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import { brotliCompressSync, constants } from "node:zlib";
|
||||
|
||||
@@ -772,6 +772,126 @@ console.log(`\n=== Laedt jedes Server-Modul? ===`);
|
||||
Deshalb wird es hier gesucht, statt darauf zu warten, dass es wieder
|
||||
jemanden trifft. Gemeint ist nur das TAGESDATUM; ein Zeitstempel
|
||||
(`erstellt`) darf und soll UTC sein. */
|
||||
console.log(`\n=== Das deutsche Schlusszeichen ===`);
|
||||
/* ===================================================================
|
||||
AM 01.10.2026 NACHGEMESSEN: 199 Stellen, die ein Mensch liest,
|
||||
schlossen ein deutsches Anfuehrungszeichen mit einem GERADEN " --
|
||||
auf sechzehn oeffentlichen Seiten, in vierzig Dateien des
|
||||
Workspace und in zwoelf Servermodulen, die Texte verschicken.
|
||||
|
||||
Deutsch oeffnet mit \u201E und schliesst mit \u201C. Auf dem
|
||||
Bildschirm sieht man den Unterschied sofort; beim Schreiben nicht,
|
||||
denn das gerade " liegt auf der Tastatur und die anderen nicht.
|
||||
Ohne Wache sind es in vier Wochen wieder zwanzig.
|
||||
|
||||
WAS BEWUSST STEHEN BLEIBT -- und warum die Regel so und nicht
|
||||
einfacher ist: Ein gerades " ist an vielen Stellen SYNTAX und kein
|
||||
Schriftzeichen. Es begrenzt eine Zeichenkette, ein HTML-Attribut
|
||||
oder steht in einem regulaeren Ausdruck. Ein erster Anlauf, der
|
||||
stumpf ersetzte, musste zurueckgenommen werden.
|
||||
|
||||
Die Unterscheidung laeuft an Merkmalen, nicht an einer Liste von
|
||||
Ausnahmen:
|
||||
< > = dazwischen -> HTML-Marke oder Attribut
|
||||
endet auf Leerzeichen -> die Zeichenkette hoert hier auf, der
|
||||
Satz geht in der naechsten Zeile weiter. Ein deutsches
|
||||
Schlusszeichen steht NIE hinter einem Leerzeichen.
|
||||
Rueckstrich mittendrin -> regulaerer Ausdruck
|
||||
${ ohne } -> mitten in einem Ausdruck
|
||||
=================================================================== */
|
||||
{
|
||||
const AUF = "\u201E"; /* „ */
|
||||
const ZU = "\u201C"; /* “ */
|
||||
/* Zusammengesetzt und nicht ausgeschrieben: Sonst zeigte diese
|
||||
Datei sich beim naechsten Lauf selbst an. */
|
||||
const suche = new RegExp(AUF + '([^' + ZU + AUF + '"`\n]{1,140})"', "g");
|
||||
|
||||
const warumNicht = (innen) => {
|
||||
if (/[<>=]/.test(innen)) return "HTML-Marke oder Attribut";
|
||||
if (innen.endsWith(" ")) return "Satz geht in der naechsten Zeile weiter";
|
||||
if (innen.replace(/\\+$/, "").includes("\\")) return "regulaerer Ausdruck";
|
||||
if ((innen.match(/\$\{/g) || []).length !== (innen.match(/\}/g) || []).length) {
|
||||
return "offener Ausdruck";
|
||||
}
|
||||
return null;
|
||||
};
|
||||
|
||||
/* WAS EIN MENSCH LIEST: die oeffentlichen Seiten, der Workspace und
|
||||
die Servermodule, die Texte verschicken. Pruef- und Messdateien
|
||||
schreiben nur in meine Konsole -- dort waere es Kosmetik, und
|
||||
eine Wache, die auch Kosmetik anmahnt, wird weggeklickt. */
|
||||
const sammeln = (ordner, tiefe = 0) => {
|
||||
const raus = [];
|
||||
for (const e of readdirSync(ordner, { withFileTypes: true })) {
|
||||
if (e.name === "node_modules" || e.name.startsWith(".")) continue;
|
||||
const voll = join(ordner, e.name);
|
||||
if (e.isDirectory()) { if (tiefe < 4) raus.push(...sammeln(voll, tiefe + 1)); continue; }
|
||||
if (/\.(js|mjs|html|css)$/.test(e.name)) raus.push(voll);
|
||||
}
|
||||
return raus;
|
||||
};
|
||||
const dateien = [
|
||||
...sammeln(join(SERVER, "..", "workspace")),
|
||||
...sammeln(join(SERVER, "..", "assets")),
|
||||
...readdirSync(join(SERVER, "..")).filter((n) => n.endsWith(".html"))
|
||||
.map((n) => join(SERVER, "..", n)),
|
||||
...readdirSync(SERVER).filter((n) => n.startsWith("workspace-") && n.endsWith(".js"))
|
||||
.map((n) => join(SERVER, n)),
|
||||
];
|
||||
ok(dateien.length > 100, `${dateien.length} Dateien mit sichtbarem Text angesehen`);
|
||||
|
||||
const falsch = [];
|
||||
const stehenGelassen = [];
|
||||
for (const pfad of dateien) {
|
||||
const art = pfad.slice(pfad.lastIndexOf("."));
|
||||
let text = readFileSync(pfad, "utf8")
|
||||
.replace(/\/\*[\s\S]*?\*\//g, (m) => m.replace(/[^\n]/g, " "))
|
||||
.replace(/<!--[\s\S]*?-->/g, (m) => m.replace(/[^\n]/g, " "));
|
||||
if (art === ".js" || art === ".mjs") {
|
||||
text = text.replace(/^\s*\/\/.*$/gm, "");
|
||||
}
|
||||
/* Der Pfad AB DER WURZEL des Projekts -- ein abgeschnittener
|
||||
Pfad ist eine Meldung, der man nicht folgen kann. */
|
||||
const kurz = pfad.split(sep).join("/").split("/DogiHompage/").pop();
|
||||
for (const t of text.matchAll(suche)) {
|
||||
const zeile = text.slice(0, t.index).split("\n").length;
|
||||
const nein = warumNicht(t[1]);
|
||||
if (nein) stehenGelassen.push(`${kurz}:${zeile} (${nein})`);
|
||||
else falsch.push(`${kurz}:${zeile} ${AUF}${t[1].slice(0, 40)}"`);
|
||||
}
|
||||
}
|
||||
ok(falsch.length === 0,
|
||||
falsch.length
|
||||
? `schliessen ein deutsches Anfuehrungszeichen mit einem geraden ":\n `
|
||||
+ falsch.slice(0, 15).join("\n ")
|
||||
+ (falsch.length > 15 ? `\n ... und ${falsch.length - 15} weitere` : "")
|
||||
: `kein sichtbarer Text schliesst mit einem geraden " (${dateien.length} Dateien)`);
|
||||
|
||||
/* DIE AUSNAHMEN WERDEN GEZAEHLT UND GENANNT. Eine Ausnahme, die
|
||||
niemand sieht, waechst -- und irgendwann steht der echte Fall
|
||||
darin und faellt nicht mehr auf. */
|
||||
ok(stehenGelassen.length <= 12,
|
||||
`${stehenGelassen.length} Stellen bleiben mit Grund stehen`
|
||||
+ ` (erlaubt: 12) — ${stehenGelassen.slice(0, 3).join(", ") || "—"}`);
|
||||
|
||||
/* ---- GEGENPROBEN ------------------------------------------------ */
|
||||
const findet = (code) => {
|
||||
const treffer = [...code.matchAll(new RegExp(suche.source, "g"))];
|
||||
return treffer.filter((t) => !warumNicht(t[1])).length;
|
||||
};
|
||||
ok(findet(`Er sagte ${AUF}hallo".`) === 1,
|
||||
"Gegenprobe: ein gerades Schlusszeichen faellt auf");
|
||||
ok(findet(`Er sagte ${AUF}hallo${ZU}.`) === 0, " das richtige NICHT");
|
||||
ok(findet(`${AUF}<a href="x">y</a>`) === 0,
|
||||
" ein HTML-Attribut ist kein Schlusszeichen");
|
||||
ok(findet(`"… nichts ${AUF}mal " + "eben …"`) === 0,
|
||||
" und die Begrenzung einer Zeichenkette, die weitergeht, auch nicht");
|
||||
ok(findet('/^["\'' + AUF + '»\\s]+|["]/') === 0,
|
||||
" ein regulaerer Ausdruck ebenfalls nicht");
|
||||
ok(findet(AUF + "${a.titel}\"") === 1,
|
||||
" ein eingesetzter Wert dagegen schon");
|
||||
}
|
||||
|
||||
console.log(`\n=== Ruft ein Modul etwas, das es nie eingefuehrt hat? ===`);
|
||||
/* ===================================================================
|
||||
AM 01.10.2026 SELBST GEBAUT UND FAST AUSGELIEFERT.
|
||||
|
||||
@@ -178,7 +178,7 @@ export function resuemeeVon(antworten, punkte, felder, vorher = null, einordnung
|
||||
kopf = unklarP === n
|
||||
? "Diesmal konntest du zu fast allem nichts sagen. Das ist eine ehrliche "
|
||||
+ "Antwort – und beim nächsten Mal weißt du vermutlich mehr."
|
||||
: `Alle ${n} Fragen dieser Runde stehen auf „Läuft". Das ist selten, und `
|
||||
: `Alle ${n} Fragen dieser Runde stehen auf „Läuft“. Das ist selten, und `
|
||||
+ "es ist kein Zufall – irgendwas machst du gerade richtig.";
|
||||
} else if (!haktP.length) {
|
||||
kopf = `Nichts hakt gerade. ${waechstP.length === 1 ? "Eine Sache wächst" : `${waechstP.length} Sachen wachsen`} `
|
||||
@@ -276,7 +276,7 @@ export function resuemeeVon(antworten, punkte, felder, vorher = null, einordnung
|
||||
+ "einem Menschen, wie es steht – das ist alles, und es reicht.";
|
||||
} else if (haktP.length) {
|
||||
team = themaFeld && themaN > 1
|
||||
? `Wahrscheinlich bist du damit nicht allein: „${feldName(themaFeld.schluessel)}" `
|
||||
? `Wahrscheinlich bist du damit nicht allein: „${feldName(themaFeld.schluessel)}“ `
|
||||
+ "hakt selten nur bei einem. Es in der Runde anzusprechen löst es oft "
|
||||
+ "für mehrere auf einmal."
|
||||
: "Eine Sache, die bei dir hakt, hakt selten nur bei dir. Wer sie ausspricht, "
|
||||
@@ -305,9 +305,9 @@ export function resuemeeVon(antworten, punkte, felder, vorher = null, einordnung
|
||||
sagt, welches von beidem es ist -- daran hängt, ob man mit
|
||||
einer Sache spricht oder mit einem Thema. */
|
||||
satz: themaN > 1
|
||||
? satz(`Wenn du nur an einer Stelle hinschaust, dann hier: „${feldName(themaFeld.schluessel)}" `
|
||||
? satz(`Wenn du nur an einer Stelle hinschaust, dann hier: „${feldName(themaFeld.schluessel)}“ `
|
||||
+ `– da stehen ${themaN} der Haken beieinander. Das ist selten Zufall`)
|
||||
: satz(`Wenn du nur an einer Stelle hinschaust, dann hier: „${feldName(themaFeld.schluessel)}"`),
|
||||
: satz(`Wenn du nur an einer Stelle hinschaust, dann hier: „${feldName(themaFeld.schluessel)}“`),
|
||||
/* DIE TITEL NUR, WENN ES MEHRERE SIND (22.09.2026).
|
||||
Bei genau einem stand er zweimal untereinander: einmal hier
|
||||
und gleich darunter als "Dein naechster Schritt". Im Bild
|
||||
|
||||
@@ -332,7 +332,7 @@ callRouter.post("/workspace/api/calls/:id/protokoll", gleicheHerkunft, (req, res
|
||||
INSERT INTO aufgaben
|
||||
(titel, beschreibung, status, prioritaet, creator_id, verantwortlich_id, frist, erstellt, erstellt_von)
|
||||
VALUES (?,?,'offen','mittel',?,?,?,?,?)`).run(
|
||||
t.titel, `Aus dem Gespräch „${termin.titel}"`,
|
||||
t.titel, `Aus dem Gespräch „${termin.titel}“`,
|
||||
termin.creator_id, termin.teilnehmer_id ?? termin.creator_id,
|
||||
t.frist, jetzt(), req.person.id).lastInsertRowid);
|
||||
d.prepare("INSERT INTO protokoll_aufgaben (protokoll_id, aufgabe_id) VALUES (?,?)")
|
||||
@@ -348,7 +348,7 @@ callRouter.post("/workspace/api/calls/:id/protokoll", gleicheHerkunft, (req, res
|
||||
INSERT INTO termine
|
||||
(titel, beschreibung, art, beginn, dauer_min, ort, creator_id, teilnehmer_id, erstellt, erstellt_von, haus)
|
||||
VALUES (?,?,?,?,?,?,?,?,?,?,?)`).run(
|
||||
termin.titel, `Folgetermin zu „${termin.titel}"`, termin.art, nb, dauer,
|
||||
termin.titel, `Folgetermin zu „${termin.titel}“`, termin.art, nb, dauer,
|
||||
termin.ort, termin.creator_id, termin.teilnehmer_id, jetzt(), req.person.id,
|
||||
/* Ein Folgetermin erbt das Haus SEINES Vorgaengers und nicht
|
||||
das der Adresse: Wer ihn ansetzt, verlaengert etwas, das
|
||||
|
||||
@@ -333,8 +333,8 @@ export function darfSchreiben(person, bereich) {
|
||||
const hat = stufeVon(person);
|
||||
if (!stufeReicht(hat, noetig)) {
|
||||
return noetig === "dabei"
|
||||
? `Ab „${STUFEN_NAME.dabei}" kannst du hier schreiben – das ist nach ${DABEI_TAGE} Tagen so weit.`
|
||||
: `Ab „${STUFEN_NAME.stamm}" kannst du hier etwas einstellen – nach ${STAMM_TAGE} Tagen `
|
||||
? `Ab „${STUFEN_NAME.dabei}“ kannst du hier schreiben – das ist nach ${DABEI_TAGE} Tagen so weit.`
|
||||
: `Ab „${STUFEN_NAME.stamm}“ kannst du hier etwas einstellen – nach ${STAMM_TAGE} Tagen `
|
||||
+ `und ${STAMM_BEITRAEGE} eigenen Beiträgen.`;
|
||||
}
|
||||
return null;
|
||||
@@ -1023,7 +1023,7 @@ treffRouter.post("/workspace/api/treff/mitmachen/:id/uebernehmen", gleicheHerkun
|
||||
VALUES ('talente','empfohlen',?,?,?,'mittel','offen',?,?,?,?)`)
|
||||
.run(
|
||||
`${wer?.name ?? "Jemand"} hat sich im Rudel gemeldet`,
|
||||
`Aus „Mitmachen": ${String(e.titel ?? "")}\n\n${String(e.text ?? "")}`.trim(),
|
||||
`Aus „Mitmachen“: ${String(e.titel ?? "")}\n\n${String(e.text ?? "")}`.trim(),
|
||||
/* Der TAG in Ortszeit (01.10.2026), der Zeitstempel in UTC. */
|
||||
heuteLokal(), e.erstellt_von, nun, req.person.id, "Das Rudel");
|
||||
protokolliere("treff_talent", { personId: req.person.id, ip: echteIp(req),
|
||||
|
||||
@@ -86,65 +86,65 @@ const BEREICH_PUNKTE = {};
|
||||
export const CONTENT_IDEEN = [
|
||||
/* ---- Wert (70 %) ---------------------------------------------------- */
|
||||
{ schluessel: "das-haette-ich-am-anfang-gern-gewusst", titel: "Das hätte ich am Anfang gern gewusst",
|
||||
hook: "„Ich hab drei Monate gebraucht, um das zu kapieren – du brauchst 30 Sekunden.\"",
|
||||
hook: "„Ich hab drei Monate gebraucht, um das zu kapieren – du brauchst 30 Sekunden.“",
|
||||
format: "Talking Head", saeule: "Wert", stufe: "anfaenger",
|
||||
text: "Ein Fehler, den du selbst gemacht hast, und was du heute anders machst. "
|
||||
+ "Konkret bleiben: ein Fehler, eine Lösung. Wer drei Dinge sagt, sagt nichts." },
|
||||
{ schluessel: "mein-setup-fuer-unter-100", titel: "Mein Setup für unter 100 €",
|
||||
hook: "„Alle sagen, du brauchst teure Technik. Hier ist meins für 87 Euro.\"",
|
||||
hook: "„Alle sagen, du brauchst teure Technik. Hier ist meins für 87 Euro.“",
|
||||
format: "Zeigen & Erklären", saeule: "Wert", stufe: "anfaenger",
|
||||
text: "Was du wirklich benutzt, mit Preisen. Ehrlich sein, wo es hakt – "
|
||||
+ "das ist der Teil, den niemand sonst zeigt." },
|
||||
{ schluessel: "drei-einstellungen-die-sofort-was-bringe", titel: "Drei Einstellungen, die sofort was bringen",
|
||||
hook: "„Wenn dein Stream unscharf aussieht, liegt es an einer davon.\"",
|
||||
hook: "„Wenn dein Stream unscharf aussieht, liegt es an einer davon.“",
|
||||
format: "Bildschirmaufnahme", saeule: "Wert", stufe: "fort",
|
||||
text: "Nicht mehr als drei. Jede in unter 15 Sekunden erklärt, mit Vorher/Nachher." },
|
||||
{ schluessel: "was-ich-in-einer-woche-gelernt-habe", titel: "Was ich in einer Woche gelernt habe",
|
||||
hook: "„Sieben Tage, eine Erkenntnis – die hier hat alles verändert.\"",
|
||||
hook: "„Sieben Tage, eine Erkenntnis – die hier hat alles verändert.“",
|
||||
format: "Talking Head", saeule: "Wert", stufe: "anfaenger",
|
||||
text: "Rückblick auf eine echte Woche. Funktioniert nur mit einer konkreten Zahl "
|
||||
+ "oder einem konkreten Moment." },
|
||||
{ schluessel: "antwort-auf-die-frage-die-immer-kommt", titel: "Antwort auf die Frage, die immer kommt",
|
||||
hook: "„Das werde ich jeden Tag gefragt – hier einmal in Ruhe.\"",
|
||||
hook: "„Das werde ich jeden Tag gefragt – hier einmal in Ruhe.“",
|
||||
format: "Talking Head", saeule: "Wert", stufe: "fort",
|
||||
text: "Aus dem Chat sammeln, welche Frage sich wiederholt. Die Antwort einmal "
|
||||
+ "gut aufnehmen und immer wieder verwenden." },
|
||||
{ schluessel: "so-bereite-ich-einen-stream-vor", titel: "So bereite ich einen Stream vor",
|
||||
hook: "„Zwei Stunden vor LIVE mache ich immer dasselbe.\"",
|
||||
hook: "„Zwei Stunden vor LIVE mache ich immer dasselbe.“",
|
||||
format: "Vlog", saeule: "Wert", stufe: "fort",
|
||||
text: "Der Ablauf hinter der Sendung. Zeigt Verlässlichkeit und gibt Anfängern "
|
||||
+ "eine Vorlage." },
|
||||
{ schluessel: "fehler-die-ich-bei-anderen-sehe", titel: "Fehler, die ich bei anderen sehe",
|
||||
hook: "„Bitte mach das nicht – ich sehe es jeden Tag.\"",
|
||||
hook: "„Bitte mach das nicht – ich sehe es jeden Tag.“",
|
||||
format: "Talking Head", saeule: "Wert", stufe: "profi",
|
||||
text: "Niemanden bloßstellen. Das Verhalten beschreiben, nicht die Person." },
|
||||
|
||||
/* ---- Community (20 %) ------------------------------------------------ */
|
||||
{ schluessel: "der-beste-moment-aus-dem-letzten-live", titel: "Der beste Moment aus dem letzten LIVE",
|
||||
hook: "„Das ist gestern passiert, und ich rede immer noch davon.\"",
|
||||
hook: "„Das ist gestern passiert, und ich rede immer noch davon.“",
|
||||
format: "Zusammenschnitt", saeule: "Community", stufe: "anfaenger",
|
||||
text: "Ein Ausschnitt, keine Zusammenfassung. Wer alles zeigt, zeigt nichts." },
|
||||
{ schluessel: "ich-beantworte-eure-kommentare", titel: "Ich beantworte eure Kommentare",
|
||||
hook: "„Ihr habt gefragt – jetzt rede ich.\"",
|
||||
hook: "„Ihr habt gefragt – jetzt rede ich.“",
|
||||
format: "Talking Head", saeule: "Community", stufe: "anfaenger",
|
||||
text: "Drei bis fünf echte Kommentare, sichtbar eingeblendet. Auch die kritischen." },
|
||||
{ schluessel: "danke-an-die-die-immer-da-sind", titel: "Danke an die, die immer da sind",
|
||||
hook: "„Ihr seid seit dem ersten Stream dabei. Das hier ist für euch.\"",
|
||||
hook: "„Ihr seid seit dem ersten Stream dabei. Das hier ist für euch.“",
|
||||
format: "Talking Head", saeule: "Community", stufe: "fort",
|
||||
text: "Namen nennen, wenn die Leute einverstanden sind. Sonst allgemein bleiben – "
|
||||
+ "aber ehrlich." },
|
||||
{ schluessel: "eine-entscheidung-bei-der-ihr-mitredet", titel: "Eine Entscheidung, bei der ihr mitredet",
|
||||
hook: "„Ich kann mich nicht entscheiden. Ihr habt 24 Stunden.\"",
|
||||
hook: "„Ich kann mich nicht entscheiden. Ihr habt 24 Stunden.“",
|
||||
format: "Umfrage", saeule: "Community", stufe: "fort",
|
||||
text: "Echte Wahl, keine Scheinfrage. Das Ergebnis danach auch wirklich umsetzen." },
|
||||
|
||||
/* ---- Eigenwerbung (10 %) --------------------------------------------- */
|
||||
{ schluessel: "wann-und-wo-ich-streame", titel: "Wann und wo ich streame",
|
||||
hook: "„Immer dienstags und donnerstags – und ich fange pünktlich an.\"",
|
||||
hook: "„Immer dienstags und donnerstags – und ich fange pünktlich an.“",
|
||||
format: "Kurzclip", saeule: "Eigenwerbung", stufe: "anfaenger",
|
||||
text: "Fester Sendeplan als eigener Clip. Wiederholbar, sobald sich etwas ändert." },
|
||||
{ schluessel: "was-diese-woche-ansteht", titel: "Was diese Woche ansteht",
|
||||
hook: "„Drei Sachen, und eine davon habe ich noch nie gemacht.\"",
|
||||
hook: "„Drei Sachen, und eine davon habe ich noch nie gemacht.“",
|
||||
format: "Kurzclip", saeule: "Eigenwerbung", stufe: "anfaenger",
|
||||
text: "Vorschau auf die Woche. Kurz halten, sonst wird es eine Ankündigung "
|
||||
+ "statt einer Einladung." },
|
||||
@@ -168,81 +168,81 @@ export const CONTENT_IDEEN = [
|
||||
|
||||
/* ---- Wert (70 %) ---- */
|
||||
{ schluessel: "vorher-nachher-an-meinem-kanal", titel: "Vorher / Nachher an meinem Kanal",
|
||||
hook: "„So sah mein Stream vor drei Monaten aus. Und so heute.\"",
|
||||
hook: "„So sah mein Stream vor drei Monaten aus. Und so heute.“",
|
||||
format: "Vorher / Nachher", saeule: "Wert", stufe: "anfaenger",
|
||||
text: "Zwei Ausschnitte nebeneinander, dazwischen die eine Sache, die du geändert hast. "
|
||||
+ "Das Format funktioniert, weil der Zuschauer den Unterschied SIEHT und nicht glauben muss." },
|
||||
{ schluessel: "drei-sachen-die-dir-keiner-sagt", titel: "Drei Sachen, die dir keiner sagt",
|
||||
hook: "„Drei Sachen über Streaming, die dir keiner sagt – die dritte hat mich am meisten gekostet.\"",
|
||||
hook: "„Drei Sachen über Streaming, die dir keiner sagt – die dritte hat mich am meisten gekostet.“",
|
||||
format: "Nummerierte Liste", saeule: "Wert", stufe: "fort",
|
||||
text: "Eine Zahl im Aufhänger verspricht ein Ende – deshalb bleiben Leute dran. "
|
||||
+ "Die stärkste Nummer kommt zuletzt, und sie wird im Aufhänger angekündigt." },
|
||||
{ schluessel: "ich-teste-was-alle-empfehlen", titel: "Ich teste, was alle empfehlen",
|
||||
hook: "„Jeder empfiehlt das. Ich habe es zwei Wochen gemacht – hier ist das Ergebnis.\"",
|
||||
hook: "„Jeder empfiehlt das. Ich habe es zwei Wochen gemacht – hier ist das Ergebnis.“",
|
||||
format: "Selbstversuch", saeule: "Wert", stufe: "fort",
|
||||
text: "Ein verbreiteter Ratschlag, von dir selbst überprüft, mit Zahlen davor und danach. "
|
||||
+ "Widerspruch zieht Aufmerksamkeit – aber nur, wenn du wirklich getestet hast." },
|
||||
{ schluessel: "so-lese-ich-meine-zahlen", titel: "So lese ich meine Zahlen",
|
||||
hook: "„Diese eine Zahl sagt mir mehr als die Zuschauerzahl.\"",
|
||||
hook: "„Diese eine Zahl sagt mir mehr als die Zuschauerzahl.“",
|
||||
format: "Bildschirm & Erklären", saeule: "Wert", stufe: "profi",
|
||||
text: "Zeig deine eigene Auswertung: durchschnittliche Verweildauer, Anteil neuer Zuschauer, "
|
||||
+ "Wiederkehrer. Erklär, was du daraufhin geändert hast. Wenige machen das – deshalb wirkt es." },
|
||||
{ schluessel: "die-erste-sekunde-entscheidet", titel: "Die erste Sekunde entscheidet",
|
||||
hook: "„Sag das in Sekunde eins – oder der Zuschauer ist weg.\"",
|
||||
hook: "„Sag das in Sekunde eins – oder der Zuschauer ist weg.“",
|
||||
format: "Zerlegung", saeule: "Wert", stufe: "profi",
|
||||
text: "Nimm ein eigenes Video auseinander: Was hast du in Sekunde eins gesagt, was würdest du "
|
||||
+ "heute sagen? Über 70 Prozent entscheiden in den ersten drei Sekunden. Zeig beides." },
|
||||
{ schluessel: "mein-ablauf-als-vorlage", titel: "Mein Ablauf als Vorlage zum Mitnehmen",
|
||||
hook: "„Hier ist der Ablauf, nach dem ich jeden Stream fahre. Nimm ihn.\"",
|
||||
hook: "„Hier ist der Ablauf, nach dem ich jeden Stream fahre. Nimm ihn.“",
|
||||
format: "Zeigen & Weitergeben", saeule: "Wert", stufe: "meister",
|
||||
text: "Etwas herzugeben, das bei dir funktioniert, kostet nichts und bringt Vertrauen. "
|
||||
+ "Meisterschaft zeigt sich daran, dass es auch ohne dich funktioniert." },
|
||||
{ schluessel: "was-hundert-streams-mir-beigebracht-h", titel: "Was hundert Streams mir beigebracht haben",
|
||||
hook: "„Hundert Streams. Drei Sachen sind übrig geblieben.\"",
|
||||
hook: "„Hundert Streams. Drei Sachen sind übrig geblieben.“",
|
||||
format: "Rückblick", saeule: "Wert", stufe: "meister",
|
||||
text: "Kein Best-of, sondern das, was du heute anders machst als am Anfang. "
|
||||
+ "Wer lange dabei ist, hat den einen Vorteil, den niemand abkürzen kann." },
|
||||
|
||||
/* ---- Community (20 %) ---- */
|
||||
{ schluessel: "ein-insider-den-nur-ihr-versteht", titel: "Ein Insider, den nur ihr versteht",
|
||||
hook: "„Wenn du weißt, was das bedeutet, bist du schon länger dabei.\"",
|
||||
hook: "„Wenn du weißt, was das bedeutet, bist du schon länger dabei.“",
|
||||
format: "Kurzclip", saeule: "Community", stufe: "anfaenger",
|
||||
text: "Ein Spruch, ein Emote, ein Moment aus dem Stream. Wer ihn versteht, fühlt sich zugehörig – "
|
||||
+ "und wer nicht, will dazugehören. Beides hilft." },
|
||||
{ schluessel: "eure-clips-mein-kommentar", titel: "Eure Clips, mein Kommentar",
|
||||
hook: "„Ihr habt das aufgenommen. Ich sag euch, was da wirklich los war.\"",
|
||||
hook: "„Ihr habt das aufgenommen. Ich sag euch, was da wirklich los war.“",
|
||||
format: "Reaction", saeule: "Community", stufe: "fort",
|
||||
text: "Clips, die Zuschauer selbst geschnitten haben, mit deinem Kommentar. "
|
||||
+ "Das belohnt die, die mitmachen – und wer belohnt wird, macht weiter." },
|
||||
{ schluessel: "die-regel-die-ihr-euch-gewuenscht-hab", titel: "Die Regel, die ihr euch gewünscht habt",
|
||||
hook: "„Ihr habt gefragt, ich habe es geändert. Ab heute gilt:\"",
|
||||
hook: "„Ihr habt gefragt, ich habe es geändert. Ab heute gilt:“",
|
||||
format: "Talking Head", saeule: "Community", stufe: "profi",
|
||||
text: "Eine Änderung, die aus der Community kam, mit Nennung derer, die sie angestoßen haben. "
|
||||
+ "Mitreden zu dürfen ist der stärkste Grund zu bleiben." },
|
||||
{ schluessel: "wir-machen-das-zusammen", titel: "Wir machen das zusammen",
|
||||
hook: "„Wenn wir das diese Woche schaffen, mache ich Folgendes:\"",
|
||||
hook: "„Wenn wir das diese Woche schaffen, mache ich Folgendes:“",
|
||||
format: "Gemeinsames Ziel", saeule: "Community", stufe: "profi",
|
||||
text: "Ein Ziel mit Frist und einer Belohnung, die du wirklich einlöst. "
|
||||
+ "Ein Versprechen, das nicht gehalten wird, kostet mehr als es gebracht hat." },
|
||||
{ schluessel: "mein-moderator-stellt-sich-vor", titel: "Mein Moderator stellt sich vor",
|
||||
hook: "„Ihr kennt den Namen. Hier ist der Mensch dahinter.\"",
|
||||
hook: "„Ihr kennt den Namen. Hier ist der Mensch dahinter.“",
|
||||
format: "Interview", saeule: "Community", stufe: "meister",
|
||||
text: "Wer im Chat für Ordnung sorgt, bekommt ein Gesicht. Das schützt ihn – "
|
||||
+ "gegen einen Namen schimpft man leichter als gegen einen Menschen." },
|
||||
|
||||
/* ---- Eigenwerbung (10 %) ---- */
|
||||
{ schluessel: "dreissig-minuten-vorher", titel: "30 Minuten vorher",
|
||||
hook: "„In einer halben Stunde geht es los – und heute passiert Folgendes:\"",
|
||||
hook: "„In einer halben Stunde geht es los – und heute passiert Folgendes:“",
|
||||
format: "Ankündigung", saeule: "Eigenwerbung", stufe: "anfaenger",
|
||||
text: "Ein kurzes Video 30 bis 60 Minuten vor dem Start. Es bündelt die, die ohnehin kommen "
|
||||
+ "wollten – und ein voller Start zieht neue Zuschauer nach. Eine Sache nennen, nicht drei." },
|
||||
{ schluessel: "warum-ich-heute-live-gehe", titel: "Warum ich heute live gehe",
|
||||
hook: "„Heute ist ein Grund da, und der ist nicht ‚weil Dienstag ist‘.\"",
|
||||
hook: "„Heute ist ein Grund da, und der ist nicht ‚weil Dienstag ist‘.“",
|
||||
format: "Talking Head", saeule: "Eigenwerbung", stufe: "fort",
|
||||
text: "Ein Anlass macht aus einem Termin ein Ereignis. Auch ein kleiner reicht: "
|
||||
+ "ein neues Spiel, ein Gast, eine offene Frage von letzter Woche." },
|
||||
{ schluessel: "mein-kanal-in-fuenfzehn-sekunden", titel: "Mein Kanal in fünfzehn Sekunden",
|
||||
hook: "„Fünfzehn Sekunden, dann weißt du, ob das hier für dich ist.\"",
|
||||
hook: "„Fünfzehn Sekunden, dann weißt du, ob das hier für dich ist.“",
|
||||
format: "Kurzvorstellung", saeule: "Eigenwerbung", stufe: "profi",
|
||||
text: "Für wen, worum, wann. Fest angeheftet, damit neue Zuschauer nicht raten müssen. "
|
||||
+ "Alle paar Monate neu drehen – ein Kanal von vor einem Jahr bist du nicht mehr." },
|
||||
|
||||
@@ -93,7 +93,7 @@ const EINLEITUNG = {
|
||||
},
|
||||
modi: {
|
||||
was: "Schön, dass du da bist. Hier findest du alles für deinen Tag.",
|
||||
dazu: "Unter „Aufgaben\" steht, was gerade für dich dran ist — du "
|
||||
dazu: "Unter „Aufgaben“ steht, was gerade für dich dran ist — du "
|
||||
+ "nimmst an, was du schaffst, und sagst ab, was nicht geht. Eine "
|
||||
+ "Absage ist völlig in Ordnung, schreib einfach kurz warum.",
|
||||
},
|
||||
|
||||
+13
-13
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Stimmen über DogFather — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="Was die Community und das Team über DogFather sagen." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,17 +20,17 @@
|
||||
<meta name="twitter:description" content="Was die Community und das Team über DogFather sagen." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
</head>
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-stimmen.jpg?v=202609301254');--page-bg-mobile:url('/assets/img/bg-stimmen-mobile.jpg?v=202609301254');">
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-stimmen.jpg?v=202610010152');--page-bg-mobile:url('/assets/img/bg-stimmen-mobile.jpg?v=202610010152');">
|
||||
<div id="site-header"></div>
|
||||
|
||||
<main>
|
||||
<section class="hero page-bg">
|
||||
<div class="hero-banner"><img src="/assets/img/bg-stimmen.jpg?v=202609301254" alt="" loading="eager" /></div>
|
||||
<div class="hero-banner"><img src="/assets/img/bg-stimmen.jpg?v=202610010152" alt="" loading="eager" /></div>
|
||||
<div class="container">
|
||||
<span class="eyebrow" data-i18n="st_eyebrow">Welt 2 — HasiDog</span>
|
||||
<h1 data-i18n="st_h1">Stimmen über DogFather</h1>
|
||||
@@ -107,10 +107,10 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/data-stimmen-avatare.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-stimmen.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/bild-vorbereiten.js?v=202609301254"></script>
|
||||
<script src="assets/js/stimmen.js?v=202609301254"></script>
|
||||
<script src="assets/js/data-stimmen-avatare.js?v=202610010152"></script>
|
||||
<script src="assets/js/i18n-stimmen.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
<script src="assets/js/bild-vorbereiten.js?v=202610010152"></script>
|
||||
<script src="assets/js/stimmen.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+14
-14
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Wer ist DogFather? — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="Die persönliche Geschichte hinter DogFather — Filipe, Streamer, Manager bei Spicy Media und Hundepapa von Husky Casper." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,17 +20,17 @@
|
||||
<meta name="twitter:description" content="Die persönliche Geschichte hinter DogFather — Filipe, Streamer, Manager bei Spicy Media und Hundepapa von Husky Casper." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
</head>
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-streamer.jpg?v=202609301254');--page-bg-mobile:url('/assets/img/bg-streamer-mobile.jpg?v=202609301254');">
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-streamer.jpg?v=202610010152');--page-bg-mobile:url('/assets/img/bg-streamer-mobile.jpg?v=202610010152');">
|
||||
<div id="site-header"></div>
|
||||
|
||||
<main>
|
||||
<section class="hero page-bg">
|
||||
<div class="hero-banner"><img src="/assets/img/bg-streamer.jpg?v=202609301254" alt="" loading="eager" /></div>
|
||||
<div class="hero-banner"><img src="/assets/img/bg-streamer.jpg?v=202610010152" alt="" loading="eager" /></div>
|
||||
<div class="container">
|
||||
<span class="eyebrow" data-i18n="str_eyebrow">Welt 1 — DogFather</span>
|
||||
<h1 data-i18n="str_h1">Wer ist DogFather? – Mehr als nur ein Name 🩵</h1>
|
||||
@@ -55,7 +55,7 @@
|
||||
<p class="quote" data-i18n="str_intro_quote" style="margin-top:1.4rem;">Doch DogFather ist nicht einfach nur ein Name im Internet. DogFather ist ein Teil von mir.</p>
|
||||
</div>
|
||||
<div class="collage-photo frame-gold" style="aspect-ratio:2/3;border-radius:var(--radius);">
|
||||
<img src="assets/img/streamer-filipe-portrait.jpg?v=202609301254" alt="Filipe alias DogFather" style="width:100%;height:100%;object-fit:cover;object-position:center top;" />
|
||||
<img src="assets/img/streamer-filipe-portrait.jpg?v=202610010152" alt="Filipe alias DogFather" style="width:100%;height:100%;object-fit:cover;object-position:center top;" />
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -100,7 +100,7 @@
|
||||
(siehe .collage-photo-kompakt in main.css, jetzt 720px statt 460px), der
|
||||
sich an der typischen Höhe der Textspalte in diesem Abschnitt orientiert. -->
|
||||
<div class="collage-photo collage-photo-kompakt frame-lila" style="border-radius:var(--radius);">
|
||||
<img src="assets/img/streamer-mascot.jpg?v=202609301254" alt="DogFather Maskottchen" />
|
||||
<img src="assets/img/streamer-mascot.jpg?v=202610010152" alt="DogFather Maskottchen" />
|
||||
</div>
|
||||
<div>
|
||||
<h2 data-i18n="str_casper_h2">🐺 Casper – mein treuer Begleiter</h2>
|
||||
@@ -161,7 +161,7 @@
|
||||
<p class="quote" data-i18n="str_ausmacht_quote2" style="margin-top:1.4rem;">Ein Mensch, der gerne lacht, andere unterhält und manchmal vollkommen verrückte Dinge macht – aber niemals vergisst, wie wichtig Menschlichkeit, Respekt und Zusammenhalt sind.</p>
|
||||
</div>
|
||||
<div class="collage-photo frame-lila" style="aspect-ratio:auto;border-radius:var(--radius);">
|
||||
<img src="assets/img/streamer-highlight.jpg?v=202609301254" alt="DogFather" style="width:100%;height:auto;display:block;" />
|
||||
<img src="assets/img/streamer-highlight.jpg?v=202610010152" alt="DogFather" style="width:100%;height:auto;display:block;" />
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -199,7 +199,7 @@
|
||||
<a class="btn-spicy-mini" href="team-scouts.html" style="padding:.85rem 1.7rem;font-size:1.05rem;gap:.5rem;"><span data-i18n="str_scoutmanager_btn">🌶️ Scout-Manager</span></a>
|
||||
</div>
|
||||
<div class="collage-photo frame-rot" style="aspect-ratio:1/1;border-radius:var(--radius);background:#000;">
|
||||
<img src="assets/img/spicy-media-logo.jpg?v=202609301254" alt="Spicy Media Agency Logo"
|
||||
<img src="assets/img/spicy-media-logo.jpg?v=202610010152" alt="Spicy Media Agency Logo"
|
||||
style="width:100%;height:100%;object-fit:contain;padding:1.6rem;" />
|
||||
</div>
|
||||
</div>
|
||||
@@ -218,7 +218,7 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/i18n-streamer.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-streamer.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+11
-11
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Streamplan & Livebereich — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="Wann geht DogFather live? Streamplan und Livebereich." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,17 +20,17 @@
|
||||
<meta name="twitter:description" content="Wann geht DogFather live? Streamplan und Livebereich." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
</head>
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-streamplan.jpg?v=202609301254');--page-bg-mobile:url('/assets/img/bg-streamplan-mobile.jpg?v=202609301254');">
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-streamplan.jpg?v=202610010152');--page-bg-mobile:url('/assets/img/bg-streamplan-mobile.jpg?v=202610010152');">
|
||||
<div id="site-header"></div>
|
||||
|
||||
<main>
|
||||
<section class="hero page-bg">
|
||||
<div class="hero-banner"><img src="/assets/img/bg-streamplan.jpg?v=202609301254" alt="" loading="eager" /></div>
|
||||
<div class="hero-banner"><img src="/assets/img/bg-streamplan.jpg?v=202610010152" alt="" loading="eager" /></div>
|
||||
<div class="container">
|
||||
<span class="eyebrow" data-i18n="sp_eyebrow">Welt 1 — DogFather</span>
|
||||
<h1 data-i18n="sp_h1">Streamplan & Livebereich</h1>
|
||||
@@ -127,8 +127,8 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/i18n-streamplan.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/streamplan.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-streamplan.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
<script src="assets/js/streamplan.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+11
-11
@@ -5,15 +5,15 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Mein Supporter-Bereich — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="Dein persönlicher Supporter-Bereich: Abo-Status, Fortschritt und Treueprämien." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta name="robots" content="noindex" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
<style>
|
||||
/* =====================================================================
|
||||
Supporter-Bereich — komplett neu gestaltet (Nutzer-Feedback
|
||||
@@ -397,12 +397,12 @@
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-supporter.jpg?v=202609301254');--page-bg-mobile:url('/assets/img/bg-supporter-mobile.jpg?v=202609301254');">
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-supporter.jpg?v=202610010152');--page-bg-mobile:url('/assets/img/bg-supporter-mobile.jpg?v=202610010152');">
|
||||
<div id="site-header"></div>
|
||||
|
||||
<main>
|
||||
<section class="hero page-bg">
|
||||
<div class="hero-banner"><img src="/assets/img/bg-supporter.jpg?v=202609301254" alt="Dogfather Supporter-Abo" loading="eager" /></div>
|
||||
<div class="hero-banner"><img src="/assets/img/bg-supporter.jpg?v=202610010152" alt="Dogfather Supporter-Abo" loading="eager" /></div>
|
||||
<div class="container">
|
||||
<span class="eyebrow" data-i18n="su_eyebrow">👑 Supporter-Bereich</span>
|
||||
<h1 id="supp-begruessung" data-i18n="su_lade">Dein Supporter-Bereich</h1>
|
||||
@@ -516,9 +516,9 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/i18n-supporter.js?v=202609301254"></script>
|
||||
<script src="assets/js/supporter.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-supporter.js?v=202610010152"></script>
|
||||
<script src="assets/js/supporter.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
<script>
|
||||
(function () {
|
||||
const S = window.DogiSupporter;
|
||||
|
||||
+12
-12
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Modi-Team — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="VanVan, Diene, Funny, Miss und Marina — das Modi-/Core-Team von Team Dogi." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,17 +20,17 @@
|
||||
<meta name="twitter:description" content="VanVan, Diene, Funny, Miss und Marina — das Modi-/Core-Team von Team Dogi." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
</head>
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-modis.jpg?v=202609301254');--page-bg-mobile:url('/assets/img/bg-modis.jpg?v=202609301254');">
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-modis.jpg?v=202610010152');--page-bg-mobile:url('/assets/img/bg-modis.jpg?v=202610010152');">
|
||||
<div id="site-header"></div>
|
||||
|
||||
<main>
|
||||
<section class="hero page-bg">
|
||||
<div class="hero-banner"><img src="/assets/img/bg-modis.jpg?v=202609301254" alt="" loading="eager" /></div>
|
||||
<div class="hero-banner"><img src="/assets/img/bg-modis.jpg?v=202610010152" alt="" loading="eager" /></div>
|
||||
<div class="container">
|
||||
<span class="eyebrow" data-i18n="tm_eyebrow">🩵 Team Dogi</span>
|
||||
<h1 data-i18n="tm_h1" data-site-text-key="seitentitel_modi">Das Modi-Team</h1>
|
||||
@@ -56,7 +56,7 @@
|
||||
<a class="btn btn-primary" href="vanvan.html" data-i18n="tm_vanvan_btn">VanVans exklusive Seite →</a>
|
||||
</div>
|
||||
<div class="collage-photo" style="aspect-ratio:1/1;border-radius:var(--radius);">
|
||||
<img src="assets/img/card-vanvan-team.jpg?v=202609301254" alt="VanVan" style="width:100%;height:100%;object-fit:cover;" />
|
||||
<img src="assets/img/card-vanvan-team.jpg?v=202610010152" alt="VanVan" style="width:100%;height:100%;object-fit:cover;" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -73,9 +73,9 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/data-modis.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-team-modis.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/data-modis.js?v=202610010152"></script>
|
||||
<script src="assets/js/i18n-team-modis.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
const grid = document.getElementById("modis-grid");
|
||||
|
||||
+12
-12
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Scout-Team — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="Die Scouts von Team Dogi bei Spicy Media." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,17 +20,17 @@
|
||||
<meta name="twitter:description" content="Die Scouts von Team Dogi bei Spicy Media." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
</head>
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-scouts.jpg?v=202609301254');--page-bg-mobile:url('/assets/img/bg-scouts-mobile.jpg?v=202609301254');">
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-scouts.jpg?v=202610010152');--page-bg-mobile:url('/assets/img/bg-scouts-mobile.jpg?v=202610010152');">
|
||||
<div id="site-header"></div>
|
||||
|
||||
<main>
|
||||
<section class="hero page-bg">
|
||||
<div class="hero-banner"><img src="/assets/img/bg-scouts.jpg?v=202609301254" alt="" loading="eager" /></div>
|
||||
<div class="hero-banner"><img src="/assets/img/bg-scouts.jpg?v=202610010152" alt="" loading="eager" /></div>
|
||||
<div class="container">
|
||||
<span class="eyebrow" data-i18n="ts_eyebrow">Manager DogFather — Spicy Media</span>
|
||||
<h1 data-i18n="ts_h1" data-site-text-key="seitentitel_scout">Mein Scout-Team</h1>
|
||||
@@ -50,9 +50,9 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/data-scouts.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-team-scouts.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/data-scouts.js?v=202610010152"></script>
|
||||
<script src="assets/js/i18n-team-scouts.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
const grid = document.getElementById("scouts-grid");
|
||||
@@ -70,7 +70,7 @@ document.addEventListener("DOMContentLoaded", () => {
|
||||
<div class="avatar">${(s.avatar || s.photo) ? `<img src="${s.avatar || s.photo}" alt="${s.name}" loading="lazy">` : `<span class="avatar-initial">${s.name.charAt(0).toUpperCase()}</span>`}</div>
|
||||
<h3>${s.name}</h3>
|
||||
<div class="role">${feld(s.role)}</div>
|
||||
${quoteText ? `<p class="quote">„${quoteText}"</p>` : `<p class="small muted">${t("ts_zitat_folgt")}</p>`}
|
||||
${quoteText ? `<p class="quote">„${quoteText}“</p>` : `<p class="small muted">${t("ts_zitat_folgt")}</p>`}
|
||||
<span class="btn btn-outline" style="margin-top:.7rem;pointer-events:none;">${t("ts_profil_ansehen")}</span>
|
||||
</a>`;
|
||||
}).join("");
|
||||
|
||||
+13
-13
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Tili — meine TikTok-Muddi — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="Eine persönliche Widmung von Dogi an Tili — seine TikTok-Muddi, die erste und bis heute einzige Streamerin, die ihm all die Zeit treu geblieben ist." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,10 +20,10 @@
|
||||
<meta name="twitter:description" content="Eine persönliche Widmung von Dogi an Tili — seine TikTok-Muddi, die erste und bis heute einzige Streamerin, die ihm all die Zeit treu geblieben ist." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
<style>
|
||||
/* Gleiche Anpassung wie vanvan.html: der site-weit etwas größere
|
||||
Fließtext wirkt bei einem so langen persönlichen Brief zu wuchtig —
|
||||
@@ -36,12 +36,12 @@
|
||||
.tm-signatur strong { font-size: 1.15rem; }
|
||||
</style>
|
||||
</head>
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-tt-muddi.jpg?v=202609301254');--page-bg-mobile:url('/assets/img/bg-tt-muddi.jpg?v=202609301254');">
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-tt-muddi.jpg?v=202610010152');--page-bg-mobile:url('/assets/img/bg-tt-muddi.jpg?v=202610010152');">
|
||||
<div id="site-header"></div>
|
||||
|
||||
<main>
|
||||
<section class="hero page-bg">
|
||||
<div class="hero-banner"><img src="/assets/img/bg-tt-muddi.jpg?v=202609301254" alt="Tili und Dogfather" loading="eager" /></div>
|
||||
<div class="hero-banner"><img src="/assets/img/bg-tt-muddi.jpg?v=202610010152" alt="Tili und Dogfather" loading="eager" /></div>
|
||||
<div class="container">
|
||||
<span class="eyebrow" data-i18n="tm_eyebrow">🩵 Familie</span>
|
||||
<h1 data-i18n="tm_h1">Tili – meine TikTok-Muddi und ein ganz besonderer Teil meines Lebens 🩵</h1>
|
||||
@@ -51,7 +51,7 @@
|
||||
<section class="section-tight">
|
||||
<div class="container grid grid-2" style="align-items:center;grid-template-columns:1fr 1.25fr;">
|
||||
<div class="collage-photo" style="aspect-ratio:3/4;border-radius:var(--radius);">
|
||||
<img src="assets/img/tt-muddi-1.jpg?v=202609301254" alt="Tili und Dogfather" style="width:100%;height:100%;object-fit:cover;" />
|
||||
<img src="assets/img/tt-muddi-1.jpg?v=202610010152" alt="Tili und Dogfather" style="width:100%;height:100%;object-fit:cover;" />
|
||||
</div>
|
||||
<div>
|
||||
<p class="lead worlds" data-i18n="tm_lead" style="margin-bottom:1.2rem;">Eine persönliche Widmung von Dogi an eine seiner wichtigsten Vertrauenspersonen.</p>
|
||||
@@ -79,7 +79,7 @@
|
||||
<p data-i18n="tm_6">Sie hört zu, ohne sofort zu urteilen. Sie sagt ehrlich ihre Meinung, auch wenn diese vielleicht nicht immer das ist, was ich gerade hören möchte. Und genau das macht echtes Vertrauen aus: nicht nur die schönen Worte zu sagen, sondern füreinander da zu sein, ehrlich zu bleiben und sich gegenseitig wieder aufzurichten.</p>
|
||||
</div>
|
||||
<div class="collage-photo frame-lila" style="aspect-ratio:auto;border-radius:var(--radius);">
|
||||
<img src="assets/img/tt-muddi-2.jpg?v=202609301254" alt="Tili und Dogfather in Umarmung" style="width:100%;height:auto;display:block;" />
|
||||
<img src="assets/img/tt-muddi-2.jpg?v=202610010152" alt="Tili und Dogfather in Umarmung" style="width:100%;height:auto;display:block;" />
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -102,7 +102,7 @@
|
||||
<section class="section-tight">
|
||||
<div class="container grid grid-2" style="align-items:center;">
|
||||
<div class="collage-photo frame-lila" style="aspect-ratio:auto;border-radius:var(--radius);">
|
||||
<img src="assets/img/tt-muddi-3.jpg?v=202609301254" alt="Tili und Dogfather Arm in Arm" style="width:100%;height:auto;display:block;" />
|
||||
<img src="assets/img/tt-muddi-3.jpg?v=202610010152" alt="Tili und Dogfather Arm in Arm" style="width:100%;height:auto;display:block;" />
|
||||
</div>
|
||||
<div>
|
||||
<p data-i18n="tm_12">Für mich steht Tili für Hoffnung. Sie ist einer der Menschen, die mir zeigen, dass das Gute im Menschen noch existiert. Dass es noch Personen gibt, die nicht nur an sich selbst denken. Menschen, die ein ehrliches Herz besitzen, anderen Mut machen und ihre Hand nicht zurückziehen, sobald der Weg schwieriger wird.</p>
|
||||
@@ -154,7 +154,7 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/i18n-tt-muddi.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-tt-muddi.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+13
-13
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>VanVan — die rechte Hand von Dogi — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="VanVan erzählt ihre Geschichte: wie sie zu Team Dogi kam, wer sie ist und was DogFather und Team Dogi ihr bedeuten." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,10 +20,10 @@
|
||||
<meta name="twitter:description" content="VanVan erzählt ihre Geschichte: wie sie zu Team Dogi kam, wer sie ist und was DogFather und Team Dogi ihr bedeuten." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
<style>
|
||||
/* Auf Wunsch: der site-weit vergrößerte Fließtext wirkte auf VanVans
|
||||
eigener Seite zu groß (viel Text am Stück) — hier gezielt wieder
|
||||
@@ -35,12 +35,12 @@
|
||||
main h2 { font-size: clamp(1.7rem, 3.6vw, 2.5rem); }
|
||||
</style>
|
||||
</head>
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-vanvan.jpg?v=202609301254');--page-bg-mobile:url('/assets/img/bg-vanvan-mobile.jpg?v=202609301254');">
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-vanvan.jpg?v=202610010152');--page-bg-mobile:url('/assets/img/bg-vanvan-mobile.jpg?v=202610010152');">
|
||||
<div id="site-header"></div>
|
||||
|
||||
<main>
|
||||
<section class="hero page-bg">
|
||||
<div class="hero-banner"><img src="/assets/img/bg-vanvan.jpg?v=202609301254" alt="" loading="eager" /></div>
|
||||
<div class="hero-banner"><img src="/assets/img/bg-vanvan.jpg?v=202610010152" alt="" loading="eager" /></div>
|
||||
<div class="container">
|
||||
<span class="eyebrow" data-i18n="vv_eyebrow">🩵 Exklusive Seite</span>
|
||||
<h1 data-i18n="vv_h1">VanVan – die rechte Hand von Dogi 🩵</h1>
|
||||
@@ -51,7 +51,7 @@
|
||||
<section class="section-tight">
|
||||
<div class="container grid grid-2" style="align-items:center;grid-template-columns:1.25fr 1fr;">
|
||||
<div class="collage-photo" style="aspect-ratio:3/4;border-radius:var(--radius);">
|
||||
<img src="assets/img/vanvan-team-2.jpg?v=202609301254" alt="VanVan" style="width:100%;height:100%;object-fit:cover;" />
|
||||
<img src="assets/img/vanvan-team-2.jpg?v=202610010152" alt="VanVan" style="width:100%;height:100%;object-fit:cover;" />
|
||||
</div>
|
||||
<div>
|
||||
<h2 data-i18n="vv_wer_h2">Wer ich bin</h2>
|
||||
@@ -96,7 +96,7 @@
|
||||
<section>
|
||||
<div class="container grid grid-2" style="align-items:center;">
|
||||
<div class="collage-photo frame-lila" style="aspect-ratio:auto;border-radius:var(--radius);">
|
||||
<img src="assets/img/vanvan-team-1.jpg?v=202609301254" alt="VanVan" style="width:100%;height:auto;display:block;" />
|
||||
<img src="assets/img/vanvan-team-1.jpg?v=202610010152" alt="VanVan" style="width:100%;height:auto;display:block;" />
|
||||
</div>
|
||||
<div>
|
||||
<h2 data-i18n="vv_staerken_h2">Meine Stärken</h2>
|
||||
@@ -146,7 +146,7 @@
|
||||
<p data-i18n="vv_team_7">Sondern weil ich es von Herzen möchte.</p>
|
||||
</div>
|
||||
<div class="collage-photo frame-lila" style="aspect-ratio:auto;border-radius:var(--radius);">
|
||||
<img src="assets/img/card-vanvan.jpg?v=202609301254" alt="VanVan" style="width:100%;height:auto;display:block;" />
|
||||
<img src="assets/img/card-vanvan.jpg?v=202610010152" alt="VanVan" style="width:100%;height:auto;display:block;" />
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -182,7 +182,7 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/i18n-vanvan.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-vanvan.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+19
-19
@@ -6,7 +6,7 @@
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<title>Verwaltung — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="Interne Verwaltung — DogiCrew-Supporter, Prämien und Kollektionen. Nur mit Zugangscode." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/verwaltung-32.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/verwaltung-32.png?v=202610010152" />
|
||||
<!-- Eigene, separat installierbare App (20.08.2026, Nutzer-Wunsch: "die
|
||||
Verwaltungsseite auch herunterladen können, getrennt von der Website
|
||||
installiert") — eigenes Manifest mit eigener "id"/eigenem "scope"
|
||||
@@ -16,13 +16,13 @@
|
||||
und deckt damit auch diese Seite automatisch mit ab — kein zweiter
|
||||
Service Worker nötig, nur ein zweites Manifest. -->
|
||||
<link rel="manifest" href="/manifest-verwaltung.json" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/verwaltung-180.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/verwaltung-180.png?v=202610010152" />
|
||||
<meta name="apple-mobile-web-app-title" content="DogiCrew-Verwaltung" />
|
||||
<meta name="theme-color" content="#8d4125" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
<style>
|
||||
/* =====================================================================
|
||||
verwaltung.html — Dogis privater Command-Center-Bereich.
|
||||
@@ -173,7 +173,7 @@
|
||||
.vw-logo-emblem {
|
||||
position: absolute; top: 50%; left: 50%; width: min(1200px, 150vw); height: min(1200px, 150vw);
|
||||
transform: translate(-50%, -50%);
|
||||
background-image: url('assets/img/logo-dogfather-transparent.png?v=202609301254');
|
||||
background-image: url('assets/img/logo-dogfather-transparent.png?v=202610010152');
|
||||
background-size: contain; background-repeat: no-repeat; background-position: center;
|
||||
opacity: .05;
|
||||
filter: drop-shadow(0 0 120px rgba(56,189,248,.55)) drop-shadow(0 0 60px rgba(139,92,246,.25));
|
||||
@@ -187,7 +187,7 @@
|
||||
}
|
||||
.vw-logo-tile {
|
||||
position: absolute; inset: -25%;
|
||||
background-image: url('assets/img/logo-dogfather-transparent.png?v=202609301254');
|
||||
background-image: url('assets/img/logo-dogfather-transparent.png?v=202610010152');
|
||||
background-size: 150px 150px; background-repeat: repeat;
|
||||
opacity: .02; transform: rotate(-14deg);
|
||||
}
|
||||
@@ -295,7 +295,7 @@
|
||||
.vw-gate-schloss {
|
||||
width: 72px; height: 72px; margin: 0 auto 1rem; border-radius: 50%;
|
||||
background: radial-gradient(circle at 32% 28%, rgba(125,211,252,.35), rgba(56,189,248,.08) 70%),
|
||||
url('assets/img/gate-siegel-hasidog.jpg?v=202609301254') center / cover no-repeat;
|
||||
url('assets/img/gate-siegel-hasidog.jpg?v=202610010152') center / cover no-repeat;
|
||||
border: 2px solid rgba(56,189,248,.6);
|
||||
box-shadow: 0 0 26px rgba(56,189,248,.4), inset 0 0 12px rgba(255,255,255,.08);
|
||||
animation: vw-schloss-puls 2.6s ease-in-out infinite;
|
||||
@@ -325,8 +325,8 @@
|
||||
box-shadow: 0 0 20px rgba(56,189,248,.4), inset 0 0 10px rgba(255,255,255,.08);
|
||||
animation: vw-schloss-puls 2.6s ease-in-out infinite;
|
||||
}
|
||||
.vw-gate-card-icon--dogi { background-image: url('assets/img/vw-gate-dogi.jpg?v=202609301254'); }
|
||||
.vw-gate-card-icon--vanvan { background-image: url('assets/img/vw-gate-vanvan.jpg?v=202609301254'); }
|
||||
.vw-gate-card-icon--dogi { background-image: url('assets/img/vw-gate-dogi.jpg?v=202610010152'); }
|
||||
.vw-gate-card-icon--vanvan { background-image: url('assets/img/vw-gate-vanvan.jpg?v=202610010152'); }
|
||||
@keyframes vw-schloss-puls-rose {
|
||||
0%, 100% { box-shadow: 0 0 20px rgba(255,143,198,.35), inset 0 0 10px rgba(255,255,255,.06); }
|
||||
50% { box-shadow: 0 0 36px rgba(255,143,198,.65), inset 0 0 14px rgba(255,255,255,.12); }
|
||||
@@ -380,7 +380,7 @@
|
||||
width: 116px; height: 116px; margin: 0 auto 1.2rem; border-radius: 50%;
|
||||
background:
|
||||
radial-gradient(circle at 32% 26%, rgba(125,211,252,.25), rgba(56,189,248,.08) 72%),
|
||||
url('assets/img/hasidog-kopf-siegel.jpg?v=202609301254') center / cover no-repeat;
|
||||
url('assets/img/hasidog-kopf-siegel.jpg?v=202610010152') center / cover no-repeat;
|
||||
border: 2.5px solid rgba(56,189,248,.6);
|
||||
box-shadow: 0 0 34px rgba(56,189,248,.4), inset 0 0 18px rgba(0,0,0,.35), inset 0 0 0 3px rgba(10,12,16,.5);
|
||||
animation: vw-schloss-puls 3.4s ease-in-out infinite;
|
||||
@@ -1285,17 +1285,17 @@
|
||||
<!-- 21.08.2026: für den "Bestehende Mitglieder importieren"-Knopf in der
|
||||
Team-Verwaltung -- liest die von Hand gepflegten Profile aus diesen
|
||||
Dateien aus und bietet an, sie 1:1 in die Datenbank zu übernehmen. -->
|
||||
<script src="assets/js/data-modis.js?v=202609301254"></script>
|
||||
<script src="assets/js/data-scouts.js?v=202609301254"></script>
|
||||
<script src="assets/js/data-creator.js?v=202609301254"></script>
|
||||
<script src="assets/js/data-manager.js?v=202609301254"></script>
|
||||
<script src="assets/js/data-stimmen-avatare.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/data-modis.js?v=202610010152"></script>
|
||||
<script src="assets/js/data-scouts.js?v=202610010152"></script>
|
||||
<script src="assets/js/data-creator.js?v=202610010152"></script>
|
||||
<script src="assets/js/data-manager.js?v=202610010152"></script>
|
||||
<script src="assets/js/data-stimmen-avatare.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
<!-- Versionsnummer bewusst hochgesetzt (27.08.2026): Caddy liefert Assets mit
|
||||
max-age=14400, ein Browser hätte die alte Anmelde-Logik sonst bis zu vier
|
||||
Stunden weiterbenutzt und Dogi wäre trotz Umstellung weiter ohne Code
|
||||
drin gewesen. Neue Adresse = sofort neue Datei. -->
|
||||
<script src="assets/js/admin-auth.js?v=202609301254"></script>
|
||||
<script src="assets/js/admin-auth.js?v=202610010152"></script>
|
||||
<script>
|
||||
(function () {
|
||||
const API_BASE_URL = "https://postfach.dogfather-universe.com";
|
||||
|
||||
@@ -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=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610010152" />
|
||||
<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=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610010152" />
|
||||
<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=202609301254" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610010152" />
|
||||
<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=202609301254"></script>
|
||||
<script src="/assets/js/wd-core.js?v=202609301254"></script>
|
||||
<script src="/assets/js/i18n-wd-ablauf.js?v=202610010152"></script>
|
||||
<script src="/assets/js/wd-core.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -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=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610010152" />
|
||||
<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=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610010152" />
|
||||
<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=202609301254" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610010152" />
|
||||
<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=202609301254"></script>
|
||||
<script src="/assets/js/wd-core.js?v=202609301254"></script>
|
||||
<script src="/assets/js/wd-anfrage.js?v=202609301254"></script>
|
||||
<script src="/assets/js/i18n-wd-anfrage.js?v=202610010152"></script>
|
||||
<script src="/assets/js/wd-core.js?v=202610010152"></script>
|
||||
<script src="/assets/js/wd-anfrage.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -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=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610010152" />
|
||||
<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
@@ -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=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610010152" />
|
||||
<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=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610010152" />
|
||||
<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=202609301254" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610010152" />
|
||||
<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=202609301254"></script>
|
||||
<script src="/assets/js/wd-core.js?v=202609301254"></script>
|
||||
<script src="/assets/js/i18n-wd-faq.js?v=202610010152"></script>
|
||||
<script src="/assets/js/wd-core.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+10
-10
@@ -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=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610010152" />
|
||||
<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=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610010152" />
|
||||
<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=202609301254" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610010152" />
|
||||
<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=202609301254" alt="" width="472" height="476" />
|
||||
<img class="wd-intro-logo" src="/assets/img/logo-dogfather-transparent.png?v=202610010152" 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=202609301254"
|
||||
<img class="wd-projekt-bild" src="/assets/img/wd-projekt-universe.jpg?v=202610010152"
|
||||
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=202609301254"
|
||||
<img class="wd-projekt-bild" src="/assets/img/wd-projekt-vandiy.jpg?v=202610010152"
|
||||
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=202609301254"
|
||||
<img class="wd-portrait wd-auf" src="/assets/img/wd-dogfather-portrait.jpg?v=202610010152"
|
||||
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=202609301254"></script>
|
||||
<script src="/assets/js/wd-core.js?v=202609301254"></script>
|
||||
<script src="/assets/js/i18n-wd-index.js?v=202610010152"></script>
|
||||
<script src="/assets/js/wd-core.js?v=202610010152"></script>
|
||||
<script>
|
||||
/* ---------------------------------------------------------------------
|
||||
Marken-Intro (Masterplan S.3, Schritt 02: "Nach erfolgreichem Code
|
||||
|
||||
@@ -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=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610010152" />
|
||||
<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=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610010152" />
|
||||
<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=202609301254" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610010152" />
|
||||
<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=202609301254"></script>
|
||||
<script src="/assets/js/wd-core.js?v=202609301254"></script>
|
||||
<script src="/assets/js/i18n-wd-leistungen.js?v=202610010152"></script>
|
||||
<script src="/assets/js/wd-core.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -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=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/portal-32.png?v=202610010152" />
|
||||
<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=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/portal-180.png?v=202610010152" />
|
||||
<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=202609301254" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610010152" />
|
||||
<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=202609301254"></script>
|
||||
<script src="/assets/js/wd-core.js?v=202609301254"></script>
|
||||
<script src="/assets/js/wd-portal.js?v=202609301254"></script>
|
||||
<script src="/assets/js/i18n-wd-portal.js?v=202610010152"></script>
|
||||
<script src="/assets/js/wd-core.js?v=202610010152"></script>
|
||||
<script src="/assets/js/wd-portal.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+12
-12
@@ -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=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610010152" />
|
||||
<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=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610010152" />
|
||||
<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=202609301254" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610010152" />
|
||||
<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=202609301254"
|
||||
<img class="pfo-bild" src="/assets/img/wd-projekt-universe.jpg?v=202610010152"
|
||||
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=202609301254"
|
||||
<img class="pfo-bild" src="/assets/img/wd-projekt-vandiy.jpg?v=202610010152"
|
||||
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=202609301254"
|
||||
<img class="pfo-bild" src="/assets/img/wd-projekt-zockeranstalt.jpg?v=202610010152"
|
||||
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=202609301254"
|
||||
<img class="pfo-bild" src="/assets/img/wd-projekt-buchhaltung.jpg?v=202610010152"
|
||||
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=202609301254"
|
||||
<img class="pfo-bild" src="/assets/img/wd-projekt-analyse.jpg?v=202610010152"
|
||||
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=202609301254"
|
||||
<img class="pfo-bild" src="/assets/img/wd-projekt-safeaddress.jpg?v=202610010152"
|
||||
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=202609301254"></script>
|
||||
<script src="/assets/js/wd-core.js?v=202609301254"></script>
|
||||
<script src="/assets/js/i18n-wd-portfolio.js?v=202610010152"></script>
|
||||
<script src="/assets/js/wd-core.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -10,12 +10,12 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
|
||||
<title>Impressum, AGB & 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=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/webdesign/app.webmanifest" />
|
||||
<meta name="theme-color" content="#564e95" />
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610010152" />
|
||||
</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=202609301254"></script>
|
||||
<script src="/assets/js/wd-core.js?v=202609301254"></script>
|
||||
<script src="/assets/js/i18n-wd-rechtliches.js?v=202610010152"></script>
|
||||
<script src="/assets/js/wd-core.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+1
-1
@@ -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-202609301254";
|
||||
const CACHE_NAME = "dogfather-webdesign-202610010152";
|
||||
|
||||
/* Bausteine, die die Oberfläche zum Anzeigen braucht. Bewusst KEINE
|
||||
HTML-Datei in dieser Liste. */
|
||||
|
||||
@@ -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=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610010152" />
|
||||
<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=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610010152" />
|
||||
<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=202609301254" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610010152" />
|
||||
<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=202609301254"
|
||||
<img class="ue-portrait wd-auf" src="/assets/img/wd-dogfather-portrait.jpg?v=202610010152"
|
||||
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=202609301254"></script>
|
||||
<script src="/assets/js/wd-core.js?v=202609301254"></script>
|
||||
<script src="/assets/js/i18n-wd-ueber.js?v=202610010152"></script>
|
||||
<script src="/assets/js/wd-core.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+22
-22
@@ -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=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/wdverwalt-32.png?v=202610010152" />
|
||||
<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=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/wdverwalt-180.png?v=202610010152" />
|
||||
<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=202609301254" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610010152" />
|
||||
<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=202609301254");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-wappen-klein.webp?v=202609301254");
|
||||
--vw-motiv: url("/assets/img/cryo-wappen.webp?v=202610010152");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-wappen-klein.webp?v=202610010152");
|
||||
--vw-farbe: var(--wd-blau-rgb);
|
||||
--vw-blick: center top;
|
||||
}
|
||||
[data-vw-bereich="uebersicht"] {
|
||||
--vw-motiv: url("/assets/img/cryo-wappen.webp?v=202609301254");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-wappen-klein.webp?v=202609301254");
|
||||
--vw-motiv: url("/assets/img/cryo-wappen.webp?v=202610010152");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-wappen-klein.webp?v=202610010152");
|
||||
--vw-farbe: var(--wd-blau-rgb);
|
||||
--vw-blick: 76% 52%;
|
||||
}
|
||||
[data-vw-bereich="anfragen"] {
|
||||
--vw-motiv: url("/assets/img/cryo-ring.webp?v=202609301254");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-ring-klein.webp?v=202609301254");
|
||||
--vw-motiv: url("/assets/img/cryo-ring.webp?v=202610010152");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-ring-klein.webp?v=202610010152");
|
||||
--vw-farbe: var(--wd-aqua-rgb);
|
||||
--vw-blick: 72% 46%;
|
||||
}
|
||||
[data-vw-bereich="projekte"] {
|
||||
--vw-motiv: url("/assets/img/cryo-monolith.webp?v=202609301254");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-monolith-klein.webp?v=202609301254");
|
||||
--vw-motiv: url("/assets/img/cryo-monolith.webp?v=202610010152");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-monolith-klein.webp?v=202610010152");
|
||||
--vw-farbe: var(--wd-lila-rgb);
|
||||
--vw-blick: 80% 46%;
|
||||
}
|
||||
[data-vw-bereich="kunden"] {
|
||||
--vw-motiv: url("/assets/img/cryo-thron.webp?v=202609301254");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-thron-klein.webp?v=202609301254");
|
||||
--vw-motiv: url("/assets/img/cryo-thron.webp?v=202610010152");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-thron-klein.webp?v=202610010152");
|
||||
/* 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=202609301254");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-kristall-klein.webp?v=202609301254");
|
||||
--vw-motiv: url("/assets/img/cryo-kristall.webp?v=202610010152");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-kristall-klein.webp?v=202610010152");
|
||||
--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=202609301254");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-ring-klein.webp?v=202609301254");
|
||||
--vw-motiv: url("/assets/img/cryo-ring.webp?v=202610010152");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-ring-klein.webp?v=202610010152");
|
||||
--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=202609301254"))
|
||||
background: var(--vw-motiv, url("/assets/img/cryo-wappen.webp?v=202610010152"))
|
||||
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=202609301254"));
|
||||
background-image: var(--vw-motiv-klein, url("/assets/img/cryo-wappen-klein.webp?v=202610010152"));
|
||||
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=202609301254"); }
|
||||
.vw-login.wd-motiv::before { background-image: url("/assets/img/cryo-wappen-klein.webp?v=202610010152"); }
|
||||
}
|
||||
|
||||
/* ---------- Kopfleiste ---------- */
|
||||
@@ -2395,7 +2395,7 @@
|
||||
<div class="vw-detail-blatt" id="vw-detail-blatt"></div>
|
||||
</div>
|
||||
|
||||
<script src="/assets/js/wd-core.js?v=202609301254"></script>
|
||||
<script src="/assets/js/wd-core.js?v=202610010152"></script>
|
||||
<script>
|
||||
/* =====================================================================
|
||||
Verwaltung: Anfragen ansehen, Status ändern, Notizen, Archivieren.
|
||||
|
||||
@@ -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=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/webdesign/app.webmanifest" />
|
||||
<meta name="theme-color" content="#564e95" />
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610010152" />
|
||||
</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=202609301254"></script>
|
||||
<script src="/assets/js/wd-core.js?v=202609301254"></script>
|
||||
<script src="/assets/js/wd-widerruf.js?v=202609301254"></script>
|
||||
<script src="/assets/js/i18n-wd-widerruf.js?v=202610010152"></script>
|
||||
<script src="/assets/js/wd-core.js?v=202610010152"></script>
|
||||
<script src="/assets/js/wd-widerruf.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -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=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610010152" />
|
||||
<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=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610010152" />
|
||||
<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=202609301254" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610010152" />
|
||||
<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=202609301254" alt="" width="472" height="476" />
|
||||
<img src="/assets/img/logo-dogfather-transparent.png?v=202610010152" 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=202609301254" alt="" width="76" height="76" />
|
||||
<img class="zg-foto" src="/assets/img/wd-dogfather-karte.jpg?v=202610010152" 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=202609301254" alt="" width="76" height="76" />
|
||||
<img class="zg-foto" src="/assets/img/wd-vanvan-karte.jpg?v=202610010152" 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=202609301254"></script>
|
||||
<script src="/assets/js/wd-core.js?v=202609301254"></script>
|
||||
<script src="/assets/js/i18n-wd-zugang.js?v=202610010152"></script>
|
||||
<script src="/assets/js/wd-core.js?v=202610010152"></script>
|
||||
<script>
|
||||
(function () {
|
||||
"use strict";
|
||||
|
||||
+10
-10
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Werte als Manager — DOGFATHER UNIVERSE</title>
|
||||
<meta name="description" content="Die Werte, nach denen DogFather als Manager bei Spicy Media arbeitet." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,17 +20,17 @@
|
||||
<meta name="twitter:description" content="Die Werte, nach denen DogFather als Manager bei Spicy Media arbeitet." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
</head>
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-werte.jpg?v=202609301254');--page-bg-mobile:url('/assets/img/bg-werte-mobile.jpg?v=202609301254');">
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-werte.jpg?v=202610010152');--page-bg-mobile:url('/assets/img/bg-werte-mobile.jpg?v=202610010152');">
|
||||
<div id="site-header"></div>
|
||||
|
||||
<main>
|
||||
<section class="hero page-bg">
|
||||
<div class="hero-banner"><img src="/assets/img/bg-werte.jpg?v=202609301254" alt="" loading="eager" /></div>
|
||||
<div class="hero-banner"><img src="/assets/img/bg-werte.jpg?v=202610010152" alt="" loading="eager" /></div>
|
||||
<div class="container">
|
||||
<span class="eyebrow" data-i18n="wt_eyebrow">Welt 3 — Manager DogFather</span>
|
||||
<h1 data-i18n="wt_h1">Werte als Manager</h1>
|
||||
@@ -114,7 +114,7 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/i18n-werte.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-werte.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
verdeckt. Gefunden hat es pruef-struktur.
|
||||
|
||||
Richtig sind `gate.css` (die Farbwerte des Hauses) und `haus.css`. -->
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202610010152" />
|
||||
<!-- Ohne diese drei nimmt ein iPhone einen Bildschirmausschnitt als
|
||||
Symbol, Android zeichnet die Leiste weiss, und die Seite oeffnet
|
||||
ausserhalb der App -- auf einer Seite, die genau erklaeren soll,
|
||||
@@ -33,7 +33,7 @@
|
||||
schreibt jede Seite app.webmanifest -- auch die hier. -->
|
||||
<link rel="manifest" href="/workspace/app.webmanifest" />
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610010059" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610010152" />
|
||||
<style>
|
||||
/* Bewusst in der Seite und nicht in einer eigenen Datei: Diese Seite
|
||||
soll auch dann noch etwas anzeigen, wenn genau das schiefgeht,
|
||||
@@ -135,7 +135,7 @@
|
||||
|
||||
|
||||
|
||||
<script src="assets/js/anruf-probe.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/anruf-probe.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202610010152" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -23,25 +23,25 @@
|
||||
},
|
||||
"icons": [
|
||||
{
|
||||
"src": "/assets/img/app-symbole/workspace-192.png?v=202610010059",
|
||||
"src": "/assets/img/app-symbole/workspace-192.png?v=202610010152",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/app-symbole/workspace-512.png?v=202610010059",
|
||||
"src": "/assets/img/app-symbole/workspace-512.png?v=202610010152",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202610010059",
|
||||
"src": "/assets/img/app-symbole/workspace-192-maskable.png?v=202610010152",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
},
|
||||
{
|
||||
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202610010059",
|
||||
"src": "/assets/img/app-symbole/workspace-512-maskable.png?v=202610010152",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
} else {
|
||||
punkt('warn', 'Ton ist noch gesperrt',
|
||||
'Der Browser lässt Ton erst zu, nachdem man einmal etwas angetippt hat. '
|
||||
+ 'Drück unten auf „Klingelton anhören" – danach ist er frei, '
|
||||
+ 'Drück unten auf „Klingelton anhören“ – danach ist er frei, '
|
||||
+ 'solange die Seite offen bleibt.');
|
||||
}
|
||||
return raum;
|
||||
@@ -148,7 +148,7 @@
|
||||
const anrufArt = (d.arten || []).find((x) => x.schluessel === 'anruf');
|
||||
if (anrufArt && anrufArt.an === false) {
|
||||
punkt('schlecht', 'Anrufe sind bei dir abgeschaltet',
|
||||
'In den Benachrichtigungen die Art „Jemand ruft an" wieder einschalten.');
|
||||
'In den Benachrichtigungen die Art „Jemand ruft an“ wieder einschalten.');
|
||||
} else if (d.ruhe.jetzt) {
|
||||
punkt('gut', `Es ist Ruhezeit (${d.ruhe.ab}–${d.ruhe.bis} Uhr)`,
|
||||
'Erinnerungen bleiben jetzt liegen – Anrufe kommen trotzdem durch.');
|
||||
|
||||
@@ -470,7 +470,7 @@
|
||||
nennt, den es immer gibt: die Geraeteeinstellungen. */
|
||||
throw new Error('Das Mikrofon ist gesperrt. Erlaube es in den '
|
||||
+ 'Einstellungen deines Geräts (Apps → Team Dogi → Mikrofon) '
|
||||
+ 'und versuch es noch einmal. Unter „Klingelt nichts?" steht, '
|
||||
+ 'und versuch es noch einmal. Unter „Klingelt nichts?“ steht, '
|
||||
+ 'wie das geht.');
|
||||
}
|
||||
if (f?.name === 'NotFoundError') {
|
||||
|
||||
@@ -408,7 +408,7 @@
|
||||
if (DARF_ABBRECHEN.has(ich.rolle)) {
|
||||
const ab = el('button', 'schritt schritt--ab', 'abbrechen');
|
||||
ab.type = 'button';
|
||||
ab.setAttribute('aria-label', `„${a.titel}" abbrechen`);
|
||||
ab.setAttribute('aria-label', `„${a.titel}“ abbrechen`);
|
||||
ab.addEventListener('click', () => abbruchOeffnen(a));
|
||||
schritte.append(ab);
|
||||
}
|
||||
@@ -461,10 +461,10 @@
|
||||
const dlg = $('abbruch-dialog');
|
||||
if (!dlg) return;
|
||||
dlg.dataset.id = String(a.id);
|
||||
$('abbruch-titel').textContent = `„${a.titel}" abbrechen?`;
|
||||
$('abbruch-titel').textContent = `„${a.titel}“ abbrechen?`;
|
||||
/* Sagt, was gleich passiert -- und was NICHT passiert. Die Sorge
|
||||
bei so einem Knopf ist immer, ob etwas verloren geht. */
|
||||
$('abbruch-was').textContent = `Die Aufgabe steht danach unter „Abgebrochen" `
|
||||
$('abbruch-was').textContent = `Die Aufgabe steht danach unter „Abgebrochen“ `
|
||||
+ `statt in der Spalte ${STATUS_NAME[a.status] || a.status}. `
|
||||
+ `Sie wird nicht gelöscht und lässt sich jederzeit wieder aufnehmen.`;
|
||||
$('abbruch-grund').value = '';
|
||||
@@ -559,7 +559,7 @@
|
||||
if (DARF_ABBRECHEN.has(ich.rolle)) {
|
||||
const zurueck = el('button', 'schritt', 'wieder aufnehmen ↩');
|
||||
zurueck.type = 'button';
|
||||
zurueck.setAttribute('aria-label', `„${a.titel}" wieder aufnehmen`);
|
||||
zurueck.setAttribute('aria-label', `„${a.titel}“ wieder aufnehmen`);
|
||||
zurueck.addEventListener('click', () => wiederAufnehmen(a, zurueck));
|
||||
k.append(zurueck);
|
||||
}
|
||||
@@ -1077,7 +1077,7 @@
|
||||
async function bewerbungEntscheiden(knopf, b, ja) {
|
||||
const wer = b.selbst ? 'dich' : b.person_name;
|
||||
const antwort = await window.frageNach({
|
||||
titel: ja ? `„${b.titel}" an ${b.person_name}?` : `${b.person_name} absagen?`,
|
||||
titel: ja ? `„${b.titel}“ an ${b.person_name}?` : `${b.person_name} absagen?`,
|
||||
was: ja
|
||||
? `Die Aufgabe wird angelegt und liegt danach bei ${b.person_name}.`
|
||||
: `Die Vorlage bleibt auf dem Brett – ${wer} kann sich später wieder bewerben.`,
|
||||
@@ -1832,9 +1832,9 @@
|
||||
/* Loeschen ist hier fast nie das Richtige -- deshalb nennt der
|
||||
Dialog den sanfteren Weg beim Namen, statt nur zu warnen. */
|
||||
if (!await frageNach({
|
||||
titel: `„${bearbeitet.titel}" löschen?`,
|
||||
titel: `„${bearbeitet.titel}“ löschen?`,
|
||||
was: 'Die Aufgabe wird samt Rückmeldungen und Verlauf entfernt.',
|
||||
bleibt: 'Wenn sie nur nicht mehr stören soll: „Abbrechen" legt sie '
|
||||
bleibt: 'Wenn sie nur nicht mehr stören soll: „Abbrechen“ legt sie '
|
||||
+ 'beiseite, ohne etwas wegzuwerfen – dort ist sie später noch da.',
|
||||
endgueltig: true, ja: 'Endgültig löschen',
|
||||
})) return;
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
const REGELN = [
|
||||
{ name: 'Hinweise auf der Übersicht',
|
||||
text: 'Überfälliges, heute Fälliges, Gespräche ohne Protokoll, fällige Follow-ups und dringende Punkte werden bei jedem Aufruf neu ermittelt. Sie führen keine eigene Liste – ein Hinweis verschwindet von selbst, sobald die Sache erledigt ist.' },
|
||||
{ name: '„Neu" in der Bibliothek',
|
||||
{ name: '„Neu“ in der Bibliothek',
|
||||
text: 'Eine frisch eingestellte Anleitung steht 48 Stunden unter „Neu & wichtig“ und ist danach nur noch in ihrer Kategorie zu finden. Angepinntes bleibt, bis es jemand abschaltet.' },
|
||||
{ name: 'Zuständigkeit bei der Übergabe',
|
||||
text: 'Wird aus einem übergebenen Lead ein Creator angelegt, betreut ihn automatisch der Scout, der ihn gefunden hat. Die Angaben aus der Pipeline wandern dabei ins Creator-Profil.' },
|
||||
|
||||
@@ -640,7 +640,7 @@
|
||||
b.title = 'Schickt Art, Titel und Text als Nachricht in den Chat.';
|
||||
b.addEventListener('click', async () => {
|
||||
if (!await frageNach({
|
||||
titel: `„${e.titel}" als Nachricht schicken?`,
|
||||
titel: `„${e.titel}“ als Nachricht schicken?`,
|
||||
was: 'Die Person bekommt Art, Titel und Text im Chat – einmalig.',
|
||||
bleibt: 'Der Eintrag bleibt hier stehen. Zurückholen lässt sich '
|
||||
+ 'die Nachricht nicht, sobald sie unterwegs ist.',
|
||||
@@ -1123,7 +1123,7 @@
|
||||
if (bereich === 'mitmachen' && e.erstellt_rolle === 'gast') {
|
||||
zeile.append(tuKnopf('zu den Talenten', async () => {
|
||||
if (!await frageNach({
|
||||
titel: '„' + e.titel + '" zu den Talenten übernehmen?',
|
||||
titel: '„' + e.titel + '“ zu den Talenten übernehmen?',
|
||||
was: 'Die Person erscheint danach in der Talente-Liste.',
|
||||
bleibt: 'Der Beitrag hier bleibt stehen. Übernehmen heißt noch '
|
||||
+ 'keine Zusage – es entscheidet weiterhin ein Mensch.',
|
||||
@@ -1144,7 +1144,7 @@
|
||||
if (e.erstellt_von !== ich.id) {
|
||||
zeile.append(tuKnopf('entfernen', async () => {
|
||||
const a1 = await frageNach({
|
||||
titel: '„' + e.titel + '" entfernen?',
|
||||
titel: '„' + e.titel + '“ entfernen?',
|
||||
was: 'Der Beitrag verschwindet vom Brett.',
|
||||
bleibt: 'Der Grund wird festgehalten und der Person mitgeteilt – '
|
||||
+ 'sie hat ein Recht darauf (DSA Art. 17).',
|
||||
@@ -1432,7 +1432,7 @@
|
||||
zweite Wahrheit, die beim nächsten neuen Brett ausläuft. */
|
||||
const brauchtGrund = treffBrett && e.erstellt_von !== ich.id;
|
||||
const antwort = await frageNach({
|
||||
titel: `„${e.titel}" löschen?`,
|
||||
titel: `„${e.titel}“ löschen?`,
|
||||
was: 'Der Eintrag verschwindet vom Brett – für alle.',
|
||||
bleibt: brauchtGrund
|
||||
? 'Nachrichten, die dazu geschrieben wurden, gehen mit. Der Grund '
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
if (!schluessel) {
|
||||
sagFehler('Diese Adresse ist unvollständig — der Schlüssel fehlt. '
|
||||
+ 'Hol sie dir im Regiepult unter „Bühne".');
|
||||
+ 'Hol sie dir im Regiepult unter „Bühne“.');
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -170,7 +170,7 @@
|
||||
const a = await fetch(`/workspace/api/buehne/lage?s=${encodeURIComponent(schluessel)}`);
|
||||
if (a.status === 404) {
|
||||
sagFehler('Der Schlüssel stimmt nicht mehr. '
|
||||
+ 'Hol dir die Adresse neu im Regiepult unter „Bühne".');
|
||||
+ 'Hol dir die Adresse neu im Regiepult unter „Bühne“.');
|
||||
return false;
|
||||
}
|
||||
if (!a.ok) return false;
|
||||
|
||||
@@ -369,10 +369,10 @@
|
||||
const weg = el('div', 'kk__knoepfe');
|
||||
weg.append(tuKnopf('Protokoll löschen', async () => {
|
||||
if (!await frageNach({
|
||||
titel: 'Protokoll zu „' + c.titel + '" löschen?',
|
||||
titel: 'Protokoll zu „' + c.titel + '“ löschen?',
|
||||
was: 'Der Text ist danach weg und lässt sich nicht wiederholen.',
|
||||
bleibt: 'Das Gespräch bleibt im Kalender und steht danach wieder '
|
||||
+ 'unter „Protokoll fehlt". Daraus entstandene Aufgaben bleiben auch.',
|
||||
+ 'unter „Protokoll fehlt“. Daraus entstandene Aufgaben bleiben auch.',
|
||||
endgueltig: true, ja: 'Protokoll löschen',
|
||||
})) return;
|
||||
const a = await hole('/workspace/api/calls/' + c.id + '/protokoll', { method: 'DELETE' });
|
||||
@@ -487,7 +487,7 @@
|
||||
if (!daten.offen.length && !daten.anstehend.length
|
||||
&& !(daten.serien || []).length && !daten.erledigt.length) {
|
||||
const leer = el('div', 'leer-hinweis');
|
||||
leer.append(document.createTextNode('Noch keine Calls. Termine mit der Art „Call" oder „Review" '));
|
||||
leer.append(document.createTextNode('Noch keine Calls. Termine mit der Art „Call“ oder „Review“ '));
|
||||
const a = el('a', 'call__verweis', 'im Kalender');
|
||||
a.href = 'kalender.html';
|
||||
leer.append(a, document.createTextNode(' erscheinen automatisch hier.'));
|
||||
|
||||
@@ -1039,7 +1039,7 @@
|
||||
einer Bequemlichkeit. */
|
||||
const FAECHER = [
|
||||
{ wert: 'direkt', name: 'Personen', leer: 'Noch kein Gespräch mit einer einzelnen Person.' },
|
||||
{ wert: 'gruppe', name: 'Gruppen', leer: 'Noch keine Gruppe. Mit „Neu" legst du eine an.' },
|
||||
{ wert: 'gruppe', name: 'Gruppen', leer: 'Noch keine Gruppe. Mit „Neu“ legst du eine an.' },
|
||||
{ wert: 'kanal', name: 'Kanäle', leer: 'Noch kein Kanal.' },
|
||||
];
|
||||
let fach = (() => {
|
||||
@@ -1247,7 +1247,7 @@
|
||||
if (!zeigen.length && !suchtext) {
|
||||
leerSatz.textContent = raeume.length
|
||||
? (FAECHER.find((f) => f.wert === fach)?.leer || 'Hier ist noch nichts.')
|
||||
: 'Noch keine Gespräche. Mit „Neu" schreibst du der ersten Person.';
|
||||
: 'Noch keine Gespräche. Mit „Neu“ schreibst du der ersten Person.';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1429,7 +1429,7 @@
|
||||
nadel.setAttribute('aria-pressed', String(fix));
|
||||
nadel.title = fix ? 'Nicht mehr oben halten' : 'Oben halten';
|
||||
nadel.setAttribute('aria-label',
|
||||
fix ? `„${r.name}" nicht mehr oben halten` : `„${r.name}" oben halten`);
|
||||
fix ? `„${r.name}“ nicht mehr oben halten` : `„${r.name}“ oben halten`);
|
||||
nadel.addEventListener('click', async (e) => {
|
||||
/* Sonst oeffnet der Klick zusaetzlich das Gespraech -- die
|
||||
Zeile daneben ist ein Knopf, und der Klick blubbert im <li>
|
||||
@@ -3316,7 +3316,7 @@
|
||||
/* Kein „kopiere sie" mehr -- an der Nachricht steht jetzt ein
|
||||
Knopf, der es in einem Griff wiederholt. */
|
||||
melde(`${grund} Die Nachricht ist nicht angekommen – `
|
||||
+ `mit „Nochmal senden" kannst du es gleich wiederholen.`);
|
||||
+ `mit „Nochmal senden“ kannst du es gleich wiederholen.`);
|
||||
}
|
||||
|
||||
async function zuruecknehmen(id, fremd = false) {
|
||||
@@ -4066,7 +4066,7 @@
|
||||
hinein, das schon drin ist. */
|
||||
leer.textContent = gifs.length === 0
|
||||
? 'Die Kiste ist noch leer. Leg das erste GIF hinein – alle aus dem Team sehen es dann auch.'
|
||||
: `Nichts gefunden zu „${suche}". Insgesamt liegen ${gifs.length} GIFs in der Kiste.`;
|
||||
: `Nichts gefunden zu „${suche}“. Insgesamt liegen ${gifs.length} GIFs in der Kiste.`;
|
||||
}
|
||||
const ruhig = ruhigerModus();
|
||||
for (const g of zeigen) {
|
||||
@@ -4117,7 +4117,7 @@
|
||||
kommentarlos. */
|
||||
if (!await frageNach({
|
||||
titel: 'Aus der Kiste nehmen?',
|
||||
was: `„${g.name}" ist danach fuer das ganze Team weg.`,
|
||||
was: `„${g.name}“ ist danach fuer das ganze Team weg.`,
|
||||
bleibt: 'Schon verschickte GIFs bleiben in den Gespraechen stehen.',
|
||||
endgueltig: true, ja: 'Herausnehmen',
|
||||
})) return;
|
||||
@@ -4908,7 +4908,7 @@
|
||||
const wasIstEs = offen.art === 'kanal' ? 'Kanal' : 'Gruppe';
|
||||
const andere = Math.max(0, (offen.teilnehmer?.length || 1) - 1);
|
||||
if (!await frageNach({
|
||||
titel: `${wasIstEs} „${offen.name}" für alle auflösen?`,
|
||||
titel: `${wasIstEs} „${offen.name}“ für alle auflösen?`,
|
||||
was: `Der ganze Verlauf wird gelöscht – auch bei ${andere === 1
|
||||
? 'der anderen Person' : `den ${andere} anderen`}, samt aller Anhänge.`,
|
||||
bleibt: 'Wenn du sie nur bei dir loswerden willst, nimm den Knopf '
|
||||
|
||||
@@ -167,7 +167,7 @@
|
||||
er ist gesprochener Text, kein Etikett. Fehlt er, steht das da:
|
||||
eine Luecke, die man sieht, wird gefuellt. */
|
||||
if (e.hook) {
|
||||
k.append(el('p', 'video__hook', '„' + e.hook + '"'));
|
||||
k.append(el('p', 'video__hook', '„' + e.hook + '“'));
|
||||
} else if (e.art !== 'idee' && e.art !== 'veroeffentlicht') {
|
||||
k.append(el('p', 'video__hook video__hook--fehlt', 'Noch kein Hook'));
|
||||
}
|
||||
@@ -214,7 +214,7 @@
|
||||
}
|
||||
knoepfe.append(tuKnopf('löschen', 'Dieses Video entfernen', async () => {
|
||||
if (!await frageNach({
|
||||
titel: `„${e.titel}" löschen?`,
|
||||
titel: `„${e.titel}“ löschen?`,
|
||||
was: 'Die Idee verschwindet aus der Planung.',
|
||||
bleibt: 'Ein schon eingetragener Drehtermin im Kalender bleibt stehen.',
|
||||
endgueltig: true, ja: 'Löschen',
|
||||
@@ -389,7 +389,7 @@
|
||||
if (!darfEintragen()) { ziel.append(z); continue; }
|
||||
z.append(tuKnopf('löschen', 'Säule entfernen, Videos bleiben', async () => {
|
||||
if (!await frageNach({
|
||||
titel: `Säule „${s.name}" entfernen?`,
|
||||
titel: `Säule „${s.name}“ entfernen?`,
|
||||
was: 'Die Säule verschwindet aus der Auswahl.',
|
||||
bleibt: 'Alle Videos bleiben – sie stehen danach nur ohne Säule da '
|
||||
+ 'und lassen sich jederzeit einer anderen zuordnen.',
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
async function schicke(datei) {
|
||||
melde('');
|
||||
if (datei.size > maxBytes) {
|
||||
melde(`„${datei.name}" ist ${groesse(datei.size)} groß – erlaubt sind ${groesse(maxBytes)}.`);
|
||||
melde(`„${datei.name}“ ist ${groesse(datei.size)} groß – erlaubt sind ${groesse(maxBytes)}.`);
|
||||
return;
|
||||
}
|
||||
/* MIT FORTSCHRITT UND ABBRUCH (19.09.2026). Vorher stand hier von
|
||||
@@ -241,7 +241,7 @@
|
||||
if (LEITUNG.has(ich.rolle) || (d.hochgeladen_von === ich.id && d.status !== 'freigegeben')) {
|
||||
knoepfe.append(tuKnopf('löschen', async () => {
|
||||
if (!await frageNach({
|
||||
titel: `„${d.name_original}" löschen?`,
|
||||
titel: `„${d.name_original}“ löschen?`,
|
||||
was: 'Die Datei wird vom Server entfernt.',
|
||||
bleibt: 'Wer sie schon heruntergeladen hat, behält seine Kopie.',
|
||||
endgueltig: true, ja: 'Löschen',
|
||||
|
||||
@@ -137,7 +137,7 @@
|
||||
Die Liste deshalb NICHT neu zu holen ist Absicht: Jeder Neuaufbau
|
||||
bewegt die Seite, und genau darüber hat Filipe sich im selben
|
||||
Atemzug beschwert. Stattdessen wandert die Zahl mit. */
|
||||
const personZahlen = new Map(); // Personennummer -> Element mit „x von 28"
|
||||
const personZahlen = new Map(); // Personennummer -> Element mit „x von 28“
|
||||
let letzteKarte = null; // { id, daten } der gerade offenen Karte
|
||||
|
||||
/** Alle sichtbaren Zähler auf den Stand bringen, den die Karte hat.
|
||||
@@ -1052,11 +1052,11 @@
|
||||
melde(fehlt
|
||||
? `Angelegt — aber ${fehlt} Person(en) konnten nicht eingetragen werden.`
|
||||
: wieViele === 1
|
||||
? `„${titel}" steht jetzt bei ${ersterName || 'der gewählten Person'}.`
|
||||
? `„${titel}“ steht jetzt bei ${ersterName || 'der gewählten Person'}.`
|
||||
: istPool
|
||||
? `„${titel}" liegt für ${wieViele} Leute bereit — wer zuerst Zeit hat,`
|
||||
? `„${titel}“ liegt für ${wieViele} Leute bereit — wer zuerst Zeit hat,`
|
||||
+ ' bewirbt sich, und du entscheidest.'
|
||||
: `„${titel}" steht jetzt bei ${wieViele} Leuten — jede hat ihren`
|
||||
: `„${titel}“ steht jetzt bei ${wieViele} Leuten — jede hat ihren`
|
||||
+ ' eigenen Stand.',
|
||||
!fehlt);
|
||||
/* UND DIE LISTE DARUNTER ZEIGT DIE ERSTE PERSON. Sie ist die,
|
||||
@@ -2434,7 +2434,7 @@
|
||||
ziel.setAttribute('aria-busy', 'false');
|
||||
if (!lage.personen.length) {
|
||||
ziel.append(el('p', 'leise',
|
||||
'Noch niemand im Team. Zugänge legst du in „Personen & Zugänge" an.'));
|
||||
'Noch niemand im Team. Zugänge legst du in „Personen & Zugänge“ an.'));
|
||||
}
|
||||
gesucht = null;
|
||||
for (const p of lage.personen) ziel.append(personKarte(p, lage));
|
||||
|
||||
@@ -172,7 +172,7 @@
|
||||
kopf.className = 'hochlade__kopf';
|
||||
const text = document.createElement('span');
|
||||
text.className = 'hochlade__text';
|
||||
text.textContent = `„${dateiname}" wird hochgeladen …`;
|
||||
text.textContent = `„${dateiname}“ wird hochgeladen …`;
|
||||
kopf.append(text);
|
||||
|
||||
let abbruch = null;
|
||||
@@ -204,12 +204,12 @@
|
||||
fortschritt(anteil, gesendet, gesamt) {
|
||||
if (anteil === null || anteil === undefined) {
|
||||
balken.removeAttribute('value');
|
||||
text.textContent = `„${dateiname}" wird hochgeladen …`;
|
||||
text.textContent = `„${dateiname}“ wird hochgeladen …`;
|
||||
return;
|
||||
}
|
||||
balken.value = anteil;
|
||||
const g = window.groesseInWorten;
|
||||
text.textContent = `„${dateiname}" – ${Math.round(anteil * 100)} %`
|
||||
text.textContent = `„${dateiname}“ – ${Math.round(anteil * 100)} %`
|
||||
+ (gesamt ? ` von ${g(gesamt)}` : '');
|
||||
},
|
||||
verarbeiten() {
|
||||
|
||||
@@ -177,9 +177,9 @@ function knopfBauen(wohin) {
|
||||
const titel = 'Als App auf dem Home-Bildschirm';
|
||||
const weg = istApple
|
||||
? 'Tippe unten in Safari auf das Teilen-Zeichen (Viereck mit Pfeil nach oben), '
|
||||
+ 'dann auf „Zum Home-Bildschirm".'
|
||||
+ 'dann auf „Zum Home-Bildschirm“.'
|
||||
: 'Öffne das Menü deines Browsers (die drei Punkte) und wähle dort '
|
||||
+ '„App installieren" oder „Zum Startbildschirm hinzufügen".';
|
||||
+ '„App installieren“ oder „Zum Startbildschirm hinzufügen“.';
|
||||
const dazu = 'Danach liegt die Seite wie eine App auf deinem Gerät – und '
|
||||
+ 'Anrufe und Nachrichten kommen zuverlässiger an.';
|
||||
|
||||
|
||||
@@ -1102,7 +1102,7 @@
|
||||
const knoepfe = el('div', 'k-serie__knoepfe');
|
||||
knoepfe.append(tuKnopf(s.aktiv ? 'abstellen' : 'wieder starten', async () => {
|
||||
if (s.aktiv && !await frageNach({
|
||||
titel: 'Wiederholung „' + s.titel + '" abstellen?',
|
||||
titel: 'Wiederholung „' + s.titel + '“ abstellen?',
|
||||
was: 'Kommende Termine, die noch niemand angefasst hat, werden aus '
|
||||
+ 'dem Kalender genommen.',
|
||||
bleibt: 'Vergangene und bearbeitete Termine bleiben stehen. Du kannst '
|
||||
@@ -1119,7 +1119,7 @@
|
||||
}));
|
||||
knoepfe.append(tuKnopf('löschen', async () => {
|
||||
if (!await frageNach({
|
||||
titel: 'Wiederholung „' + s.titel + '" ganz löschen?',
|
||||
titel: 'Wiederholung „' + s.titel + '“ ganz löschen?',
|
||||
was: 'Die Regel ist damit weg. Kommende, noch unangetastete Termine '
|
||||
+ 'werden entfernt.',
|
||||
bleibt: 'Vergangene und schon bearbeitete Termine bleiben als '
|
||||
@@ -1391,13 +1391,13 @@
|
||||
if (!await frageNach({
|
||||
titel: e.serie_id
|
||||
? 'Nur diesen einen Termin am ' + tagLang(e.tag) + ' streichen?'
|
||||
: 'Termin „' + e.titel + '" löschen?',
|
||||
: 'Termin „' + e.titel + '“ löschen?',
|
||||
was: e.serie_id
|
||||
? 'Nur dieser eine Tag entfällt.'
|
||||
: 'Der Termin verschwindet aus dem Kalender.',
|
||||
bleibt: e.serie_id
|
||||
? 'Die Wiederholung „' + e.titel + '" läuft weiter. Zum Abstellen '
|
||||
+ 'den Schalter unter „Läuft von allein" benutzen.'
|
||||
? 'Die Wiederholung „' + e.titel + '“ läuft weiter. Zum Abstellen '
|
||||
+ 'den Schalter unter „Läuft von allein“ benutzen.'
|
||||
: 'Alle anderen Termine bleiben stehen.',
|
||||
endgueltig: true, ja: e.serie_id ? 'Diesen Tag streichen' : 'Löschen',
|
||||
})) return;
|
||||
|
||||
@@ -1568,7 +1568,7 @@
|
||||
function zeichne(d) {
|
||||
ergebnis.textContent = '';
|
||||
if (!d.gesamt) {
|
||||
zeigeHinweis(`Nichts gefunden zu „${d.frage}".`);
|
||||
zeigeHinweis(`Nichts gefunden zu „${d.frage}“.`);
|
||||
return;
|
||||
}
|
||||
for (const g of d.gruppen) {
|
||||
|
||||
@@ -219,7 +219,7 @@
|
||||
if (!z || (!z.diamanten && !z.tage && !z.verweildauer)) {
|
||||
ziel.append(el('p', 'leistung__leer',
|
||||
darfEintragen()
|
||||
? 'Noch keine Ziele gesetzt. Aus „mehr Reichweite" wird hier eine prüfbare Größe.'
|
||||
? 'Noch keine Ziele gesetzt. Aus „mehr Reichweite“ wird hier eine prüfbare Größe.'
|
||||
: 'Noch keine Ziele gesetzt.'));
|
||||
return;
|
||||
}
|
||||
@@ -941,7 +941,7 @@
|
||||
if (d.unbekannt.length) {
|
||||
zeile(`Nicht zugeordnet (${d.unbekannt.length}): ${d.unbekannt.slice(0, 8).join(', ')}`
|
||||
+ (d.unbekannt.length > 8 ? ' …' : ''), 'warn');
|
||||
zeile('Diese Namen stehen bei keinem Creator im Feld „TikTok" im Steckbrief. '
|
||||
zeile('Diese Namen stehen bei keinem Creator im Feld „TikTok“ im Steckbrief. '
|
||||
+ 'Dort eintragen – danach werden sie beim nächsten Mal gefunden.', 'still');
|
||||
}
|
||||
if (d.probleme_gesamt) {
|
||||
@@ -1050,7 +1050,7 @@
|
||||
bei einer Ausgabe eine Titelzeile darueber), ist die Sorte
|
||||
Hilfsbereitschaft, die spaeter niemand nachvollzieht. */
|
||||
if (ausExcel) {
|
||||
melde(`Excel gelesen: Blatt „${ausExcel.blatt}", ${ausExcel.zeilen} Zeilen, `
|
||||
melde(`Excel gelesen: Blatt „${ausExcel.blatt}“, ${ausExcel.zeilen} Zeilen, `
|
||||
+ `${ausExcel.spalten} Spalten`
|
||||
+ (ausExcel.uebersprungen ? ` (${ausExcel.uebersprungen} Titelzeile übersprungen)` : ''));
|
||||
setTimeout(() => melde(''), 7000);
|
||||
|
||||
@@ -195,7 +195,7 @@
|
||||
gesehen. Gemessen an der Quelle, nicht angenommen. */
|
||||
const erg = await window.frageNach?.({
|
||||
titel: 'Wirklich entfernen?',
|
||||
was: `„${m.name}" verschwindet aus der Liste, und die Datei wird gelöscht.`,
|
||||
was: `„${m.name}“ verschwindet aus der Liste, und die Datei wird gelöscht.`,
|
||||
bleibt: 'Was schon jemand genommen hat, ist davon nicht betroffen — '
|
||||
+ 'das liegt längst auf seinem Gerät.',
|
||||
endgueltig: true,
|
||||
@@ -526,12 +526,12 @@
|
||||
schlicht gelogen und schickte jemanden los, der schon am Ziel ist. */
|
||||
function leerSatz(untenAnzahl) {
|
||||
if (katFilter && untenAnzahl) {
|
||||
return `Unter „${ZUSTAND_WORT[katFilter] || katFilter}" steht nichts zum `
|
||||
return `Unter „${ZUSTAND_WORT[katFilter] || katFilter}“ steht nichts zum `
|
||||
+ 'Mitnehmen — was dazu passt, findest du weiter unten.';
|
||||
}
|
||||
if (katFilter) {
|
||||
return `In „${ZUSTAND_WORT[katFilter] || katFilter}" ist gerade nichts. `
|
||||
+ 'Tipp oben auf „Alle", um wieder alles zu sehen.';
|
||||
return `In „${ZUSTAND_WORT[katFilter] || katFilter}“ ist gerade nichts. `
|
||||
+ 'Tipp oben auf „Alle“, um wieder alles zu sehen.';
|
||||
}
|
||||
return stand.darf_einstellen
|
||||
? 'Gerade nichts frei. Stell oben etwas bereit — dann können die anderen es sich holen.'
|
||||
@@ -580,7 +580,7 @@
|
||||
const sofort = frei.filter((m) => m.zustand === 'frei').length;
|
||||
$('frei-satz').textContent = !frei.length ? ''
|
||||
: katFilter
|
||||
? `${frei.length} in „${ZUSTAND_WORT[katFilter] || katFilter}". `
|
||||
? `${frei.length} in „${ZUSTAND_WORT[katFilter] || katFilter}“. `
|
||||
+ 'Wer es nimmt, hat es — danach ist es für alle anderen weg.'
|
||||
: `${frei.length} Stück zum Mitnehmen`
|
||||
+ (sofort === frei.length ? '. ' : `, davon ${sofort} sofort. `)
|
||||
|
||||
@@ -154,7 +154,7 @@
|
||||
abgelehnt: 'Du hast diese Aufgabe abgelehnt. Wenn du sie doch machen willst, sag kurz Bescheid.',
|
||||
darf_nicht_bewerten:'Rückmeldung geben dürfen nur DogFather und die Hände.',
|
||||
ungueltige_bewertung:'Diese Rückmeldung kennt das System nicht. Lade die Seite neu.',
|
||||
text_fehlt: 'Zu „Verbesserungsmöglichkeiten" gehört ein Satz – sonst weiß niemand, was gemeint ist.',
|
||||
text_fehlt: 'Zu „Verbesserungsmöglichkeiten“ gehört ein Satz – sonst weiß niemand, was gemeint ist.',
|
||||
text_zu_lang: 'Der Text ist zu lang. Kürze ihn etwas.',
|
||||
noch_nicht_erledigt:'Rückmeldung gibt es erst, wenn die Aufgabe fertig ist.',
|
||||
/* 22.09.2026: Seit die Modis sich keine Aufgaben mehr selbst geben,
|
||||
@@ -217,7 +217,7 @@
|
||||
+ 'zurückzusetzen würde allen das Video wegnehmen.',
|
||||
satz_unbekannt:
|
||||
'Diesen Münzsatz gibt es nicht. Wähl einen aus der Liste — '
|
||||
+ '„Eigenes Zeichen" geht erst, wenn du eines hochgeladen hast.',
|
||||
+ '„Eigenes Zeichen“ geht erst, wenn du eines hochgeladen hast.',
|
||||
person_unbekannt:
|
||||
'Diese Person gibt es hier nicht. Wähl jemanden aus der Liste '
|
||||
+ 'oder lass das Feld leer.',
|
||||
@@ -284,7 +284,7 @@
|
||||
'Das Bild ist zu groß. Erlaubt sind 3 MB.',
|
||||
|
||||
kein_zweites:
|
||||
'Es liegt kein zweites Video bereit. Trag eins unter „Sendung" ein, '
|
||||
'Es liegt kein zweites Video bereit. Trag eins unter „Sendung“ ein, '
|
||||
+ 'dann kannst du hin und her wechseln.',
|
||||
betrag_unklar:
|
||||
'Diese Zahl ergibt keinen Sinn. Schreib sie in Dogen, '
|
||||
@@ -304,7 +304,7 @@
|
||||
'Diese Maßnahme gibt es nicht. Möglich sind: stumm und aus der Sendung.',
|
||||
nicht_gegen_team:
|
||||
'Gegen jemanden aus dem Team geht das hier nicht. '
|
||||
+ 'Wenn wirklich etwas ist, gehört das zu „Personen & Zugänge".',
|
||||
+ 'Wenn wirklich etwas ist, gehört das zu „Personen & Zugänge“.',
|
||||
dauer_unklar:
|
||||
'Eine Stummschaltung geht höchstens eine Stunde. '
|
||||
+ 'Für länger nimm die Maßnahmen im Treff – die haben eine Begründung und eine Frist.',
|
||||
@@ -355,7 +355,7 @@
|
||||
kein_block: 'Diesen Bereich gibt es nicht mehr. Lade die Seite neu.',
|
||||
kein_hakt:
|
||||
'Daraus lässt sich kein Schritt machen – dafür müsste der Punkt auf '
|
||||
+ '„Da hakt es" stehen.',
|
||||
+ '„Da hakt es“ stehen.',
|
||||
|
||||
/* ---- Erst das andere zu Ende -------------------------------- */
|
||||
uebergang_offen:
|
||||
@@ -387,7 +387,7 @@
|
||||
'Da war jemand schneller – das ist schon vergeben. Such dir ein '
|
||||
+ 'anderes aus, damit nichts zweimal gepostet wird.',
|
||||
nicht_genommen:
|
||||
'Dieses Bild gehört dir nicht. Nimm dir eines aus „Zum Mitnehmen", '
|
||||
'Dieses Bild gehört dir nicht. Nimm dir eines aus „Zum Mitnehmen“, '
|
||||
+ 'dann kannst du es laden.',
|
||||
art_nicht_erlaubt:
|
||||
'Das geht hier nicht – es nimmt nur Bilder (JPG, PNG, WebP, GIF, '
|
||||
|
||||
@@ -800,7 +800,7 @@
|
||||
/* HIER WIRD GEFRAGT, und nur hier. Der Unterschied zum Wegtun ist
|
||||
genau der, der eine Rückfrage rechtfertigt: Danach gibt es
|
||||
keinen Weg zurück mehr. */
|
||||
const name = titel ? `„${titel}"` : 'dieses Blatt';
|
||||
const name = titel ? `„${titel}“` : 'dieses Blatt';
|
||||
/* DER HAUSDIALOG, NICHT `confirm()` (30.09.2026).
|
||||
|
||||
Hier stand der nackte Kasten des Browsers — ohne Notnagel, ohne
|
||||
@@ -899,7 +899,7 @@
|
||||
const dazu = rest && notizen.find((x) => x.id === rest.id);
|
||||
if (dazu && rest.text !== dazu.text) {
|
||||
melde('Auf diesem Gerät liegt noch eine ungesicherte Fassung von '
|
||||
+ `„${dazu.titel || 'Ohne Titel'}". Öffne das Blatt – du kannst sie dann übernehmen.`);
|
||||
+ `„${dazu.titel || 'Ohne Titel'}“. Öffne das Blatt – du kannst sie dann übernehmen.`);
|
||||
dazu.rest = rest.text;
|
||||
} else if (rest) {
|
||||
lagerLeeren();
|
||||
|
||||
@@ -215,7 +215,7 @@
|
||||
if (a.status === 401) {
|
||||
if (codeOffen) {
|
||||
melde('Deine Sitzung ist beendet. Schreib den Code oben JETZT ab – '
|
||||
+ 'die Seite bleibt stehen, bis du „Verstanden" drückst.');
|
||||
+ 'die Seite bleibt stehen, bis du „Verstanden“ drückst.');
|
||||
throw new Error('abgemeldet, Code steht noch');
|
||||
}
|
||||
location.assign('/workspace/'); throw new Error('abgemeldet');
|
||||
@@ -350,11 +350,11 @@
|
||||
const name = $('rolle-wahl').querySelector('.rollenwahl__knopf[data-an="ja"] .rollenwahl__name')?.textContent || gewaehlt;
|
||||
if (!await frageNach({
|
||||
titel: `${rolleFuer.name}: Rolle ändern?`,
|
||||
was: `Von „${ROLLENNAME[rolleFuer.rolle] || rolleFuer.rolle}" zu „${name}".`
|
||||
was: `Von „${ROLLENNAME[rolleFuer.rolle] || rolleFuer.rolle}“ zu „${name}“.`
|
||||
+ ' Damit ändert sich, welche Seiten die Person öffnen darf.',
|
||||
bleibt: 'Der Zugangscode bleibt derselbe. Offene Sitzungen werden beendet, '
|
||||
+ 'danach kann sie sich mit dem alten Code wieder anmelden.',
|
||||
ja: `Zu „${name}" machen`,
|
||||
ja: `Zu „${name}“ machen`,
|
||||
})) return;
|
||||
|
||||
const a = await hole(`/workspace/api/verwaltung/personen/${rolleFuer.id}/rolle`, {
|
||||
@@ -942,7 +942,7 @@ Der Code gilt einmal fuer die `
|
||||
].filter(Boolean).join(' ');
|
||||
|
||||
if (!await frageNach({
|
||||
titel: `„${v.person.name}" löschen?`,
|
||||
titel: `„${v.person.name}“ löschen?`,
|
||||
was: wasWeg,
|
||||
bleibt: wasBleibt,
|
||||
endgueltig: true,
|
||||
@@ -960,7 +960,7 @@ Der Code gilt einmal fuer die `
|
||||
if (!a.ok) { melde(sagWas(d.fehler, 'Löschen hat nicht geklappt.')); return; }
|
||||
/* Die Sicherung nennen. Wer gerade etwas Unumkehrbares getan hat,
|
||||
soll sofort wissen, woraus es sich zurückholen lässt. */
|
||||
melde(`„${v.person.name}" wurde gelöscht. Sicherung davor: ${d.sicherung}`);
|
||||
melde(`„${v.person.name}“ wurde gelöscht. Sicherung davor: ${d.sicherung}`);
|
||||
await laden();
|
||||
} catch { /* umgeleitet */ }
|
||||
}
|
||||
|
||||
@@ -334,7 +334,7 @@
|
||||
denselben Worten wie überall im Haus. */
|
||||
const ja = await window.frageNach?.({
|
||||
titel: 'Botschaft löschen?',
|
||||
was: `„${b.text}" wird aus dem Band genommen.`,
|
||||
was: `„${b.text}“ wird aus dem Band genommen.`,
|
||||
endgueltig: true,
|
||||
ja: 'Löschen', nein: 'Behalten',
|
||||
});
|
||||
@@ -2338,7 +2338,7 @@
|
||||
reihe.append(kasten);
|
||||
}
|
||||
$('ton-hinweis').textContent =
|
||||
'Die Regler gelten für das, was DU hörst. Nur „Mein Mikro" und der '
|
||||
'Die Regler gelten für das, was DU hörst. Nur „Mein Mikro“ und der '
|
||||
+ 'Stummschalter an einer Gastkarte gelten für alle. Der Balken zeigt '
|
||||
+ 'den gemessenen Pegel — beim YouTube-Regler die eingestellte '
|
||||
+ 'Lautstärke, denn Ton aus einem fremden Rahmen lässt sich nicht messen.';
|
||||
@@ -3131,11 +3131,11 @@
|
||||
gleichzeitig, und drei Zeilen untereinander liest mitten in
|
||||
einer Sendung niemand. */
|
||||
$('kamecke-hinweis').textContent = !kamerasDa
|
||||
? 'Bei „Nur Video" sind die Kamerafenster ganz weg — Größe und Ecke '
|
||||
? 'Bei „Nur Video“ sind die Kamerafenster ganz weg — Größe und Ecke '
|
||||
+ 'gelten wieder, sobald sie zurückkommen.'
|
||||
: eckeGilt
|
||||
? 'Unten rechts liegt bei TikTok die Knopfreihe — such dir eine freie Ecke.'
|
||||
: 'Die Ecke gilt bei „Video groß" — gerade stehen die Fenster in der Mitte.';
|
||||
: 'Die Ecke gilt bei „Video groß“ — gerade stehen die Fenster in der Mitte.';
|
||||
|
||||
/* ---- Der Umschalter ----
|
||||
Er steht nur da, wenn es etwas zum Umschalten GIBT. Ein Knopf,
|
||||
@@ -3146,7 +3146,7 @@
|
||||
if (lage.zweit) {
|
||||
const wort = lage.zweit.titel || lage.zweit.video;
|
||||
$('v-tausch-titel').textContent = wort.length > 34 ? wort.slice(0, 33) + '…' : wort;
|
||||
tausch.title = `Wechseln zu „${wort}"`
|
||||
tausch.title = `Wechseln zu „${wort}“`
|
||||
+ (lage.zweit.sekunde > 2 ? ` — weiter bei ${alsZeit(lage.zweit.sekunde)}` : '');
|
||||
}
|
||||
if (document.activeElement !== $('p-zweit')) {
|
||||
@@ -3510,7 +3510,7 @@
|
||||
const leer = el('li');
|
||||
leer.append(el('p', 'warte-leer',
|
||||
'Nichts vorbereitet. Häng oben eine YouTube-Adresse an — dann '
|
||||
+ 'reicht im Live ein Druck auf „Nächstes".'));
|
||||
+ 'reicht im Live ein Druck auf „Nächstes“.'));
|
||||
kasten.append(leer);
|
||||
return;
|
||||
}
|
||||
@@ -4585,7 +4585,7 @@
|
||||
kasten.append(el('p', 'raus__text',
|
||||
wort === 'treff_massnahme'
|
||||
? 'Im Treff läuft eine Maßnahme gegen dich. Solange sie läuft, bist du '
|
||||
+ 'bei der Reaction nicht dabei. Was los ist, steht im Treff unter „Meine Maßnahmen".'
|
||||
+ 'bei der Reaction nicht dabei. Was los ist, steht im Treff unter „Meine Maßnahmen“.'
|
||||
: 'Die Moderation hat dich aus dieser Sendung genommen. Das gilt nur für heute — '
|
||||
+ 'bei der nächsten Reaction bist du wieder dabei.'));
|
||||
document.body.append(kasten);
|
||||
|
||||
@@ -144,7 +144,7 @@
|
||||
lange niemand — und genau das ist der Klick, bei dem eine
|
||||
Sekunde Nachdenken etwas wert ist. */
|
||||
if (erlaubt && !await frageNach({
|
||||
titel: `„${rolle.name}" darf danach ${seite.datei} öffnen`,
|
||||
titel: `„${rolle.name}“ darf danach ${seite.datei} öffnen`,
|
||||
was: 'Das gilt sofort, für alle mit dieser Rolle.',
|
||||
bleibt: 'Zurücknehmen geht jederzeit mit demselben Schalter – aber bis '
|
||||
+ 'dahin hat jeder mit dieser Rolle Zugang.',
|
||||
@@ -162,7 +162,7 @@
|
||||
melde(sagWas((await a.json().catch(() => ({}))).fehler, 'Ging nicht.'));
|
||||
return;
|
||||
}
|
||||
melde(`Gespeichert: „${rolle.name}" darf ${seite.datei} `
|
||||
melde(`Gespeichert: „${rolle.name}“ darf ${seite.datei} `
|
||||
+ `${erlaubt ? 'jetzt' : 'nicht mehr'} öffnen.`, 'gut');
|
||||
await laden();
|
||||
} finally {
|
||||
|
||||
@@ -174,7 +174,7 @@
|
||||
const knöpfe = el('div', 'kk__knoepfe');
|
||||
const ziel = WEITER[l.status];
|
||||
if (ziel) {
|
||||
const w = el('button', 'knopf knopf--klein knopf--weiter', 'Weiter zu „' + stufen[ziel] + '"');
|
||||
const w = el('button', 'knopf knopf--klein knopf--weiter', 'Weiter zu „' + stufen[ziel] + '“');
|
||||
w.type = 'button';
|
||||
w.addEventListener('click', () => stufeSetzen(l, ziel));
|
||||
knöpfe.append(w);
|
||||
@@ -330,7 +330,7 @@
|
||||
wg.type = 'button';
|
||||
wg.addEventListener('click', async () => {
|
||||
if (!await frageNach({
|
||||
titel: `„${l.name}" aus der Pipeline entfernen?`,
|
||||
titel: `„${l.name}“ aus der Pipeline entfernen?`,
|
||||
was: 'Der Lead verschwindet aus der Liste, samt Notizen und Verlauf.',
|
||||
bleibt: 'Andere Leads bleiben unberührt.',
|
||||
endgueltig: true, ja: 'Entfernen',
|
||||
@@ -350,7 +350,7 @@
|
||||
|
||||
async function onboarding(l, knopf) {
|
||||
if (!await frageNach({
|
||||
titel: `Aus „${l.name}" einen Creator mit eigenem Zugang anlegen?`,
|
||||
titel: `Aus „${l.name}“ einen Creator mit eigenem Zugang anlegen?`,
|
||||
was: 'Es entsteht ein Konto mit eigenem Zugangscode.',
|
||||
bleibt: 'Der Lead bleibt in der Pipeline stehen und wird als '
|
||||
+ 'übernommen markiert.',
|
||||
@@ -448,7 +448,7 @@
|
||||
+ 'also nicht daran denken, die Seite denkt für dich.'));
|
||||
|
||||
kasten.append(el('p', 'erklaerung__los',
|
||||
'„Neuer Kontakt" oben rechts legt den ersten an.'));
|
||||
'„Neuer Kontakt“ oben rechts legt den ersten an.'));
|
||||
|
||||
ziel.append(kasten);
|
||||
return;
|
||||
|
||||
@@ -429,10 +429,10 @@
|
||||
titel: nachtrag ? 'Noch etwas nachschicken?' : 'Behoben – beim Melder nachfragen?',
|
||||
was: nachtrag
|
||||
? 'Dein neuer Satz ERSETZT den alten in dieser Runde – der Melder sieht nur ihn.'
|
||||
: 'Er bekommt deinen Satz und zwei Knöpfe: „Geht wieder" oder „Noch nicht".',
|
||||
: 'Er bekommt deinen Satz und zwei Knöpfe: „Geht wieder“ oder „Noch nicht“.',
|
||||
bleibt: nachtrag
|
||||
? 'Die Meldung bleibt bei ihm liegen. Der Verlauf davor bleibt stehen.'
|
||||
: 'Erledigt ist sie erst, wenn ER bestätigt. Sagt er „noch nicht", '
|
||||
: 'Erledigt ist sie erst, wenn ER bestätigt. Sagt er „noch nicht“, '
|
||||
+ 'kommt sie zurück – mit allem, was ihr bisher geschrieben habt.',
|
||||
ja: nachtrag ? 'Nachschicken' : 'Nachfragen',
|
||||
grund: 'Was ist daraus geworden?',
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
|
||||
if (!schluessel) {
|
||||
sagFehler('Diese Adresse ist unvollständig — der Schlüssel fehlt. '
|
||||
+ 'Hol sie dir im Regiepult unter „Bühne".');
|
||||
+ 'Hol sie dir im Regiepult unter „Bühne“.');
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -129,7 +129,7 @@
|
||||
.then((a) => {
|
||||
if (a.status === 404) {
|
||||
sagFehler('Der Schlüssel stimmt nicht mehr. '
|
||||
+ 'Hol dir die Adresse neu im Regiepult unter „Bühne".');
|
||||
+ 'Hol dir die Adresse neu im Regiepult unter „Bühne“.');
|
||||
return;
|
||||
}
|
||||
verbinden();
|
||||
|
||||
@@ -499,7 +499,7 @@
|
||||
hier: Was der Browser prüft, ist Höflichkeit, was der Server
|
||||
prüft, ist die Regel. */
|
||||
if (grund.length < 10) {
|
||||
melde('Ein Satz gehört dazu – „passt nicht" ist keiner.');
|
||||
melde('Ein Satz gehört dazu – „passt nicht“ ist keiner.');
|
||||
feld.focus();
|
||||
return;
|
||||
}
|
||||
@@ -1102,7 +1102,7 @@
|
||||
const a = el('a', null, 'Talente-Brett öffnen');
|
||||
a.href = 'bereich.html?b=talente';
|
||||
fuss.append(a);
|
||||
fuss.append('. Von dort landet es hier automatisch auf „Aufgefallen".');
|
||||
fuss.append('. Von dort landet es hier automatisch auf „Aufgefallen“.');
|
||||
ziel.append(fuss);
|
||||
|
||||
beendeteZeigen(ziel);
|
||||
@@ -1154,7 +1154,7 @@
|
||||
stehen, statt auf einen eigenen Wert „beendet" umgeschrieben zu
|
||||
werden -- „nach dem ersten Hinsehen" und „in der Probe" sind
|
||||
zwei verschiedene Sätze. */
|
||||
kopf.append(el('span', 't-beendet__stufe', 'in „' + k.stufe_name + '"'));
|
||||
kopf.append(el('span', 't-beendet__stufe', 'in „' + k.stufe_name + '“'));
|
||||
kopf.append(el('span', 't-beendet__zeit', kurzDatum(k.beendet.am)));
|
||||
a.append(kopf);
|
||||
|
||||
@@ -1165,7 +1165,7 @@
|
||||
|
||||
const wieder = el('button', 't-beendet__wieder', 'Wieder aufnehmen');
|
||||
wieder.type = 'button';
|
||||
wieder.title = 'Beginnt neu bei „Aufgefallen". Der Satz von damals '
|
||||
wieder.title = 'Beginnt neu bei „Aufgefallen“. Der Satz von damals '
|
||||
+ 'wandert in die Notiz.';
|
||||
wieder.addEventListener('click', async () => {
|
||||
wieder.disabled = true;
|
||||
|
||||
@@ -277,7 +277,7 @@
|
||||
const darfPersonen = Array.isArray(window.__ich?.seiten)
|
||||
&& window.__ich.seiten.includes('/workspace/personen.html');
|
||||
ziel.append(el('p', 'leise', darfPersonen
|
||||
? 'Noch niemand. Zugänge legst du in „Personen & Zugänge" an, Rolle Community.'
|
||||
? 'Noch niemand. Zugänge legst du in „Personen & Zugänge“ an, Rolle Community.'
|
||||
: 'Noch niemand. Zugänge für die Community legt DogFather an – '
|
||||
+ 'sag ihm im Chat Bescheid, wenn jemand dazukommen soll.'));
|
||||
return;
|
||||
|
||||
@@ -334,7 +334,7 @@
|
||||
Tastatur bedienen — `confirm` sperrt die ganze Seite. */
|
||||
const ja = window.bestaetige
|
||||
? await window.bestaetige({
|
||||
titel: `„${w.titel}" entfernen?`,
|
||||
titel: `„${w.titel}“ entfernen?`,
|
||||
text: 'Der Weg verschwindet für alle, und die Striche der letzten '
|
||||
+ 'Monate gehen mit. Das lässt sich nicht zurückholen.',
|
||||
ja: 'Entfernen', nein: 'Behalten',
|
||||
@@ -439,8 +439,8 @@
|
||||
if (ohne.length || unsichtbar.length) {
|
||||
const namen = [...new Set([...ohne, ...unsichtbar].map((w) => w.titel))].join(', ');
|
||||
satz.textContent = `Noch ohne Adresse und deshalb für niemanden sichtbar: ${namen}. `
|
||||
+ 'Drück auf „Ändern", trag die Adresse ein und setz den Haken bei '
|
||||
+ '„steht für alle da".';
|
||||
+ 'Drück auf „Ändern“, trag die Adresse ein und setz den Haken bei '
|
||||
+ '„steht für alle da“.';
|
||||
satz.dataset.warnung = 'ja';
|
||||
} else {
|
||||
satz.textContent = 'Du kannst hier jeden Weg umschreiben, ausblenden oder '
|
||||
|
||||
@@ -574,7 +574,7 @@
|
||||
den Menschen, nicht über die Aufgabe. */
|
||||
if (a2.entscheid_text) {
|
||||
z.append(el('span', 'vorlagenbrett__antwort-grund',
|
||||
'„' + a2.entscheid_text + '"'
|
||||
'„' + a2.entscheid_text + '“'
|
||||
+ (a2.von_name ? ' – ' + a2.von_name : '')));
|
||||
}
|
||||
band.append(z);
|
||||
@@ -710,7 +710,7 @@
|
||||
z.append(el('span', 'vorlagenbrett__absagen-was', a3.titel));
|
||||
if (a3.entscheid_text) {
|
||||
z.append(el('span', 'vorlagenbrett__absagen-grund',
|
||||
'„' + a3.entscheid_text + '"'
|
||||
'„' + a3.entscheid_text + '“'
|
||||
+ (a3.von_name ? ' – ' + a3.von_name : '')));
|
||||
}
|
||||
block.append(z);
|
||||
@@ -1336,7 +1336,7 @@
|
||||
if (i === 0 && offeneB.length > 1) {
|
||||
reihe.append(el('span', 'vorlagenbrett__bzuerst', 'zuerst da'));
|
||||
}
|
||||
if (b2.text) reihe.append(el('span', 'vorlagenbrett__bwort', `„${b2.text}"`));
|
||||
if (b2.text) reihe.append(el('span', 'vorlagenbrett__bwort', `„${b2.text}“`));
|
||||
for (const [weg, schild, klasse] of [
|
||||
['annehmen', 'Annehmen', 'knopf--klar'],
|
||||
['ablehnen', 'Ablehnen', ''],
|
||||
@@ -1430,7 +1430,7 @@
|
||||
async function bewerben(knopf, v) {
|
||||
const antwort = await window.frageNach({
|
||||
titel: 'Für diese Aufgabe bewerben?',
|
||||
was: `„${v.titel}" – DogFather oder die rechte Hand entscheiden, ob du sie bekommst.`,
|
||||
was: `„${v.titel}“ – DogFather oder die rechte Hand entscheiden, ob du sie bekommst.`,
|
||||
bleibt: 'Du kannst deine Bewerbung jederzeit wieder zurückziehen.',
|
||||
grund: 'Willst du etwas dazuschreiben? (freiwillig)',
|
||||
grundPflicht: false,
|
||||
@@ -1486,7 +1486,7 @@
|
||||
const antwort = await window.frageNach({
|
||||
titel: `${schild} — ${wem}`,
|
||||
was: weg === 'annehmen'
|
||||
? `${wem} bekommt „${v.titel}" als Aufgabe auf das Brett.`
|
||||
? `${wem} bekommt „${v.titel}“ als Aufgabe auf das Brett.`
|
||||
: `${wem} bekommt sie nicht. Die Vorlage bleibt für alle offen.`,
|
||||
/* DER TEXT IST DER GRUND, WARUM FILIPE DAS SO WOLLTE: „mit einem
|
||||
text als notiz". Eine Absage ohne Satz ist die, nach der
|
||||
|
||||
@@ -222,7 +222,7 @@
|
||||
der Unterschied nicht in Zahlen zu sehen (`scrollWidth`
|
||||
ist in beiden Faellen gleich) -- nur im Bild. */
|
||||
const eigen = el('button', 'wahl2__eintrag wahl2__eintrag--eigen');
|
||||
eigen.append(el('span', 'wahl2__name', `„${suche.trim()}" eintragen`));
|
||||
eigen.append(el('span', 'wahl2__name', `„${suche.trim()}“ eintragen`));
|
||||
eigen.type = 'button';
|
||||
eigen.setAttribute('role', 'option');
|
||||
eigen.addEventListener('click', () => {
|
||||
|
||||
@@ -252,7 +252,7 @@
|
||||
weg.type = 'button';
|
||||
weg.addEventListener('click', async () => {
|
||||
if (!await frageNach({
|
||||
titel: `„${e.titel}" löschen?`,
|
||||
titel: `„${e.titel}“ löschen?`,
|
||||
was: 'Der Eintrag verschwindet aus dem Wissen. Die PDF wird dabei '
|
||||
+ 'auch vom Server entfernt.',
|
||||
bleibt: 'Wer sie schon heruntergeladen hat, behält seine Kopie.',
|
||||
|
||||
@@ -199,7 +199,7 @@
|
||||
/* DER GRUND GEHÖRT DANEBEN, nicht hinter einen zweiten Klick:
|
||||
Wer "abgelehnt" liest, will als Nächstes wissen, warum. */
|
||||
if (z.zustand === 'abgelehnt' && z.grund) {
|
||||
zeile.append(el('span', 'z-wer__grund', '„' + z.grund + '"'));
|
||||
zeile.append(el('span', 'z-wer__grund', '„' + z.grund + '“'));
|
||||
}
|
||||
if (z.bewertung) {
|
||||
var b = el('span', 'z-wer__bewertung', z.bewertung_text_kurz);
|
||||
@@ -212,7 +212,7 @@
|
||||
sie gehoert daneben, nicht hinter einen zweiten Klick. */
|
||||
if (z.entscheid_text) {
|
||||
zeile.append(el('span', 'z-wer__grund',
|
||||
'„' + z.entscheid_text + '"'
|
||||
'„' + z.entscheid_text + '“'
|
||||
+ (z.entschieden_von_name ? ' – ' + z.entschieden_von_name : '')));
|
||||
}
|
||||
wer.append(zeile);
|
||||
@@ -437,7 +437,7 @@
|
||||
if (i === 0 && bewerbungen.length > 1) {
|
||||
reihe.append(el('span', 'z-bewerbung__zuerst', 'zuerst da'));
|
||||
}
|
||||
if (z.grund) reihe.append(el('span', 'z-bewerbung__wort', '„' + z.grund + '"'));
|
||||
if (z.grund) reihe.append(el('span', 'z-bewerbung__wort', '„' + z.grund + '“'));
|
||||
|
||||
[['annehmen', 'Annehmen', 'knopf--klar'],
|
||||
['ablehnen', 'Ablehnen', ''],
|
||||
@@ -522,7 +522,7 @@
|
||||
{ person_id: z.person_id, bewertung: art, text: antwort.grund || '' });
|
||||
if (r.ok) { nachLaden(); return; }
|
||||
sagen(meldung, r.json.fehler === 'text_fehlt'
|
||||
? 'Bei „Verbesserungsmöglichkeiten" gehört ein Satz dazu — sonst weiß '
|
||||
? 'Bei „Verbesserungsmöglichkeiten“ gehört ein Satz dazu — sonst weiß '
|
||||
+ wem + ' nicht, was gemeint ist.'
|
||||
: (window.sagWas ? window.sagWas(r.json.fehler) : 'Hat nicht geklappt.'), false);
|
||||
});
|
||||
|
||||
+19
-19
@@ -12,19 +12,19 @@
|
||||
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
|
||||
eine Flaeche sind statt zweier. -->
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610010059" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202610010059" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202610010152" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202610010152" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -430,22 +430,22 @@
|
||||
<!-- TEXTFORM ZUERST (21.09.2026): Die Seite fragt beim Zeichnen nach
|
||||
`window.Textform`. Kaeme sie spaeter, waere der erste Eintrag ohne
|
||||
Gestaltung. Kein `defer`, damit sie wirklich vorher dasteht. -->
|
||||
<script src="assets/js/textform.js?v=202610010059"></script>
|
||||
<script src="assets/js/meldung.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/textform.js?v=202610010152"></script>
|
||||
<script src="assets/js/meldung.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/hochladen.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202610010152" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/zuteilung.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/zuteilung.js?v=202610010152" defer></script>
|
||||
<!-- Der Vorlagenkatalog stand bis zum 23.09.2026 mitten in
|
||||
aufgaben.js. Er bedient jetzt zwei Seiten und hat deshalb eine
|
||||
eigene Datei; hier zeigt er den Creator-Katalog.
|
||||
Vor aufgaben.js, weil die Seite ihn beim Start einrichtet. -->
|
||||
<script src="assets/js/vorlagenbrett.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/aufgaben.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/vorlagenbrett.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/aufgaben.js?v=202610010152" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+16
-16
@@ -12,20 +12,20 @@
|
||||
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
|
||||
eine Flaeche sind statt zweier. -->
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610010059" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/automation.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202610010059" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/automation.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202610010152" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202610010152" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -168,15 +168,15 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202610010152" defer></script>
|
||||
|
||||
|
||||
<script src="assets/js/wahl.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/automation.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/automation.js?v=202610010152" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+17
-17
@@ -7,14 +7,14 @@
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link rel="manifest" href="/workspace/app.webmanifest" />
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610010059" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202610010059" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202610010152" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -197,16 +197,16 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202610010152" defer></script>
|
||||
|
||||
|
||||
<script src="assets/js/wahl.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/holen.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/befinden.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/holen.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/befinden.js?v=202610010152" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+22
-22
@@ -12,24 +12,24 @@
|
||||
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
|
||||
eine Flaeche sind statt zweier. -->
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610010059" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202610010059" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202610010152" />
|
||||
<!-- Wegen des Blocks „Willst du dazugehoeren?" auf dem Brett
|
||||
„Mitmachen". Eine eigene Kopie der Regel hier waere die zweite
|
||||
Stelle, an der dieselbe Sache anders aussieht. -->
|
||||
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202610010152" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202610010152" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -304,19 +304,19 @@
|
||||
<!-- TEXTFORM ZUERST (21.09.2026): Die Seite fragt beim Zeichnen nach
|
||||
`window.Textform`. Kaeme sie spaeter, waere der erste Eintrag ohne
|
||||
Gestaltung. Kein `defer`, damit sie wirklich vorher dasteht. -->
|
||||
<script src="assets/js/textform.js?v=202610010059"></script>
|
||||
<script src="assets/js/meldung.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/textform.js?v=202610010152"></script>
|
||||
<script src="assets/js/meldung.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202610010152" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/checkliste.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/ampel.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/schulung.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/holen.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/bereich.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/checkliste.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/ampel.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/schulung.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/holen.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/bereich.js?v=202610010152" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+19
-19
@@ -7,17 +7,17 @@
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link rel="manifest" href="/workspace/app.webmanifest" />
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610010059" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/treff.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202610010059" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/treff.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202610010152" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202610010152" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -108,15 +108,15 @@
|
||||
</main>
|
||||
|
||||
<!-- Der Fuß gehört zu jeder Seite - siehe pruef-css-klassen. -->
|
||||
<script src="assets/js/meldung.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202610010152" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/bewerben.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/bewerben.js?v=202610010152" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+18
-18
@@ -7,16 +7,16 @@
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link rel="manifest" href="/workspace/app.webmanifest" />
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610010059" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202610010059" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202610010152" />
|
||||
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202610010152" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -80,16 +80,16 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/meldung.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202610010152" defer></script>
|
||||
|
||||
|
||||
<script src="assets/js/wahl.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/bewerbungen.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/auskunft.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/bewerbungen.js?v=202610010152" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user