Behebt strukturelle Mobile-Bugs (320/390px) über presseecho, businessportal24 und den pressekonto-Hub hinweg: - Focus-/Kategorie-/Newsroom-Hero: Text im Flow (min-h + flex) statt fester Höhe, responsive Typo — Overlay überläuft nicht mehr nach oben. - Quality-Summary: Grid stackt auf Mobile (behebt Seiten-Overflow). - Hub: Utility-Bar mit Wrap, Header mit Mobile-Burger, Footer stackt, Architektur-Diagramm als gestapelte Mobile-Variante. - Sticky-Header (Portal): fehlende .header-sticky-CSS ergänzt und Script mit Platzhalter, damit der Header beim Scrollen sichtbar bleibt. - Header-Overflow bei 320px entschärft (Portal + Hub); Hub-Hero-H1 verkleinert, damit die Wortmarke "businessportal24" umbricht. - Mobile-Nav um Preise/FAQ/API ergänzt; Industry-Index-Dichte, Touch-Targets und Preise-Einzel-PM-Block für kleine Screens verbessert. - Homepages/Shared: px-8 → px-4 sm:px-6 lg:px-8. Co-authored-by: Cursor <cursoragent@cursor.com>
59 lines
2.9 KiB
PHP
59 lines
2.9 KiB
PHP
@props([
|
|
'date' => null,
|
|
'siblingPortals' => [
|
|
['brand' => 'presseecho', 'url' => null],
|
|
['brand' => 'businessportal24', 'url' => null],
|
|
],
|
|
])
|
|
|
|
@php
|
|
$displayDate = $date ?? now()->locale('de')->isoFormat('dddd, D. MMMM YYYY');
|
|
$shortDate = now()->locale('de')->isoFormat('dd, D. MMM');
|
|
|
|
$defaultUrls = [
|
|
'presseecho' => config('domains.domain_presseecho_url'),
|
|
'businessportal24' => config('domains.domain_businessportal_url'),
|
|
];
|
|
@endphp
|
|
|
|
<div class="bg-hub-grad text-ink-on-dark-2 border-b border-black/40">
|
|
<div class="max-w-layout mx-auto px-4 sm:px-6 lg:px-8 flex flex-wrap items-center gap-x-3 gap-y-1.5 text-[11.5px] tracking-wide py-2 sm:py-0 sm:items-stretch">
|
|
|
|
<span class="flex items-center sm:pr-4 sm:py-2.5 sm:border-r sm:border-white/10 whitespace-nowrap">
|
|
<span class="hidden sm:inline">{{ $displayDate }}</span>
|
|
<span class="sm:hidden">{{ $shortDate }}</span>
|
|
</span>
|
|
|
|
<span class="flex items-center gap-2 sm:gap-2.5 sm:px-4 sm:py-2.5 min-w-0 text-white/70">
|
|
<svg width="13" height="13" viewBox="0 0 16 16" fill="none" class="opacity-65 shrink-0 hidden sm:block">
|
|
<rect x="2" y="2" width="5.5" height="5.5" stroke="currentColor" stroke-width="1.2" />
|
|
<rect x="8.5" y="2" width="5.5" height="5.5" stroke="currentColor" stroke-width="1.2" />
|
|
<rect x="2" y="8.5" width="12" height="5.5" stroke="currentColor" stroke-width="1.2" />
|
|
</svg>
|
|
<span class="hidden md:inline shrink-0">Publisher-Hub für</span>
|
|
<span class="flex items-center gap-1.5 sm:gap-2 min-w-0 flex-wrap">
|
|
@foreach ($siblingPortals as $index => $portal)
|
|
@php
|
|
$brandKey = $portal['brand'] ?? 'presseecho';
|
|
$portalUrl = $portal['url'] ?? ($defaultUrls[$brandKey] ?? '#');
|
|
@endphp
|
|
<a href="{{ $portalUrl }}" class="text-white font-semibold hover:underline">
|
|
<x-web.brand-mark :brand="$brandKey" variant="on-dark" :serif="false" />
|
|
</a>
|
|
@if (! $loop->last)
|
|
<span class="text-white/30">·</span>
|
|
@endif
|
|
@endforeach
|
|
</span>
|
|
</span>
|
|
|
|
<span class="flex-1 hidden sm:block"></span>
|
|
|
|
<span class="flex items-center gap-3 sm:gap-4 sm:py-2.5 whitespace-nowrap text-white/65 ml-auto sm:ml-0">
|
|
<a href="{{ route('faq', ['edition' => 'de']) }}" class="hover:text-white transition-colors">FAQ</a>
|
|
<a href="{{ route('hilfe', ['edition' => 'de']) }}" class="hover:text-white transition-colors">Hilfe</a>
|
|
<button type="button" x-data @click="$dispatch('open-contact-modal')" class="hover:text-white cursor-pointer">Kontakt</button>
|
|
</span>
|
|
|
|
</div>
|
|
</div>
|