Files
timebank-cc-public/resources/views/layouts/guest.blade.php
Ronald Huynen 2547717edb Initial commit
2026-03-23 21:37:59 +01:00

108 lines
3.5 KiB
PHP

<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" data-theme="@themeId">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
@unless(timebank_config('seo.allow_indexing_guest'))
<meta name="robots" content="noindex, nofollow, noarchive, nosnippet">
@endunless
@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
<title>@yield('title', $pageTitle) - {{ config('app.name') }}</title>
<link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}">
<link rel="icon" type="image/png" sizes="32x32" href="{{ asset('favicon-32x32.png') }}">
<link rel="icon" type="image/png" sizes="16x16" href="{{ asset('favicon-16x16.png') }}">
<link rel="apple-touch-icon" sizes="180x180" href="{{ asset('apple-touch-icon.png') }}">
{{-- <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&display=swap"> --}}
<!-- Scripts -->
<wireui:scripts />
{{-- <script src="{{ mix('js/app.js') }}" defer></script> --}}
<!-- Styles -->
@vite(['resources/css/app.css', 'resources/css/fonts.css', 'resources/sass/custom_timebank.css', 'resources/js/app.js'])
@livewireStyles
@wirechatStyles
<!-- Dynamic Theme CSS Custom Properties -->
<style>
:root {
{!! theme_css_vars() !!}
}
</style>
<style>
/* Theme-aware typography */
body {
font-family: var(--font-family-body, 'Poppins', sans-serif) !important;
}
/* Theme-aware heading styles */
h1, h2, h3, h4, h5, h6 {
font-family: var(--font-family-heading, 'Oswald', sans-serif) !important;
text-transform: var(--heading-transform, uppercase) !important;
}
/* Apply theme-specific CSS custom properties */
:root {
@themeCssVars
}
</style>
</head>
<body class="font-sans antialiased flex flex-col min-h-screen">
<x-jetstream.banner />
<x-jetstream.toaster />
<x-notifications position="bottom-end" />
<!-- Fixed navigation menu -->
@include('components.navigation-menu-guest')
<!-- Main content with top padding to account for fixed navigation -->
<div class="flex-grow bg-theme-surface pt-16">
<x-notifications position="bottom-end" />
<!-- System Announcement - positioned below fixed navigation -->
@livewire('system-announcement', ['type' => 'SiteContents\SystemAnnouncement' ?? null, 'limit' => 1])
<header class="bg-theme-brand text-theme-surface shadow">
<!-- Header --->
@if (isset($header))
<div class="max-w-7xl mx-auto pt-1 pb-2 px-4 sm:px-6 lg:px-8">
{{ $header }}
</div>
@endif
</header>
<main>
{{ $slot }}
</main>
</div>
<!-- Footer -->
<div class="mt-auto w-full">
<x-footer />
</div>
<!-- Scripts body-->
<!-- Be careful with changing the loading order! -->
@livewireScripts
@wirechatAssets
@stack('scripts')
@yield('scripts_body')
@yield('js')
</body>
</html>