@php // Get fonts from theme's default preset (priority) or theme fonts (fallback) $headingFont = 'Inter'; $bodyFont = 'Inter'; if ($website && $website->activeTheme && $website->activeTheme->theme) { $defaultPreset = $website->activeTheme->theme->presets()->where('is_default', true)->first(); if ($defaultPreset && isset($defaultPreset->font_scheme)) { $headingFont = $defaultPreset->font_scheme['heading'] ?? 'Inter'; $bodyFont = $defaultPreset->font_scheme['body'] ?? 'Inter'; } } // Fallback to theme fonts if preset fonts not available if ($headingFont === 'Inter' && isset($theme['fonts']['heading']['default'])) { $headingFont = $theme['fonts']['heading']['default']; } if ($bodyFont === 'Inter' && isset($theme['fonts']['body']['default'])) { $bodyFont = $theme['fonts']['body']['default']; } // Build Google Fonts URL dynamically $fontsToLoad = []; if ($headingFont !== 'Default') { $fontsToLoad[] = str_replace(' ', '+', $headingFont) . ':wght@300;400;500;600;700;800;900'; } if ($bodyFont !== 'Default' && $bodyFont !== $headingFont) { $fontsToLoad[] = str_replace(' ', '+', $bodyFont) . ':wght@300;400;500;600;700;800;900'; } $googleFontsUrl = 'https://fonts.googleapis.com/css2?family=' . implode('&family=', $fontsToLoad) . '&display=swap'; @endphp {{ $page->title ?? $website->name }} @if(isset($page->meta_description)) @endif @if(isset($page->meta_keywords)) @endif @if(count($fontsToLoad) > 0) @endif @stack('styles') @if(isset($components['header']) && count($components['header']) > 0) @foreach($components['header'] as $header) @include('themes.dynamic.components.render', ['component' => $header]) @endforeach @endif
@yield('content') @if(isset($page) && $page->is_builder_page && $page->builder_data) @include('themes.dynamic.components.builder-content', ['builderData' => $page->builder_data]) @endif
@if(isset($components['footer']) && count($components['footer']) > 0) @foreach($components['footer'] as $footer) @include('themes.dynamic.components.render', ['component' => $footer]) @endforeach @endif @stack('scripts')