feat(ui): polish domains, storage, env vars and resource nav

Improve project resource UIs: sort domains by DNS failure, stop re-adding www pairs on refresh, lazy-load storage tabs with counts, tighten env-var tables, keep application tabs active across Livewire polls, unify database type labels, and update related CSS/JS and tests.
This commit is contained in:
Andras Bacsai committed 2026-08-05 13:50:11 +02:00
1 parent dbc6f5e08c
commit a7a06aa6c8
75 files changed
+3909 -1173

No files matched your search

+18 -3
View File
@@ -87,7 +87,7 @@ test('livewire file storage rejects parent segments and does not create a local
test('file mount modal shows the calculated host file path above the destination input', function () {
Livewire::test(Storage::class, ['resource' => $this->application])
->assertSeeText('This file will be created on the host, then mounted into the container.')
->assertSeeText('Create a managed file on the host and mount it inside the container.')
->assertSeeText('Host file path')
->assertSeeText($this->application->workdir().'/')
->set('file_storage_path', '/etc/nginx/nginx.conf')
@@ -136,7 +136,10 @@ test('livewire volume storage refreshes the storage list and configuration warni
->call('submitPersistentVolume')
->assertDispatched('success')
->assertDispatched('refreshStorages')
->assertDispatched('configurationChanged');
->assertDispatched('configurationChanged')
->assertSet('activeTab', 'volumes')
->assertSet('volumeCount', 1)
->assertSee($this->application->uuid.'-data');
});
test('volume storage list shows volumes added after it was mounted', function () {
@@ -159,10 +162,22 @@ test('volume storage list shows volumes added after it was mounted', function ()
$storageList
->assertDontSee($secondVolume->name)
->dispatch('refreshStorages')
->call('refreshList')
->assertSee($secondVolume->name);
});
test('adding a volume switches to the volumes tab immediately', function () {
Livewire::test(Storage::class, ['resource' => $this->application])
->assertSet('activeTab', 'volumes')
->set('activeTab', 'directories')
->set('name', 'cache')
->set('mount_path', '/cache')
->call('submitPersistentVolume')
->assertSet('activeTab', 'volumes')
->assertSee($this->application->uuid.'-cache')
->assertDontSee('No directory mounts configured');
});
test('deleting a file mount refreshes the configuration warning', function () {
$file = LocalFileVolume::create([
'fs_path' => '/etc/nginx/nginx.conf',