From 6b8fc40f8caeec4e439dc34390cbecedb2e2629e Mon Sep 17 00:00:00 2001 From: KKKK Date: Mon, 20 Jul 2026 11:06:29 +0800 Subject: [PATCH] fix composer send button contrast --- src/engine/adapters/codex-26.707.css | 12 ++++++++++-- tests/engine/adapter.test.mjs | 9 +++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/engine/adapters/codex-26.707.css b/src/engine/adapters/codex-26.707.css index 86276a7..6eafe47 100644 --- a/src/engine/adapters/codex-26.707.css +++ b/src/engine/adapters/codex-26.707.css @@ -264,13 +264,21 @@ html.awesome-codex-theme :is(.composer-root, .composer-surface-chrome) { backdrop-filter: blur(24px) saturate(120%); } -html.awesome-codex-theme :is(button[data-testid="composer-send-button"], .composer-send-button) { +html.awesome-codex-theme :is( + button[data-testid="composer-send-button"], + .composer-send-button, + button[data-awesome-codex-composer-control="primary"] +) { color: var(--act-background) !important; background: var(--act-accent) !important; border-color: var(--act-accent-hover) !important; } -html.awesome-codex-theme :is(button[data-testid="composer-send-button"], .composer-send-button):not(:disabled):hover { +html.awesome-codex-theme :is( + button[data-testid="composer-send-button"], + .composer-send-button, + button[data-awesome-codex-composer-control="primary"] +):not(:disabled):hover { background: var(--act-accent-hover) !important; } diff --git a/tests/engine/adapter.test.mjs b/tests/engine/adapter.test.mjs index 352dd1d..92d7a9d 100644 --- a/tests/engine/adapter.test.mjs +++ b/tests/engine/adapter.test.mjs @@ -56,6 +56,15 @@ describe('loadCodexAdapter', () => { ); }); + test('styles the semantic primary composer control with contrasting foreground and background', async () => { + const { css } = await loadCodexAdapter('26.715.31925'); + + expect(css).toContain('button[data-awesome-codex-composer-control="primary"]'); + expect(css).toMatch( + /button\[data-awesome-codex-composer-control="primary"\][^}]*\{[^}]*color:\s*var\(--act-background\)\s*!important;[^}]*background:\s*var\(--act-accent\)\s*!important;/s, + ); + }); + test('uses the shared mapping as a best-effort adapter for every numeric version', async () => { await expect(loadCodexAdapter('26.716.1')).resolves.toEqual( expect.objectContaining({