diff --git a/apps/desktop/src/components/connection/ConnectionDialog.vue b/apps/desktop/src/components/connection/ConnectionDialog.vue index a2c956f9d..1ec646409 100644 --- a/apps/desktop/src/components/connection/ConnectionDialog.vue +++ b/apps/desktop/src/components/connection/ConnectionDialog.vue @@ -4812,8 +4812,8 @@ function openExternalUrl(url: string) { - -
+ +
@@ -6251,8 +6251,8 @@ function openExternalUrl(url: string) {
- -
+ +
- -
+ +
@@ -6654,8 +6654,8 @@ function openExternalUrl(url: string) {
- -
+ +
diff --git a/apps/desktop/src/lib/__tests__/connection/connectionDialogScrolling.spec.ts b/apps/desktop/src/lib/__tests__/connection/connectionDialogScrolling.spec.ts index 80152b9e2..edf7d95e6 100644 --- a/apps/desktop/src/lib/__tests__/connection/connectionDialogScrolling.spec.ts +++ b/apps/desktop/src/lib/__tests__/connection/connectionDialogScrolling.spec.ts @@ -4,14 +4,16 @@ import { describe, expect, it } from "vitest"; const dialogSource = readFileSync(new URL("../../../components/connection/ConnectionDialog.vue", import.meta.url), "utf8"); describe("connection dialog scrolling", () => { - it("gives the configuration step a definite viewport-constrained height", () => { + it("keeps every configuration tab inside a shrinkable form viewport", () => { expect(dialogSource).toContain("return `${widthClass} connection-dialog-content--config`;"); - expect(dialogSource).toMatch(/\.connection-dialog-content--config\s*\{[\s\S]*?min-height:\s*0;[\s\S]*?@media \(max-height: 720px\)[\s\S]*?height:\s*calc\(var\(--dbx-viewport-height\) - 2rem\);/); + expect(dialogSource.match(/]*class="m-0 flex min-h-0 flex-1 flex-col overflow-hidden">/g)).toHaveLength(4); + expect(dialogSource.match(/class="connection-form-body grid min-h-0 flex-1 gap-4 overflow-y-auto/g)).toHaveLength(4); + expect(dialogSource).toMatch(/@media \(max-height: 720px\)[\s\S]*?height:\s*calc\(var\(--dbx-viewport-height\) - 2rem\);/); expect(dialogSource).toMatch(/\.connection-dialog-content--config \.connection-form-body\s*\{[\s\S]*?align-content:\s*start;/); }); it("keeps the transport form inside a shrinkable scroll viewport", () => { - expect(dialogSource).toContain(''); - expect(dialogSource).toContain('class="connection-form-body grid h-full min-h-0 gap-4 overflow-y-auto overflow-x-hidden pt-4 pr-2"'); + expect(dialogSource).toContain(''); + expect(dialogSource).toContain('class="connection-form-body grid min-h-0 flex-1 gap-4 overflow-y-auto overflow-x-hidden pt-4 pr-2"'); }); });