mirror of
https://github.com/tiennm99/coolify.git
synced 2026-10-14 00:16:42 +00:00
feat(ui): polish domains UX and dark-mode loading accents
Group service domain tables with inline redirect controls, live-save redirects without full refreshes, and only auto-pair www hosts when a www redirect is active. Align helper tooltips, server-timing HUD, and loading spinners with dark-theme accents; default theme-color to dark.
This commit is contained in:
1 parent
232b999cc9
commit
bb83c1e3be
19 files changed
+404
-176
No files matched your search
@@ -94,6 +94,60 @@ it('opens service environment variables domains and storages pages', function ()
|
||||
->screenshot(filename: 'service-storages');
|
||||
});
|
||||
|
||||
it('renders an automatically added redirect counterpart without reloading', function () {
|
||||
$this->serviceApplication->update([
|
||||
'fqdn' => 'https://web.example.com',
|
||||
'redirect' => 'both',
|
||||
]);
|
||||
|
||||
loginAndSkipBoarding();
|
||||
|
||||
$base = serviceConfigurationUrl(
|
||||
$this->stack['project'],
|
||||
$this->stack['environment'],
|
||||
$this->service
|
||||
);
|
||||
|
||||
$page = visit("{$base}/domains")
|
||||
->assertSee('https://web.example.com');
|
||||
|
||||
$selector = '#service-domain-redirect-'.$this->serviceApplication->id;
|
||||
$page->select($selector, 'www')
|
||||
->wait(3);
|
||||
|
||||
$this->serviceApplication->refresh();
|
||||
expect($this->serviceApplication->redirect)->toBe('www');
|
||||
|
||||
$page->assertSee('https://www.web.example.com')
|
||||
->screenshot(filename: 'service-domain-redirect-counterpart');
|
||||
|
||||
$page->script(<<<'JS'
|
||||
(() => {
|
||||
const domain = document.querySelector('a[title="https://www.web.example.com"]');
|
||||
domain.closest('.env-table-item').querySelector('[aria-label="Remove domain"]').click();
|
||||
})()
|
||||
JS);
|
||||
|
||||
$page->wait(0.5)
|
||||
->script(<<<'JS'
|
||||
(() => {
|
||||
const button = [...document.querySelectorAll('button')]
|
||||
.find((candidate) => candidate.offsetParent && candidate.textContent.trim() === 'Remove domain');
|
||||
button.click();
|
||||
})()
|
||||
JS);
|
||||
|
||||
$page->wait(3);
|
||||
|
||||
$configuredCounterparts = $page->script(
|
||||
'document.querySelectorAll(\'a[title="https://www.web.example.com"]\').length'
|
||||
);
|
||||
|
||||
expect($configuredCounterparts)->toBe(0);
|
||||
|
||||
$page->screenshot(filename: 'service-domain-remove-without-reload');
|
||||
});
|
||||
|
||||
it('opens compose stack application general settings', function () {
|
||||
loginAndSkipBoarding();
|
||||
|
||||
|
||||
Reference in new issue
Block a user