feat(ui): polish DB public access, backups, and nav

Gate public TCP proxy until a port is set, show loading while saving
access, and open proxy logs in process-dialog. Compact backup
execution actions, add Postgres general section anchors, and tint
resource Actions icons with warning color.
This commit is contained in:
Andras Bacsai committed 2026-08-07 17:14:43 +02:00
1 parent 7d5c9fdbe1
commit 9c0908f0fc
35 files changed
+413 -143

No files matched your search

@@ -44,3 +44,31 @@ test('configuration sidebar subitems trigger section highlight on scroll', funct
->toContain("addEventListener('scrollend'")
->toContain('stableFrames');
});
test('postgresql general navigation lists each in-page settings section', function () {
$sidebar = file_get_contents(resource_path('views/components/database/configuration-sidebar.blade.php'));
$general = file_get_contents(resource_path('views/livewire/project/database/postgresql/general.blade.php'));
$sections = [
'database-details-section' => 'Database details',
'credentials-section' => 'Credentials',
'initialization-section' => 'Initialization',
'runtime-network-section' => 'Runtime and network',
'public-access-section' => 'Public access',
'configuration-section' => 'Configuration',
'log-delivery-section' => 'Log delivery',
'initialization-scripts-section' => 'Initialization scripts',
];
foreach ($sections as $id => $label) {
expect($sidebar)
->toContain("['id' => '{$id}', 'label' => '{$label}']")
->and($general)->toContain("id=\"{$id}\"");
}
expect($sidebar)
->toContain("\$database->type() === 'standalone-postgresql'")
->toContain('window.scrollToSettingsSection?.(id)')
->toContain("activeSection === '{{ \$section['id'] }}'")
->toContain("scrollToSection('{{ \$section['id'] }}')");
});