Files
dogfather-universe/kontakt.html
T
DogFatherGit c940538b1d PWA-Installierbarkeit: Seite kann jetzt als App installiert werden (Desktop-Icon)
Recherche (developer.chrome.com, Lighthouse-Doku, Stand 2026): Chrome/Edge
zeigen "App installieren" bei gültigem Web App Manifest (name, icons inkl.
512x512, start_url, display:standalone) UND einem registrierten Service
Worker mit fetch()-Handler — reines Manifest reicht für den zuverlässigen
Install-Prompt nicht mehr aus.

- Neues manifest.json (Name, Theme-/Hintergrundfarbe passend zum dunklen
  Design, Icons 192x192 + 512x512 aus dem bestehenden Husky-Favicon erzeugt)
- Neuer sw.js: minimaler Service Worker, primär für die Installierbarkeit,
  cached nebenbei die wichtigsten Shell-Dateien (Network-first mit
  Cache-Fallback, kein Offline-Vollausbau)
- main.js: registriert den Service Worker nur bei http(s) (nie bei
  file://, damit die Seite laut Projektregel weiterhin per Doppelklick
  ohne Server funktioniert — stiller Fallback statt Konsolenfehler)
- Alle 28 HTML-Seiten: <link rel="manifest"> + <meta name="theme-color">
  im <head> ergänzt (identischer Ankerpunkt nach dem Favicon-Link geprüft
  und automatisiert eingefügt)

Installation für Dogi: Seite in Chrome/Edge öffnen → Symbol rechts in der
Adressleiste ("App installieren") oder Menü ⋮ → "DogFather Universe
installieren" → landet als eigenes Fenster + Icon auf Desktop/Startmenü.
2026-08-03 01:50:56 +02:00

81 lines
4.2 KiB
HTML

<!DOCTYPE html>
<html lang="de" data-theme="dogfather">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Kontakt &amp; Rechtliches — DOGFATHER UNIVERSE</title>
<meta name="description" content="Kontakt, Impressum und Datenschutz von DOGFATHER UNIVERSE." />
<link rel="icon" type="image/png" href="assets/img/favicon.png" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#0b0d10" />
<meta property="og:type" content="website" />
<meta property="og:site_name" content="DOGFATHER UNIVERSE" />
<meta property="og:title" content="Kontakt &amp; Rechtliches — DOGFATHER UNIVERSE" />
<meta property="og:description" content="Kontakt, Impressum und Datenschutz von DOGFATHER UNIVERSE." />
<meta property="og:image" content="https://REPLACE-WITH-YOUR-DOMAIN.tld/assets/img/og-cover.jpg" />
<meta property="og:url" content="https://REPLACE-WITH-YOUR-DOMAIN.tld/kontakt.html" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Kontakt &amp; Rechtliches — DOGFATHER UNIVERSE" />
<meta name="twitter:description" content="Kontakt, Impressum und Datenschutz von DOGFATHER UNIVERSE." />
<meta name="twitter:image" content="https://REPLACE-WITH-YOUR-DOMAIN.tld/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css" />
</head>
<body>
<div id="site-header"></div>
<main>
<section class="hero">
<div class="container">
<span class="eyebrow" data-i18n="kt_eyebrow">Kontakt</span>
<h1 data-i18n="kt_h1">Kontakt &amp; Rechtliches</h1>
</div>
</section>
<section class="section-tight">
<div class="container grid grid-2">
<div class="card">
<h3 data-i18n="kt_kontakt_h3">Kontakt</h3>
<p data-i18n="kt_kontakt_p">Für Anfragen zu Kooperationen, Presse oder allgemeine Fragen:</p>
<p><a href="mailto:[email protected]">[email protected]</a></p>
<!-- TODO: echte Kontakt-E-Mail eintragen (auch in assets/js/forms.js -> CONTACT_EMAIL anpassen). -->
</div>
<div class="card">
<h3 data-i18n="kt_social_h3">Social</h3>
<p data-i18n="kt_social_p">Alle Kanäle findest du gesammelt auf der <a href="links.html">Links-Seite</a>.</p>
</div>
</div>
</section>
<section>
<div class="container">
<h2 data-i18n="kt_impressum_h2">Impressum</h2>
<!-- TODO: WICHTIG — offene rechtliche Frage: Ein Impressum ist in Deutschland/EU für geschäftlich genutzte Websites gesetzlich vorgeschrieben (§5 TMG bzw. Nachfolgeregelungen) und verlangt Angaben wie Name, ladungsfähige Anschrift und Kontakt des Betreibers. Das steht im Spannungsfeld zur Entscheidung „nur Persona-Name, keine echten bürgerlichen Daten öffentlich". Mögliche Lösungswege (mit Dogi klären, bevor die Seite live geht): 1) Impressum über die Spicy-Media-Firmendaten statt Privatperson, 2) rechtliche Beratung einholen, welche Mindestangaben nötig sind, 3) vorerst nur lokal/offline nutzen, bis das geklärt ist. -->
<p class="small muted" data-i18n="kt_impressum_p">
Angaben gemäß § 5 TMG<br>
[Firmenname / Betreiber]<br>
[Anschrift]<br>
[Kontakt]<br>
Vertreten durch: [Name]
</p>
</div>
</section>
<section class="section-tight">
<div class="container">
<h2 data-i18n="kt_datenschutz_h2">Datenschutz</h2>
<p data-i18n="kt_datenschutz_p">Diese Website wird aktuell lokal/offline entwickelt und ist noch nicht öffentlich gehostet. Sobald ein Hosting-Anbieter feststeht und Formulare (z.B. Bewerbung) echte Daten versenden, wird hier eine vollständige Datenschutzerklärung ergänzt (Verarbeitungszwecke, Rechtsgrundlage, Speicherdauer, Empfänger, Rechte der Nutzer:innen).</p>
<!-- TODO: Datenschutzerklärung final ausformulieren, sobald Hosting/Formular-Backend feststehen. -->
</div>
</section>
</main>
<div id="site-footer"></div>
<script src="assets/js/i18n-kontakt.js"></script>
<script src="assets/js/main.js"></script>
</body>
</html>