Add full shell, replaceable Omics adapter and bilingual interaction

Implement approved specification #32 and tickets #33-#37. Keep host authentication server-verified and pin session interaction language. Compile scoped base selectors for browser compatibility and retain full gutters during CSS pruning.
This commit is contained in:
Codex
2026-09-13 14:26:39 +02:00
parent 2d1b714ebe
commit d8a29bfbdd
207 changed files with 8570 additions and 2164 deletions
@@ -1,4 +1,5 @@
import { render, screen, waitFor } from "@testing-library/react";
import { act, render, screen, waitFor } from "@testing-library/react";
import { setLocale } from "../i18n";
import userEvent from "@testing-library/user-event";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { http, HttpResponse } from "msw";
@@ -6,6 +7,16 @@ import { server } from "../test/msw";
import type { WorkspacePreprocessingStatus } from "../api/workspace-preprocessing";
import { WorkspacePreprocessingControl } from "./WorkspacePreprocessingControl";
afterEach(() => act(() => setLocale("en")));
test("translates a live readiness diagnostic while preserving its catalog revision", () => {
renderControl({ schemaVersion: 1, workspaceId: "catalog-workspace", state: "ready",
actionable: true, clearable: true, detail: "Catalog revision 18 is indexed." });
act(() => setLocale("it"));
expect(screen.getByText("La revisione 18 del Catalogo è indicizzata.")).toBeVisible();
expect(screen.getByRole("button", { name: "Esegui di nuovo" })).toBeEnabled();
});
function renderControl(status: WorkspacePreprocessingStatus) {
const client = new QueryClient({ defaultOptions: { queries: { retry: false } } });
return render(