Oeffentliche Strecke durchgaengig auf das Editorial-Design umgestellt und
datengetrieben gemacht:
- Newsrooms-Verzeichnis + Newsroom-Detailseiten (Suche, Pagination)
- Preise-Seite neu (Abos via Plan, Einzel-PM via config/billing, Add-ons via
config/credits); Texte ausgelagert nach lang/{de,en}/pricing.php
- Pricing-Teaser-Komponente auf den Startseiten + Preise-Link in Header/Footer
- Statische Seiten im Editorial-Design ueber neue Komponente x-web.static-page:
impressum, datenschutz, agb, cookies, faq (Akkordeon), hilfe, kontakt,
ueber-uns, api (altes Theme/gradient-hero entfernt)
- Header/Footer-Linkpflege: tote #-Anker raus, FAQ/Hilfe/Cookies verlinkt,
"Anmelden" fuehrt in den Hub
- Legacy-URL-Redirects (.html, presskit->newsroom, Regionen)
- Datums-Bugfix in Feed-Komponenten
Tests: NewsroomPage, PreisePage, PricingTeaser, StaticPages, NavigationLinks,
LegacyRedirect. Doku in docs/frontend aktualisiert.
Co-authored-by: Cursor <cursoragent@cursor.com>
57 lines
2 KiB
PHP
57 lines
2 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).
|
||
--}}
|
||
|
||
@php
|
||
$brandConfig = config('domains.domains.'.config('app.theme').'.brand', []);
|
||
$brandName = $brandConfig['name'] ?? 'businessportal';
|
||
$brandAccent = $brandConfig['accent'] ?? '24';
|
||
@endphp
|
||
|
||
<x-web.site-header />
|
||
|
||
<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>
|
||
@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>
|
||
|
||
<x-web.site-footer />
|