presseportale/resources/views/components/web/static-page.blade.php
Kevin Adametz 028b059975
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
Editorial-Frontend: oeffentliche Unterseiten, Preise & Linkpflege
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>
2026-06-17 16:08:46 +00:00

57 lines
2 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).
--}}
@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 />