@php use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Route; use App\Support\PortalHosts; $authUser = Auth::user(); $userAvatar = null; $showImageAvatar = false; $avatarInitials = 'US'; $accountDisplayName = $authUser?->display_name ?: 'Usuario'; $useIconAvatar = false; $iconAvatarClass = 'icon-base ti tabler-user icon-md'; $iconAvatarTone = 'bg-label-primary'; $accountHeaderUrl = 'javascript:void(0);'; $primaryAction = null; $secondaryAction = null; $quickAction = null; $roleLabel = 'Usuario'; $isArtistPanel = ($authUser?->isMariachi() ?? false) && request()->routeIs('mariachi.*'); $showWordmarkBrand = ($authUser?->isMariachi() ?? false) || request()->routeIs('mariachi.*'); $brandUrl = $showWordmarkBrand && Route::has('mariachi.metrics') ? route('mariachi.metrics') : url('/'); $artistPageMeta = [ 'eyebrow' => 'Portal', 'title' => 'Panel', 'subtitle' => 'Resumen y actividad', ]; $logoutRoute = match (true) { $authUser?->isMariachi() === true => Route::has('artist.logout') ? route('artist.logout') : url('/logout'), $authUser?->isAdmin() === true, $authUser?->isStaff() === true => Route::has('admin.logout') ? route('admin.logout') : url('/logout'), $authUser?->isClient() === true => Route::has('client.logout') ? route('client.logout') : url('/auth/logout'), default => Route::has(PortalHosts::loginRouteNameForRequest(request())) ? route(PortalHosts::loginRouteNameForRequest(request())) : url('/'), }; if ($authUser) { $roleLabel = match ((string) $authUser->role) { \App\Models\User::ROLE_ADMIN => 'Administrador', \App\Models\User::ROLE_STAFF => 'Equipo interno', \App\Models\User::ROLE_MARIACHI => 'Mariachi', \App\Models\User::ROLE_CLIENT => 'Cliente', default => 'Usuario', }; } if ($authUser?->isMariachi()) { $authUser->loadMissing('mariachiProfile'); $accountDisplayName = $authUser->mariachiProfile?->avatarDisplayName() ?: ($authUser->display_name ?: 'Mariachi'); $avatarInitials = $authUser->mariachiProfile?->avatarInitials() ?: 'MR'; $showImageAvatar = (bool) $authUser->mariachiProfile?->shouldShowProfilePhoto(); $userAvatar = $showImageAvatar && $authUser->mariachiProfile?->logoPathForVariant('thumb') ? $authUser->mariachiProfile->logoUrlForVariant('thumb') : null; $accountHeaderUrl = Route::has('mariachi.account.security.edit') ? route('mariachi.account.security.edit') : (Route::has('mariachi.metrics') ? route('mariachi.metrics') : url('/panel')); $primaryAction = [ 'url' => Route::has('mariachi.account.security.edit') ? route('mariachi.account.security.edit') : $accountHeaderUrl, 'icon' => 'icon-base ti tabler-settings me-3 icon-md', 'label' => 'Configuración', ]; $secondaryAction = [ 'url' => Route::has('mariachi.quotes.index') ? route('mariachi.quotes.index') : $accountHeaderUrl, 'icon' => 'icon-base ti tabler-message-circle me-3 icon-md', 'label' => 'Solicitudes', ]; $quickAction = [ 'url' => Route::has('mariachi.quotes.index') ? route('mariachi.quotes.index') : url('/solicitudes'), 'icon' => 'icon-base ti tabler-message-circle icon-md', 'label' => 'Solicitudes', ]; if ($isArtistPanel) { $showImageAvatar = false; $useIconAvatar = true; $iconAvatarClass = 'icon-base ti tabler-user icon-md'; $iconAvatarTone = 'bg-label-secondary'; $artistPageMeta = match (true) { request()->routeIs('mariachi.metrics') => [ 'eyebrow' => 'Centro de control', 'title' => 'Panel', 'subtitle' => 'Actividad, alertas y rendimiento', ], request()->routeIs('mariachi.listings.*') => [ 'eyebrow' => 'Publicación', 'title' => 'Anuncios', 'subtitle' => 'Crea, edita y activa campañas', ], request()->routeIs('mariachi.quotes.*') => [ 'eyebrow' => 'Clientes', 'title' => 'Solicitudes', 'subtitle' => 'Responde desde aquí o por WhatsApp', ], request()->routeIs('mariachi.leads.*') => [ 'eyebrow' => 'Prospectos', 'title' => 'Leads', 'subtitle' => 'Nuevas oportunidades por ciudad', ], request()->routeIs('mariachi.reviews.*') => [ 'eyebrow' => 'Reputación', 'title' => 'Opiniones', 'subtitle' => 'Responde y protege tu perfil', ], request()->routeIs('mariachi.provider-profile.*') => [ 'eyebrow' => 'Perfil', 'title' => 'Tu vitrina', 'subtitle' => 'Foto, datos y presentación pública', ], request()->routeIs('mariachi.account.security.*', 'mariachi.account.notifications.*') => [ 'eyebrow' => 'Cuenta', 'title' => 'Configuración', 'subtitle' => 'Seguridad y notificaciones', ], request()->routeIs('mariachi.account.billing.*', 'mariachi.verification.*') => [ 'eyebrow' => 'Perfil', 'title' => 'Visibilidad', 'subtitle' => 'Suscripción, pagos y verificación', ], default => $artistPageMeta, }; } } elseif ($authUser?->isAdmin()) { $useIconAvatar = true; $iconAvatarClass = 'icon-base ti tabler-shield-star icon-md'; $iconAvatarTone = 'bg-label-success'; $accountHeaderUrl = Route::has('admin.dashboard') ? route('admin.dashboard') : url('/'); $primaryAction = [ 'url' => $accountHeaderUrl, 'icon' => 'icon-base ti tabler-layout-dashboard me-3 icon-md', 'label' => 'Panel admin', ]; $secondaryAction = [ 'url' => Route::has('admin.mariachis.index') ? route('admin.mariachis.index') : $accountHeaderUrl, 'icon' => 'icon-base ti tabler-list-details me-3 icon-md', 'label' => 'Mariachis', ]; } elseif ($authUser?->isStaff()) { $accountHeaderUrl = Route::has('staff.dashboard') ? route('staff.dashboard') : url('/staff/dashboard'); $primaryAction = [ 'url' => $accountHeaderUrl, 'icon' => 'icon-base ti tabler-layout-dashboard me-3 icon-md', 'label' => 'Panel interno', ]; } elseif ($authUser?->isClient()) { $accountHeaderUrl = Route::has('client.dashboard') ? route('client.dashboard') : url('/mi-cuenta/solicitudes'); $primaryAction = [ 'url' => Route::has('client.account.profile') ? route('client.account.profile') : $accountHeaderUrl, 'icon' => 'icon-base ti tabler-user me-3 icon-md', 'label' => 'Mi perfil', ]; $secondaryAction = [ 'url' => $accountHeaderUrl, 'icon' => 'icon-base ti tabler-message-circle me-3 icon-md', 'label' => 'Mis solicitudes', ]; } @endphp @if ($isArtistPanel) @endif @if (isset($navbarFull)) @endif @if (!isset($navbarHideToggle)) @endif