@unless(timebank_config('seo.allow_indexing_auth')) @endunless @auth @endauth @php // Determine page title: explicit title > header content > fallback $pageTitle = null; // Check if header slot is set and extract text from it if (isset($header) && $header) { $headerContent = (string) $header; $pageTitle = trim(strip_tags($headerContent)); } // Fall back to StringHelper if no valid header content if (empty($pageTitle)) { $pageTitle = \App\Helpers\StringHelper::getPageTitle(); } @endphp @yield('title', $pageTitle) - {{ config('app.name') }} {{-- --}} @vite(['resources/css/app.css', 'resources/css/fonts.css', 'resources/sass/custom_timebank.css']) @livewireStyles @wirechatStyles @vite('resources/js/quill.js') {{-- TODO: Move styles below to separate css file, that can be compiled --}}
@livewire('navigation-menu')
@livewire('system-announcement', ['type' => 'SiteContents\SystemAnnouncement' ?? null, 'limit' => 1]) @livewire('admin.maintenance-banner') @if (isset($header))
{{ $header }}
@endif
{{ $slot }}
@auth @livewire('forced-logout-modal') @livewire('account-info-modal') @endauth @livewireScripts @vite('resources/js/app.js') @wirechatAssets @stack('scripts') @yield('scripts_body') @yield('js') @stack('modals') @auth @endauth