*/ public function share(Request $request): array { $settings = \Illuminate\Support\Facades\Cache::rememberForever('system_settings', function() { return \App\Models\Setting::pluck('value', 'key')->toArray(); }); // Inject default defaults if not in DB $defaultSettings = [ 'app_name' => 'biiskit', 'app_logo' => null, 'app_logo_text' => 'B', 'allow_registration' => '1', ]; $settings = array_merge($defaultSettings, $settings); return [ ...parent::share($request), 'auth' => [ 'user' => $request->user(), 'permissions' => $request->user()?->getAllPermissions()->pluck('name') ?? [], 'roles' => $request->user()?->getRoleNames() ?? [], ], 'system_settings' => $settings, 'unread_notifications' => $request->user() ? \App\Models\NotificationLog::where('status', 'sent') ->where('created_at', '>=', now()->subDays(7)) ->count() : 0, 'flash' => [ 'success' => $request->session()->get('success'), 'error' => $request->session()->get('error'), 'plain_text_token' => $request->session()->get('plain_text_token'), ], ]; } }