Startseiten/Feeds/Kategorie/Rechtsseiten ueberarbeitet, Kontakt-Modal durch schwebendes contact-launcher-Widget ersetzt, legal-language-notice ergaenzt; Platzhalter-SVGs + Theme-CSS angepasst. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
74 lines
2.5 KiB
PHP
74 lines
2.5 KiB
PHP
@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.site-footer />
|
||
@else
|
||
<x-web.site-footer />
|
||
@endif
|