@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')