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>
82 lines
4.6 KiB
PHP
82 lines
4.6 KiB
PHP
@props([
|
|
'brand' => null,
|
|
])
|
|
|
|
@php
|
|
$themeKey = config('app.theme');
|
|
$brand = $brand ?? config('domains.domains.'.$themeKey.'.brand', [
|
|
'name' => 'businessportal',
|
|
'accent' => '24',
|
|
'tagline_short' => 'Pressemitteilungen · DACH',
|
|
'tagline_long' => 'Veröffentlichungs-Portal für redaktionell geprüfte Pressemitteilungen aus Deutschland, Österreich und der Schweiz.',
|
|
'footer_legal' => '© :year businessportal24 · Alle Rechte vorbehalten',
|
|
'about_label' => 'Über businessportal24',
|
|
]);
|
|
|
|
$brandName = $brand['name'] ?? 'businessportal';
|
|
$brandAccent = $brand['accent'] ?? '';
|
|
$brandTagline = $brand['tagline_short'] ?? 'Pressemitteilungen · DACH';
|
|
$brandTaglineLong = $brand['tagline_long'] ?? 'Pressemitteilungen aus dem DACH-Raum.';
|
|
$aboutLabel = $brand['about_label'] ?? ('Über '.$brandName.$brandAccent);
|
|
$legal = str_replace(':year', (string) now()->format('Y'), $brand['footer_legal'] ?? '© :year · Alle Rechte vorbehalten');
|
|
@endphp
|
|
|
|
<footer class="mt-16 bg-topbar-grad text-ink-on-dark">
|
|
<div class="max-w-layout mx-auto px-8 py-12 grid gap-10 grid-cols-1 md:grid-cols-2 lg:grid-cols-[1.4fr_1fr_1fr_1fr]">
|
|
<div>
|
|
<a href="{{ route('web.home') }}" class="block cursor-pointer group" aria-label="{{ $brandName }}{{ $brandAccent }} Startseite">
|
|
<div class="text-[24px] font-semibold leading-none tracking-[-0.5px]">
|
|
<x-web.brand-mark :brand="$themeKey" variant="on-dark" />
|
|
</div>
|
|
<div class="eyebrow mt-2 text-[9.5px] tracking-[0.18em] text-ink-on-dark-muted">
|
|
{{ $brandTagline }}
|
|
</div>
|
|
</a>
|
|
<p class="text-[12.5px] text-white/55 leading-[1.55] mt-4 max-w-[320px]">
|
|
{{ $brandTaglineLong }}
|
|
</p>
|
|
</div>
|
|
|
|
<div>
|
|
<div class="eyebrow mb-3.5">Rubriken</div>
|
|
<ul class="space-y-2 text-[13px] text-white/75 list-none p-0 m-0">
|
|
@foreach (\App\Support\CategoryNavigation::items(5) as $footerCategory)
|
|
<li><a href="{{ $footerCategory['href'] }}" class="cursor-pointer hover:text-white transition-colors">{{ $footerCategory['label'] }}</a></li>
|
|
@endforeach
|
|
<li><a href="{{ route('newsrooms') }}" class="cursor-pointer hover:text-white transition-colors">Newsrooms</a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div>
|
|
<div class="eyebrow mb-3.5">Für Unternehmen</div>
|
|
<ul class="space-y-2 text-[13px] text-white/75 list-none p-0 m-0">
|
|
<li><a href="{{ route('veroeffentlichen') }}" class="cursor-pointer hover:text-white transition-colors">Veröffentlichen</a></li>
|
|
<li><a href="{{ route('preise') }}" class="cursor-pointer hover:text-white transition-colors">Tarife & Pakete</a></li>
|
|
<li><a href="{{ route('api') }}" class="cursor-pointer hover:text-white transition-colors">API & RSS</a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div>
|
|
<div class="eyebrow mb-3.5">Unternehmen</div>
|
|
<ul class="space-y-2 text-[13px] text-white/75 list-none p-0 m-0">
|
|
<li><a href="{{ route('ueber-uns') }}" class="cursor-pointer hover:text-white transition-colors">{{ $aboutLabel }}</a></li>
|
|
<li><a href="{{ route('kontakt') }}" class="cursor-pointer hover:text-white transition-colors">Kontakt</a></li>
|
|
<li><a href="{{ route('faq') }}" class="cursor-pointer hover:text-white transition-colors">FAQ</a></li>
|
|
<li><a href="{{ route('hilfe') }}" class="cursor-pointer hover:text-white transition-colors">Hilfe-Center</a></li>
|
|
<li><a href="{{ route('impressum') }}" class="cursor-pointer hover:text-white transition-colors">Impressum</a></li>
|
|
<li><a href="{{ route('datenschutz') }}" class="cursor-pointer hover:text-white transition-colors">Datenschutz</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="border-t border-white/10">
|
|
<div class="max-w-layout mx-auto px-8 py-5 flex items-center justify-between gap-4 text-[11.5px] text-white/50 flex-wrap">
|
|
<span>{{ $legal }}</span>
|
|
<span class="flex items-center gap-4 flex-wrap">
|
|
<a href="{{ route('agb') }}" class="cursor-pointer hover:text-white transition-colors">AGB</a>
|
|
<a href="{{ route('cookies') }}" class="cursor-pointer hover:text-white transition-colors">Cookies</a>
|
|
<a href="{{ route('datenschutz') }}" class="cursor-pointer hover:text-white transition-colors">Datenschutz</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</footer>
|