collapsed = session('sidebar_collapsed', false); } public function toggle(): void { $this->collapsed = !$this->collapsed; session(['sidebar_collapsed' => $this->collapsed]); } /** * @return DataCollection */ public function navItems(): DataCollection { return NavItemData::collect([ new NavItemData( label: 'Dashboard', icon: 'lucide.house', active_pattern: 'dashboard', route: 'dashboard', ), new NavItemData( label: 'Apps', icon: 'lucide.grid-2x2-plus', active_pattern: 'apps.*', sub_menu: NavSubItemData::collect([ new NavSubItemData( label: 'All Apps', route: 'apps.index', active_pattern: 'apps.index' ), new NavSubItemData( label: 'Providers', route: 'apps.connectionProviders.index', active_pattern: 'apps.connectionProviders.*' ) ], DataCollection::class) ), new NavItemData( label: 'Settings', icon: 'lucide.settings', active_pattern: 'settings.*', sub_menu: NavSubItemData::collect([ new NavSubItemData( label: 'Profile', route: 'profile.edit', active_pattern: 'settings.profile', ), new NavSubItemData( label: 'Security', route: 'security.edit', active_pattern: 'settings.security', ), ], DataCollection::class) ), ], DataCollection::class); } }; ?>