feat(ui): polish email modal, search loading, and volume tables

Move profile email change into a modal with Alpine focus/close handling,
show a loading overlay during command-palette navigation, and adjust
volumes/config-diff grids plus related service/storage UI. Cover with
feature tests for search, profile, storage, and domains.
This commit is contained in:
Andras Bacsai
2026-08-05 14:07:19 +02:00
parent a7a06aa6c8
commit 0312cc8ffb
18 changed files with 236 additions and 109 deletions
@@ -17,6 +17,22 @@ it('adds profile navigation with an appearance tab and route', function () {
->not->toContain('<h1>Profile</h1>\n <div class="subtitle -mt-2">');
});
it('opens the email change form without a Livewire request', function () {
$profileView = file_get_contents(resource_path('views/livewire/profile/index.blade.php'));
expect($profileView)
->toContain('@click="openEmailModal()"')
->toContain('this.$refs.newEmailInput?.focus()')
->toContain('x-ref="newEmailInput"')
->toContain('x-show="emailModalOpen"')
->toContain('x-teleport="body"')
->toContain('Change email')
->toContain('Send code')
->toContain('Verify email')
->not->toContain('>Cancel</x-forms.button>')
->not->toContain('wire:click="showEmailChangeForm"');
});
it('keeps color theme preferences on the profile appearance view without page width or density controls', function () {
$appearanceView = file_get_contents(resource_path('views/livewire/profile/appearance.blade.php'));