diff --git a/src/app/globals.css b/src/app/globals.css index 8cafa49ba0..bed5113281 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -41,6 +41,7 @@ --color-bg-primary: #f9f9fb; --color-bg-subtle: #f0f0f5; --color-surface: #ffffff; + --color-card: #ffffff; --color-sidebar: #f5f5fa; --color-border: rgba(0, 0, 0, 0.08); --color-text-main: #1a1a2e; @@ -61,6 +62,7 @@ --color-bg-primary: #0b0e14; --color-bg-subtle: #111520; --color-surface: #161b22; + --color-card: #161b22; --color-sidebar: #10141e; --color-border: rgba(255, 255, 255, 0.08); --color-text-main: #e6e6ef; @@ -93,6 +95,7 @@ --color-bg-primary: var(--color-bg-primary); --color-bg-subtle: var(--color-bg-subtle); --color-surface: var(--color-surface); + --color-card: var(--color-card); --color-sidebar: var(--color-sidebar); --color-border: var(--color-border); --color-text-main: var(--color-text-main); diff --git a/src/shared/components/ActiveRequestsPanel.tsx b/src/shared/components/ActiveRequestsPanel.tsx index 074983ed86..7de34f721d 100644 --- a/src/shared/components/ActiveRequestsPanel.tsx +++ b/src/shared/components/ActiveRequestsPanel.tsx @@ -67,7 +67,7 @@ export default function ActiveRequestsPanel() { } return ( -
+

@@ -120,8 +120,8 @@ export default function ActiveRequestsPanel() {

{selectedRow && ( -
-
+
+

diff --git a/tests/integration/integration-wiring.test.ts b/tests/integration/integration-wiring.test.ts index d805c5d99a..8dfface716 100644 --- a/tests/integration/integration-wiring.test.ts +++ b/tests/integration/integration-wiring.test.ts @@ -257,6 +257,27 @@ describe("API Routes — dashboard and tool consumers", () => { assertRouteMethods("src/app/api/usage/call-logs/[id]/route.ts", ["GET"]); }); + it("keeps the active request payload modal on opaque theme surfaces", () => { + const activeRequests = readProjectFile("src/shared/components/ActiveRequestsPanel.tsx"); + const globals = readProjectFile("src/app/globals.css"); + + assert.ok(activeRequests, "ActiveRequestsPanel should exist"); + assert.ok(globals, "globals.css should exist"); + assert.match(globals, /--color-card:\s+#ffffff/); + assert.match(globals, /--color-card:\s+#161b22/); + assert.match(globals, /--color-card:\s+var\(--color-card\)/); + assert.match(activeRequests, /rounded-xl border border-border bg-surface/); + assert.match(activeRequests, /backdrop-blur-sm/); + assert.match( + activeRequests, + /rounded-2xl[^"]*border border-border[^"]*bg-surface[^"]*shadow-2xl/ + ); + assert.doesNotMatch(activeRequests, /bg-card\/70/); + assert.doesNotMatch(activeRequests, /rounded-2xl[^"]*bg-card/); + assert.doesNotMatch(activeRequests, /shadow-\[/); + assert.doesNotMatch(activeRequests, /border-black\/10/); + }); + it("keeps usage quota wired through A2A and MCP tools", () => { const quotaSkill = readProjectFile("src/lib/a2a/skills/quotaManagement.ts"); const mcpAdvancedTools = readProjectFile("open-sse/mcp-server/tools/advancedTools.ts");