From 0afa59bc021707ae5e8eb143bfc98cfdafcbff21 Mon Sep 17 00:00:00 2001 From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com> Date: Tue, 8 Sep 2026 09:20:38 +0200 Subject: [PATCH] fix(ui): keep settings subnav in-page and persist sidebar collapse Scroll active application settings sections with buttons instead of Livewire navigation, persist sidebar collapse even with auto-collapse, drop the unused modal id, and right-align destination status. --- .../configuration-sidebar.blade.php | 20 ++++++++++++------- .../views/components/modal-input.blade.php | 2 +- resources/views/layouts/app.blade.php | 8 +++----- .../project/shared/destination.blade.php | 2 +- .../ApplicationDestinationStatusBadgeTest.php | 2 +- tests/Feature/ModalScrollLockTest.php | 8 ++++++++ .../Feature/SettingsSectionHighlightTest.php | 12 +++++++++++ tests/Feature/SidebarNavigationMarkupTest.php | 5 ++++- 8 files changed, 43 insertions(+), 16 deletions(-) diff --git a/resources/views/components/application/configuration-sidebar.blade.php b/resources/views/components/application/configuration-sidebar.blade.php index 57f26c964..369d498c9 100644 --- a/resources/views/components/application/configuration-sidebar.blade.php +++ b/resources/views/components/application/configuration-sidebar.blade.php @@ -318,13 +318,19 @@ class="absolute right-1 top-1 flex size-6 items-center justify-center rounded-md diff --git a/resources/views/components/modal-input.blade.php b/resources/views/components/modal-input.blade.php index 9c01f58bd..bb4477e1a 100644 --- a/resources/views/components/modal-input.blade.php +++ b/resources/views/components/modal-input.blade.php @@ -44,7 +44,7 @@ class="fixed inset-0 z-99 overflow-y-auto"> x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" class="absolute inset-0 w-full h-full bg-black/50 backdrop-blur-[2px]">
-
data_get($resource, 'destination.server.uuid')]) }}" {{ wireNavigate() }} class="button">Open server - + @if ($hasAdditionalDestinations) diff --git a/tests/Feature/ApplicationDestinationStatusBadgeTest.php b/tests/Feature/ApplicationDestinationStatusBadgeTest.php index 9dfbedb56..43bac4148 100644 --- a/tests/Feature/ApplicationDestinationStatusBadgeTest.php +++ b/tests/Feature/ApplicationDestinationStatusBadgeTest.php @@ -5,7 +5,7 @@ $applicationSection = str($view)->before('@else')->value(); expect($applicationSection) - ->toContain('') + ->toContain('') ->not->toContain('Modal content'); + + expect($html)->toContain('Modal content'); +}); + test('confirmation modal closes before dispatching an event that can open another modal', function () { $modal = file_get_contents(resource_path('views/components/modal-confirmation.blade.php')); diff --git a/tests/Feature/SettingsSectionHighlightTest.php b/tests/Feature/SettingsSectionHighlightTest.php index a062c4c13..438f20192 100644 --- a/tests/Feature/SettingsSectionHighlightTest.php +++ b/tests/Feature/SettingsSectionHighlightTest.php @@ -45,6 +45,18 @@ ->toContain('stableFrames'); }); +test('application configuration subitems scroll without navigating the active page', function () { + $sidebar = file_get_contents(resource_path('views/components/application/configuration-sidebar.blade.php')); + + expect($sidebar) + ->toContain("@if (\$menuItem['active'])") + ->toContain('