@php use Illuminate\Support\Facades\Cache; $companyName = Cache::remember('opt_company_name', 300, fn() => \App\Models\Option::where('key', 'company_name')->value('value') ?? config('app.name') ); $companyLogo = Cache::remember('opt_company_logo', 300, fn() => \App\Models\Option::where('key', 'company_logo')->value('value') ); $companyFavicon = Cache::remember('opt_company_favicon', 300, fn() => \App\Models\Option::where('key', 'company_favicon')->value('value') ); $authUser = Auth::guard('admin')->user() ?? Auth::user(); $guardType = Auth::guard('admin')->check() ? 'admin' : 'user'; $notifications = collect(); $notificationCount = 0; if ($authUser) { try { $notifications = \App\Models\Notification::where('user_id', $authUser->id) ->where('user_type', $guardType) ->latest('created_at') ->take(10) ->get(); $notificationCount = $notifications->where('is_read', false)->count(); } catch (\Exception $e) {} } $activeModules = Cache::remember('active_modules_list', 60, fn() => \App\Models\Module::where('is_active', true)->orderBy('sort_order')->get() ); $currentModule = null; foreach ($activeModules as $module) { $routePrefix = strtolower($module->alias); if (request()->routeIs($routePrefix . '.*') || request()->is('admin/' . $routePrefix . '*')) { $currentModule = $module; break; } } $nonCoreModules = $activeModules->filter(fn($m) => !$m->is_core)->sortBy('sort_order'); @endphp