From 1a8a4bb5ef98c217f09777142162aaa0b5462fb7 Mon Sep 17 00:00:00 2001 From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com> Date: Tue, 11 Aug 2026 12:08:44 +0200 Subject: [PATCH] fix(ui): refine overlays, toast actions, and save-state feedback Improve overlay stacking and positioning, add toast copying, standardize domain labels, and animate unsaved changes while saving. --- resources/css/utilities.css | 2 +- .../components/forms/domain-input.blade.php | 20 ++++++++----- resources/views/components/helper.blade.php | 4 +-- .../views/components/icon-tooltip.blade.php | 2 +- resources/views/components/navbar.blade.php | 2 +- .../views/components/popup-small.blade.php | 28 +++++++++++-------- resources/views/components/toast.blade.php | 25 +++++++++++++---- .../views/components/unsaved-bar.blade.php | 4 +-- .../shared/configuration-checker.blade.php | 2 +- tests/Feature/ApplicationDomainsTest.php | 4 +++ .../Livewire/ConfigurationCheckerTest.php | 8 ++++-- tests/Feature/PreviewStatusSummaryTest.php | 1 + tests/Feature/SentinelUnsavedBarFlashTest.php | 27 +++++++++++++++++- tests/Feature/ToastPositionTest.php | 26 +++++++++++++++++ tests/Feature/TooltipStackingTest.php | 14 ++++++++++ 15 files changed, 133 insertions(+), 36 deletions(-) create mode 100644 tests/Feature/ToastPositionTest.php create mode 100644 tests/Feature/TooltipStackingTest.php diff --git a/resources/css/utilities.css b/resources/css/utilities.css index 26f4cc4ce..668cb755b 100644 --- a/resources/css/utilities.css +++ b/resources/css/utilities.css @@ -163,7 +163,7 @@ } @utility auth-tooltip { - @apply fixed z-[99] px-2.5 py-1.5 text-xs font-medium rounded-lg pointer-events-none whitespace-nowrap text-white bg-neutral-900 border border-neutral-700 shadow-lg dark:text-fg dark:bg-raised dark:border-white/10; + @apply fixed z-[10000] px-2.5 py-1.5 text-xs font-medium rounded-lg pointer-events-none whitespace-nowrap text-white bg-neutral-900 border border-neutral-700 shadow-lg dark:text-fg dark:bg-raised dark:border-white/10; } @utility alert-success { diff --git a/resources/views/components/forms/domain-input.blade.php b/resources/views/components/forms/domain-input.blade.php index 482788906..030fc0f5f 100644 --- a/resources/views/components/forms/domain-input.blade.php +++ b/resources/views/components/forms/domain-input.blade.php @@ -43,15 +43,17 @@
- +
+ +
@error($errorId ?? $id) @@ -60,13 +62,17 @@
- +
+ +
- +
+ +

diff --git a/resources/views/components/helper.blade.php b/resources/views/components/helper.blade.php index 6b90b5929..f935e7d47 100644 --- a/resources/views/components/helper.blade.php +++ b/resources/views/components/helper.blade.php @@ -94,7 +94,7 @@ } }" @pointerdown.window="closeWhenPointerIsOutside($event)" @keydown.window.escape="close" @resize.window="open && position()" @scroll.window="open && position()" - {{ $attributes->merge(['class' => 'relative inline-block align-middle']) }}> + {{ $attributes->merge(['class' => 'relative inline-flex align-middle']) }}> {{-- button (not div) so label-for associations do not steal the click on mobile --}}

diff --git a/resources/views/components/popup-small.blade.php b/resources/views/components/popup-small.blade.php index fca570f34..45f12eb6e 100644 --- a/resources/views/components/popup-small.blade.php +++ b/resources/views/components/popup-small.blade.php @@ -4,6 +4,7 @@ 'compactAfter' => null, 'compactStorageKey' => null, 'compactStoragePrefix' => null, + 'position' => 'bottom-right', ])
- + class="fixed right-4 z-999 {{ $position === 'top-right' ? 'top-16' : 'bottom-4' }}"> + -
+
+
diff --git a/resources/views/components/toast.blade.php b/resources/views/components/toast.blade.php index 533464815..8c3eef13e 100644 --- a/resources/views/components/toast.blade.php +++ b/resources/views/components/toast.blade.php @@ -6,7 +6,7 @@ type: options.type ?? 'default', message, description: options.description ?? '', - position: options.position ?? 'top-center', + position: options.position ?? 'bottom-right', html: options.html ?? '', }, })); @@ -17,9 +17,9 @@