diff --git a/web/workspace/deno.lock b/web/workspace/deno.lock index 74d53571..f9c2ed9a 100644 --- a/web/workspace/deno.lock +++ b/web/workspace/deno.lock @@ -11,6 +11,7 @@ "npm:cookie@0.6.0": "0.6.0", "npm:decodal-codemirror@0.1.2": "0.1.2", "npm:devalue@5.6.4": "5.6.4", + "npm:gen-interface-jp@0.8.0": "0.8.0", "npm:set-cookie-parser@2.7.2": "2.7.2", "npm:shiki@3.13.0": "3.13.0", "npm:sv@*": "0.10.8", @@ -715,6 +716,9 @@ "os": ["darwin"], "scripts": true }, + "gen-interface-jp@0.8.0": { + "integrity": "sha512-7rIytSAfuugVjYithrQseT0zqeUIkJd0LY3Ugdfbk/FxzMSeagcskeZlof5uWJ5liW3Zhn7pdLHq2OIvAftx+A==" + }, "graceful-fs@4.2.11": { "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, @@ -1182,6 +1186,7 @@ "packageJson": { "dependencies": [ "npm:@tailwindcss/vite@^4.1.17", + "npm:gen-interface-jp@0.8.0", "npm:tailwindcss@^4.1.17" ] } diff --git a/web/workspace/package.json b/web/workspace/package.json index e81f479e..79bba045 100644 --- a/web/workspace/package.json +++ b/web/workspace/package.json @@ -3,6 +3,9 @@ "version": "0.0.0", "private": true, "type": "module", + "dependencies": { + "gen-interface-jp": "0.8.0" + }, "devDependencies": { "@tailwindcss/vite": "^4.1.17", "tailwindcss": "^4.1.17" diff --git a/web/workspace/src/app.css b/web/workspace/src/app.css index 7043eddd..d00433bc 100644 --- a/web/workspace/src/app.css +++ b/web/workspace/src/app.css @@ -1,4 +1,8 @@ @import 'tailwindcss'; +@import 'gen-interface-jp/400.css'; +@import 'gen-interface-jp/500.css'; +@import 'gen-interface-jp/600.css'; +@import 'gen-interface-jp/700.css'; @layer reset, tokens, base, layout, components; @layer reset { *, @@ -52,7 +56,7 @@ --radius-panel: 12px; --interactive-hover: oklch(94.5% 0 0); --interactive-selected: oklch(93% 0.02 230); - --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, + --font-sans: "Gen Interface JP", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; diff --git a/web/workspace/src/lib/workspace/console/worker-console.ui.test.ts b/web/workspace/src/lib/workspace/console/worker-console.ui.test.ts index 308c5e6f..23d409ee 100644 --- a/web/workspace/src/lib/workspace/console/worker-console.ui.test.ts +++ b/web/workspace/src/lib/workspace/console/worker-console.ui.test.ts @@ -9,6 +9,18 @@ function assert(condition: unknown, message: string): asserts condition { } } +Deno.test("workspace app css uses bundled Gen Interface JP font", async () => { + const appCss = await Deno.readTextFile(new URL("./../../../app.css", import.meta.url)); + assert( + appCss.includes("gen-interface-jp/400.css") && + appCss.includes("gen-interface-jp/500.css") && + appCss.includes("gen-interface-jp/600.css") && + appCss.includes("gen-interface-jp/700.css") && + appCss.includes('"Gen Interface JP", Inter'), + "global app css should import the tracked Gen Interface JP weights and prefer it in the sans font stack", + ); +}); + Deno.test("workspace Worker list lives on the dedicated Workers page", async () => { const workspacePage = await Deno.readTextFile( new URL("./../../../routes/w/[workspaceId]/+page.svelte", import.meta.url),