Hub (Web): statische Seiten (Rechtstexte, API, FAQ ...) rendern das Hub-Geruest

x-web.static-page ist jetzt host-aware: Auf der pressekonto-Domain laden
Utility-Bar + Hub-Header/-Footer (inkl. Kontakt- und Widerrufs-Modal,
damit die Footer-Buttons ueberall funktionieren) statt des
Spoke-Geruests; Breadcrumb fuehrt zur Hub-Landing. Hub-Anker-Navigation
(#tarife/#funktion/#familie/#faq) absolut auf die Landing, damit sie
auch von Unterseiten aus funktioniert. Spokes unveraendert (Test).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-07-03 10:47:47 +00:00
parent d6461f5c5e
commit 258502bb85
4 changed files with 70 additions and 11 deletions

View file

@ -11,21 +11,34 @@
Liefert site-header, Breadcrumb, Masthead und site-footer; der Seiteninhalt
kommt als Slot. Prosa-Seiten wrappen ihren Inhalt in `.pm-body` (zentrale
Editorial-Typografie aus shared-styles.css).
Host-aware: Auf der Hub-Domain (pressekonto) rendert das Hub-Gerüst
(Utility-Bar, Hub-Header/-Footer inkl. Kontakt- und Widerrufs-Modal),
auf den Spokes das Portal-Gerüst.
--}}
@php
$brandConfig = config('domains.domains.'.config('app.theme').'.brand', []);
$isHub = str_contains(request()->getHost(), 'pressekonto');
$brandConfig = $isHub
? config('domains.domains.pressekonto.brand', [])
: config('domains.domains.'.config('app.theme').'.brand', []);
$brandName = $brandConfig['name'] ?? 'businessportal';
$brandAccent = $brandConfig['accent'] ?? '24';
$homeHref = $isHub ? route('home') : route('web.home');
@endphp
<x-web.site-header />
@if ($isHub)
<x-web.hub.top-utility-bar />
<x-web.hub.site-header />
@else
<x-web.site-header />
@endif
<main class="bg-bg text-ink">
{{-- Breadcrumb --}}
<div class="border-b border-bg-rule">
<div class="max-w-layout mx-auto px-4 sm:px-6 lg:px-8 py-2.5 flex items-center gap-2 text-[12px] text-ink-3">
<a href="{{ route('web.home') }}" class="hover:text-ink transition-colors">{{ $brandName }}{{ $brandAccent }}</a>
<a href="{{ $homeHref }}" class="hover:text-ink transition-colors">{{ $brandName }}{{ $brandAccent }}</a>
@if ($breadcrumb)
<span class="text-ink-4" aria-hidden="true">›</span>
<span class="text-ink">{{ $breadcrumb }}</span>
@ -54,4 +67,10 @@
</section>
</main>
<x-web.site-footer />
@if ($isHub)
<x-web.hub.contact-modal />
<x-web.hub.withdrawal-modal />
<x-web.hub.site-footer />
@else
<x-web.site-footer />
@endif