noscript varianten eingebaut, matomo integration erweitert und als konfiguration aufgenommen.

This commit is contained in:
Codex Agent
2025-12-05 17:02:03 +01:00
parent 946d09764a
commit c1bd4c1eb3
15 changed files with 331 additions and 95 deletions

View File

@@ -33,16 +33,63 @@
<script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js"></script>
</head>
<body class="bg-gray-50 text-gray-900">
@php
$noscriptLocale = in_array($currentLocale ?? app()->getLocale(), ['de', 'en'], true) ? ($currentLocale ?? app()->getLocale()) : 'de';
@endphp
<noscript>
<div class="bg-yellow-100 text-yellow-900 text-sm md:text-base">
<div class="mx-auto max-w-5xl px-4 py-3">
@if ($currentLocale === 'en')
<strong>JavaScript disabled.</strong>
This site offers limited functionality without JavaScript. Please enable JavaScript for the full experience.
@else
<strong>JavaScript deaktiviert.</strong>
Diese Seite bietet nur eingeschränkte Funktionen ohne JavaScript. Bitte aktiviere JavaScript, um alle Inhalte zu nutzen.
@endif
<style>
main { display: none !important; }
</style>
<div class="min-h-screen bg-gradient-to-b from-[#0f172a] via-[#0b1224] to-[#0a0f1f] text-white" style="background:linear-gradient(180deg,#0f172a 0%,#0b1224 50%,#0a0f1f 100%);color:#fff;">
<div class="mx-auto flex max-w-5xl flex-col gap-10 px-6 py-14">
<header class="space-y-3">
<p class="text-xs font-semibold uppercase tracking-[0.2em] text-pink-300">Fotospiel</p>
<h1 class="text-3xl font-semibold sm:text-4xl">
@if ($currentLocale === 'en')
JavaScript required for the full Fotospiel experience
@else
JavaScript für das volle Fotospiel-Erlebnis
@endif
</h1>
<p class="text-base text-white/70 sm:text-lg">
@if ($currentLocale === 'en')
Enable JavaScript to explore the live galleries, pricing, and admin demo. Heres a quick overview.
@else
Aktiviere JavaScript, um Live-Galerien, Preise und die Admin-Demo zu sehen. Hier eine schnelle Übersicht.
@endif
</p>
</header>
<section class="grid gap-4 sm:grid-cols-3">
<div class="rounded-xl border border-white/10 bg-white/5 p-4 text-sm text-white/80 shadow-sm">
<h3 class="text-base font-semibold text-white">PWA für Gäste</h3>
<p class="mt-2">Offline-fähig, QR-Login ohne Account, Likes & Teilen mit Ablaufsteuerung.</p>
</div>
<div class="rounded-xl border border-white/10 bg-white/5 p-4 text-sm text-white/80 shadow-sm">
<h3 class="text-base font-semibold text-white">Admin & Branding</h3>
<p class="mt-2">Eigene Farben/Fonts, Aufgaben & Emotion-Tags, Freigaben & Moderation.</p>
</div>
<div class="rounded-xl border border-white/10 bg-white/5 p-4 text-sm text-white/80 shadow-sm">
<h3 class="text-base font-semibold text-white">Datenschutz</h3>
<p class="mt-2">Keine öffentlichen Profile, keine Gesichtserkennung, DSGVO-ready.</p>
</div>
</section>
<div class="flex flex-wrap gap-3">
<a href="{{ route('marketing.contact', ['locale' => $noscriptLocale]) }}" class="inline-flex items-center justify-center rounded-full bg-pink-500 px-4 py-2 text-sm font-semibold text-white shadow-lg transition hover:bg-pink-400" style="color:#fff;text-decoration:none;background:#ec4899;">
@if ($currentLocale === 'en')
Contact support
@else
Support kontaktieren
@endif
</a>
<a href="{{ route('impressum', ['locale' => $noscriptLocale]) }}" class="inline-flex items-center justify-center rounded-full border border-white/20 px-4 py-2 text-sm font-semibold text-white/80 transition hover:border-white/40" style="color:#e5e7eb;text-decoration:none;border:1px solid rgba(255,255,255,0.2);">
Impressum
</a>
<a href="{{ route('datenschutz', ['locale' => $noscriptLocale]) }}" class="inline-flex items-center justify-center rounded-full border border-white/20 px-4 py-2 text-sm font-semibold text-white/80 transition hover:border-white/40" style="color:#e5e7eb;text-decoration:none;border:1px solid rgba(255,255,255,0.2);">
Datenschutz
</a>
</div>
</div>
</div>
</noscript>