From c9c30563f23d63320e1b57ccf1e645f1e9e930dd Mon Sep 17 00:00:00 2001 From: mptyl Date: Fri, 14 Aug 2026 21:20:41 +0200 Subject: [PATCH] fix: improve workspace manager navigation and sizing --- frontend/src/shell/WorkspaceManager.test.tsx | 18 +++++++++++++++--- frontend/src/shell/WorkspaceManager.tsx | 14 ++++++++++++-- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/frontend/src/shell/WorkspaceManager.test.tsx b/frontend/src/shell/WorkspaceManager.test.tsx index b9a140ba..f5d0ddd4 100644 --- a/frontend/src/shell/WorkspaceManager.test.tsx +++ b/frontend/src/shell/WorkspaceManager.test.tsx @@ -70,15 +70,27 @@ beforeEach(() => { ); }); -test("uses at least sixty percent of the viewport on desktop", () => { +test("uses a tall viewport area and keeps the workspace content scrollable", () => { renderManager(); - expect(screen.getByRole("dialog")).toHaveClass( - "h-[70vh]", + const dialog = screen.getByRole("dialog"); + expect(dialog).toHaveClass( + "h-[86vh]", "w-[94vw]", "sm:w-[70vw]", "max-w-[94vw]", ); + expect(screen.getByRole("main")).toHaveClass("overflow-y-auto"); +}); + +test("offers an internal link back to the initial page", async () => { + const user = userEvent.setup(); + const onClose = vi.fn(); + renderManager(onClose); + + await user.click(screen.getByRole("button", { name: "Back to main page" })); + + expect(onClose).toHaveBeenCalledTimes(1); }); test("level one explains the read-only Git sequence and the repository update button", async () => { diff --git a/frontend/src/shell/WorkspaceManager.tsx b/frontend/src/shell/WorkspaceManager.tsx index 237602c7..62c09a4e 100644 --- a/frontend/src/shell/WorkspaceManager.tsx +++ b/frontend/src/shell/WorkspaceManager.tsx @@ -2,6 +2,7 @@ import { useMemo, useState } from "react"; import { useQuery, useQueryClient } from "@tanstack/react-query"; import { AlertCircle, + ArrowLeft, CheckCircle2, ClipboardCheck, FlaskConical, @@ -214,9 +215,18 @@ export function WorkspaceManager({ open, onClose }: { open: boolean; onClose: () { if (!nextOpen) close(); }}> + Workspace management Read, validate, and complete the runtime configuration of workspaces supplied by the installation repository. @@ -251,7 +261,7 @@ export function WorkspaceManager({ open, onClose }: { open: boolean; onClose: () -
+
{notice && (

{notice}