From fd973c0bd6b22b131b523aefdb118f837a4cdf02 Mon Sep 17 00:00:00 2001 From: roble Date: Sun, 30 Aug 2026 20:16:21 +0100 Subject: [PATCH] refactor: update settings navigation and remove unused components --- routes/navigation.php | 26 +-------------- routes/web.php | 3 +- src/Filament/Pages/GeneralSettings.php | 42 ------------------------ src/Filament/SettingsPlugin.php | 39 ---------------------- tests/Feature/ExampleTest.php | 18 ---------- tests/Feature/SettingsNavigationTest.php | 42 ++++++++++++++++++++++++ 6 files changed, 44 insertions(+), 126 deletions(-) delete mode 100644 src/Filament/Pages/GeneralSettings.php delete mode 100644 src/Filament/SettingsPlugin.php delete mode 100644 tests/Feature/ExampleTest.php create mode 100644 tests/Feature/SettingsNavigationTest.php diff --git a/routes/navigation.php b/routes/navigation.php index d7c76f3..c00b9d2 100644 --- a/routes/navigation.php +++ b/routes/navigation.php @@ -14,7 +14,7 @@ */ // User menu - Settings -Navigation::add('Settings', fn () => route('settings.index'), function (Section $section) { +Navigation::add('Settings', fn () => route('settings.profile'), function (Section $section) { $section->attributes([ 'group' => 'user', 'slug' => 'settings', @@ -23,36 +23,12 @@ ]); }); -// Settings sidebar - General -Navigation::add('General', fn () => route('settings.index'), function (Section $section) { - $section->attributes([ - 'group' => 'settings', - 'slug' => 'settings', - 'icon' => 'settings', - 'order' => 10, - ]); -}); - // Settings sidebar - Profile Navigation::add('Profile', fn () => route('settings.profile'), function (Section $section) { $section->attributes([ 'group' => 'settings', 'slug' => 'profile', 'icon' => 'profile', - 'order' => 20, - ]); -}); - -// Secondary navigation - Settings -Navigation::add('Settings', fn () => route('settings.index'), function (Section $section) { - $section->attributes([ - 'group' => 'secondary', - 'slug' => 'settings', - 'icon' => 'settings', 'order' => 10, - 'badge' => [ - 'content' => '1', - 'variant' => 'destructive', - ], ]); }); diff --git a/routes/web.php b/routes/web.php index a37da73..240a9a3 100644 --- a/routes/web.php +++ b/routes/web.php @@ -3,7 +3,6 @@ use Illuminate\Support\Facades\Route; use Modules\Settings\Http\Controllers\PasswordController; use Modules\Settings\Http\Controllers\ProfileController; -use Modules\Settings\Http\Controllers\SettingsController; Route::middleware('web')->group(function (): void { Route::group(['middleware' => [ @@ -12,7 +11,7 @@ 'role:admin|user', ]], function (): void { Route::prefix('settings')->group(function (): void { - Route::get('/', [SettingsController::class, 'index']) + Route::redirect('/', '/settings/profile') ->name('settings.index'); Route::get('profile', [ProfileController::class, 'show']) diff --git a/src/Filament/Pages/GeneralSettings.php b/src/Filament/Pages/GeneralSettings.php deleted file mode 100644 index 9ce9b81..0000000 --- a/src/Filament/Pages/GeneralSettings.php +++ /dev/null @@ -1,42 +0,0 @@ -components([ - Section::make(__('Application Settings')) - ->description(__('Configure general application settings. More options will be available in future updates.')) - ->icon(Heroicon::OutlinedInformationCircle) - ->iconColor('info') - ->schema([]), - ]); - } -} diff --git a/src/Filament/SettingsPlugin.php b/src/Filament/SettingsPlugin.php deleted file mode 100644 index fba3ce3..0000000 --- a/src/Filament/SettingsPlugin.php +++ /dev/null @@ -1,39 +0,0 @@ -navigationGroups([ - NavigationGroup::make() - ->label(__('settings::filament.navigation.group')) - ->icon(Heroicon::OutlinedCog6Tooth) - ->collapsible(), - ]); - } -} diff --git a/tests/Feature/ExampleTest.php b/tests/Feature/ExampleTest.php deleted file mode 100644 index 59ec5dc..0000000 --- a/tests/Feature/ExampleTest.php +++ /dev/null @@ -1,18 +0,0 @@ -get(route('login')); - - $response->assertStatus(200); - } -} diff --git a/tests/Feature/SettingsNavigationTest.php b/tests/Feature/SettingsNavigationTest.php new file mode 100644 index 0000000..16e18ab --- /dev/null +++ b/tests/Feature/SettingsNavigationTest.php @@ -0,0 +1,42 @@ +createUser(); + + $response = $this->actingAs($user)->get(route('settings.index')); + + $response->assertRedirectToRoute('settings.profile'); + } + + public function test_settings_navigation_only_contains_profile(): void + { + $user = $this->createUser(); + + $response = $this->actingAs($user)->get(route('settings.profile')); + + $this->assertSame( + ['Profile'], + array_column($response->inertiaProps('navigation.settings'), 'title'), + ); + } + + public function test_admin_general_settings_route_uses_core_settings_page(): void + { + $route = Route::getRoutes()->getByName('filament.admin.pages.general-settings'); + + $this->assertNotNull($route); + $this->assertSame(GeneralSettings::class, $route->getActionName()); + } +}