fix(ui): improve listbox hover state and Traefik redirects

Add an opaque hover background for listbox triggers and preserve single-escaped
Traefik redirect capture groups when generating application labels.
This commit is contained in:
Andras Bacsai committed 2026-08-17 21:26:57 +02:00
1 parent 43cd1f4c0d
commit 9d64b30612
4 files changed
+31 -3

No files matched your search

@@ -22,6 +22,13 @@ test('listbox trigger height matches shared inputs', function () {
->toMatch('/\.application-settings-workspace \.listbox-trigger[^}]*height: 2rem;/s');
});
test('listbox trigger uses an opaque background on hover', function () {
$css = file_get_contents(resource_path('css/app.css'));
expect($css)
->toMatch('/\.listbox-trigger:hover \{[^}]*background: var\(--coollabs-fill\);/s');
});
test('listbox component uses shared trigger label truncation', function () {
$html = Blade::render(<<<'BLADE'
<x-forms.listbox id="longOption" label="Example"
@@ -95,3 +95,15 @@ test('fqdnLabelsForTraefik hyphenated services also receive a hash suffix', func
expect($routerLine)->toContain("https-0-{$uuid}-another-service-{$hash}.rule=");
});
test('application labels keep redirect capture groups single escaped before compose generation', function () {
$labels = fqdnLabelsForTraefik(
uuid: 'application-uuid',
domains: collect(['https://example.com']),
redirect_direction: 'www',
escape_redirect_replacement_for_compose: false,
);
expect($labels)
->toContain('traefik.http.middlewares.0-application-uuid-to-www.redirectregex.replacement=${1}://www.${2}');
});