presseportale/resources/views/components/web/static-page.blade.php
Kevin Adametz 258502bb85 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>
2026-07-03 10:47:47 +00:00

76 lines
2.5 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@props([
'eyebrow' => null,
'title' => '',
'lead' => null,
'updated' => null,
'breadcrumb' => null,
])
{{--
Editorial-Gerüst für statische/Info-Seiten (Pflichtseiten, FAQ, Hilfe …).
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
$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
@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="{{ $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>
@endif
</div>
</div>
{{-- Masthead --}}
<section class="max-w-layout mx-auto px-4 sm:px-6 lg:px-8 pt-8 lg:pt-10">
@if ($eyebrow)
<div class="eyebrow mb-3">{{ $eyebrow }}</div>
@endif
<h1 class="font-serif text-[34px] sm:text-[44px] font-semibold m-0 leading-[1.05] tracking-[-1px] text-ink">{{ $title }}</h1>
@if ($lead)
<p class="font-serif text-[16px] leading-[1.55] m-0 mt-4 max-w-[680px] text-ink-2">{{ $lead }}</p>
@endif
@if ($updated)
<p class="text-[12px] text-ink-3 m-0 mt-3">{{ $updated }}</p>
@endif
<hr class="rule-strong mt-6">
</section>
{{-- Inhalt --}}
<section class="max-w-layout mx-auto px-4 sm:px-6 lg:px-8 mt-8 pb-16">
{{ $slot }}
</section>
</main>
@if ($isHub)
<x-web.hub.contact-modal />
<x-web.hub.withdrawal-modal />
<x-web.hub.site-footer />
@else
<x-web.site-footer />
@endif