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 @@
-