@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'; $isPartnerPanel = ($authUser?->isMariachi() ?? false) && request()->routeIs('mariachi.*'); $showWordmarkBrand = ($authUser?->isMariachi() ?? false) || request()->routeIs('mariachi.*'); $brandUrl = $showWordmarkBrand && Route::has('mariachi.metrics') ? route('mariachi.metrics') : url('/'); $logoutRoute = match (true) { $authUser?->isMariachi() === true => Route::has('partner.logout') ? route('partner.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.metrics') ? route('mariachi.metrics') : url('/panel'); $primaryAction = [ 'url' => Route::has('mariachi.provider-profile.edit') ? route('mariachi.provider-profile.edit') : $accountHeaderUrl, 'icon' => 'icon-base ti tabler-user me-3 icon-md', 'label' => 'Mi perfil', ]; $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 ($isPartnerPanel) { $showImageAvatar = false; $useIconAvatar = true; $iconAvatarClass = 'icon-base ti tabler-user icon-md'; $iconAvatarTone = 'bg-label-secondary'; } } 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 (isset($navbarFull)) @endif @if (!isset($navbarHideToggle)) @endif