*/ public function share(Request $request): array { return [ ...parent::share($request), 'logo_api_url' => config('app.logo_api_url'), 'auth' => [ 'user' => $request->user(), 'roles' => $request->user()?->getRoleNames() ?? [], 'permissions' => $request->user()?->getAllPermissions()->pluck('name') ?? [], ], 'achievement_notifications' => fn() => $request->user() ? $request->user() ->notifications() ->with('achievement') ->where('is_achievement', true) ->whereNull('read_at') ->latest() ->get() : [], 'unread_notification_count' => $request->user()?->notifications() ->whereNull('read_at') ->whereNull('expires_at') ->orWhere('expires_at', '>', now()) ->count(), ]; } }