@php $seo = $seo ?? app(\App\Services\Seo\SeoResolver::class)->resolve(request(), null, [ 'title' => trim((string) $__env->yieldContent('title')), 'description' => trim((string) $__env->yieldContent('meta_description')), ]); $tracking = app(\App\Services\TrackingSettingsService::class)->frontendConfig(); @endphp @include('front.partials.seo-meta', ['seo' => $seo]) @include('front.partials.tracking-loader', ['tracking' => $tracking]) @include('partials.favicon-meta') @include('front.partials.marketplace-style-head', [ 'includeTailwind' => false, 'themeHref' => 'assets/theme.min.css?v=20260319-theme-min-v32', ]) @stack('head') @if (($tracking['mode'] ?? 'none') === 'gtm') @endif @php $pageId = trim((string) $__env->yieldContent('page_id', 'client-auth')); $isClientAuthFlow = $pageId === 'client-auth'; $authUser = auth()->user(); $isClientAuth = $authUser && $authUser->role === \App\Models\User::ROLE_CLIENT; $clientLogoutRoute = \Illuminate\Support\Facades\Route::has('client.logout') ? route('client.logout') : url('/auth/logout'); $initials = 'C'; if ($isClientAuth) { $first = trim((string) ($authUser->first_name ?? '')); $last = trim((string) ($authUser->last_name ?? '')); $parts = array_filter([$first, $last], fn ($value) => $value !== ''); if (! empty($parts)) { $initials = collect($parts)->map(fn ($part) => mb_strtoupper(mb_substr($part, 0, 1)))->implode(''); $initials = mb_substr($initials, 0, 2); } else { $name = trim((string) ($authUser->name ?? 'Cliente')); $initials = mb_strtoupper(mb_substr($name, 0, 1)); } } $footerCities = collect(); $footerEvents = collect(); $footerResources = collect(); $footerPartnerLinks = collect(); $footerSocialLinks = collect(); $footerDescription = ''; $footerSiteName = 'Mariachis.co'; if (! $isClientAuthFlow) { $footerData = app(\App\Services\Front\FooterDataService::class); $seoSettings = app(\App\Services\Seo\SeoSettingsService::class); $footerSiteName = $seoSettings->siteName(); $footerDescription = $seoSettings->defaultMetaDescription(); $footerCities = $footerData->popularCities(); $preferredEventSlugs = ['bodas', 'cumpleanos', 'aniversarios', 'serenatas', 'corporativos']; $footerEvents = $footerData ->popularEvents() ->sortBy(function (array $eventType) use ($preferredEventSlugs): string { $slug = (string) ($eventType['slug'] ?? \Illuminate\Support\Str::slug((string) ($eventType['name'] ?? ''))); $priority = array_search($slug, $preferredEventSlugs, true); $priority = $priority === false ? 99 : $priority; return str_pad((string) $priority, 2, '0', STR_PAD_LEFT) .'|'.str_pad((string) max(0, 9999 - (int) ($eventType['count'] ?? 0)), 4, '0', STR_PAD_LEFT) .'|'.mb_strtolower((string) ($eventType['name'] ?? '')); }) ->take(5) ->values(); $footerResources = collect([ ['label' => 'Blog', 'url' => route('blog.index')], ['label' => 'Ayuda', 'url' => route('static.help')], ['label' => 'Contacto', 'url' => route('contact.show')], ['label' => 'Mapa del sitio', 'url' => route('seo.html-sitemap')], ]); $footerPartnerLinks = collect([ ['label' => 'Publica tu anuncio', 'url' => route('mariachi.register')], ['label' => 'Acceso partner', 'url' => \App\Support\PortalHosts::absoluteUrl(\App\Support\PortalHosts::partner(), '/login')], ]); $footerSocialLinks = collect([ ['label' => 'Facebook', 'url' => config('variables.facebookUrl'), 'icon' => 'facebook'], ['label' => 'Instagram', 'url' => config('variables.instagramUrl'), 'icon' => 'instagram'], ['label' => 'TikTok', 'url' => config('variables.tiktokUrl'), 'icon' => 'tiktok'], ['label' => 'YouTube', 'url' => config('variables.youtubeUrl'), 'icon' => 'youtube'], ])->filter(fn (array $link): bool => filled($link['url']))->values(); } @endphp
@yield('content') @if($isClientAuthFlow) @else @endif @stack('scripts')