@props([ 'title' => null, 'eyebrow' => 'Publisher-Hub', 'heading' => null, 'topRightLabel' => null, 'topRightLinkText' => null, 'topRightLinkHref' => null, 'showFromBanner' => true, ]) @php $brand = config('domains.domains.pressekonto.brand', []); $from = request()->query('from'); $brandLabelMap = [ 'presseecho' => 'presseecho.de', 'businessportal24' => 'businessportal24.com', ]; $fromBrandLabel = $brandLabelMap[$from] ?? null; $pageTitle = $title ?? ($brand['meta_title'] ?? 'pressekonto – Publisher-Hub'); config([ 'app.theme' => 'pressekonto', 'app.view_prefix' => 'web', ]); $themeCssPath = \App\Helpers\ThemeHelper::getThemeCssPath(); $assetsDir = config('domains.domains.pressekonto.assets_dir', 'build/web'); \App\Support\DomainAssetContext::configureVite([ 'assets_dir' => $assetsDir, ]); @endphp {{-- Login/Registrierung gehören nicht in den Index (Anhang 2, Abschnitt 7). --}} {{-- Der Auth-Bereich ist bewusst immer im Hellmodus; Dark/Light gibt es nur im eingeloggten Portal. Eine aus dem Portal übernommene .dark-Klasse (flux_appearance-Cookie / DOM-Übernahme) wird hier sofort entfernt, bevor die Styles greifen – sonst erscheint der Login dunkel. --}} {{ $pageTitle }} @include('partials.local-fonts') {{-- Nur CSS aus dem Web-Build laden. Alpine bringt @livewireScripts mit; würden wir hier zusätzlich resources/js/app.js mit Alpine.start() laden, gäbe es zwei Alpine-Instanzen und wire:submit, x-data, wire:model würden brechen (siehe Browser-Logs vor diesem Fix). --}} @vite([$themeCssPath], $assetsDir) {{-- Passkey-Login (Entscheidung 5): kleiner Client ohne eigenes Alpine. --}} @vite(['resources/js/passkeys.js'], 'build/portal') @livewireStyles
{{-- Atmosphäre: subtiles Raster --}} {{-- Atmosphäre: konzentrische Kreise um die Bildmitte --}} {{-- 3px Hub-Blau-Streifen --}}
{{-- Header --}}
@if ($topRightLinkText && $topRightLinkHref) @if ($topRightLabel) {{ __($topRightLabel) }} @endif {{ __($topRightLinkText) }} @endif
{{-- Auth-Card --}}
@if ($showFromBanner && $fromBrandLabel)
{{ __('Sie kommen von') }} {{ $fromBrandLabel }}. {{ __('Ihr Konto funktioniert für') }} {{ __('beide Portale') }} – presseecho.de und businessportal24.com.
@elseif ($showFromBanner)
{{ __('Ihr Konto funktioniert auch für') }} presseecho.de {{ __('und') }} businessportal24.com.
@endif
@if ($eyebrow) {{-- Heading/Eyebrow kommen als deutsche Strings aus dem #[Layout]- Attribut (dort sind keine __()-Aufrufe erlaubt); hier am Ausgabepunkt übersetzt, damit sie als Schlüssel wirken. --}}
{{ __($eyebrow) }}
@endif @if ($heading)

{{ __($heading) }}

@endif {{ $slot }}
{{-- Micro-Footer --}}
{{-- Schwebendes Kontakt-Widget (unten rechts, Auth-Bereich) --}} @livewireScripts