diff --git a/packages/dashboard/app/components/ChatView.css b/packages/dashboard/app/components/ChatView.css index 9acd257cea..8951564065 100644 --- a/packages/dashboard/app/components/ChatView.css +++ b/packages/dashboard/app/components/ChatView.css @@ -1499,8 +1499,8 @@ } .chat-input-stop { - width: calc(var(--space-xl) * 2); - height: calc(var(--space-xl) * 2); + width: 36px; + height: 36px; border-radius: var(--radius-md); border: none; background: color-mix(in srgb, var(--color-error) 15%, transparent); diff --git a/packages/dashboard/app/components/__tests__/ChatView.chat-input-autosize.test.tsx b/packages/dashboard/app/components/__tests__/ChatView.chat-input-autosize.test.tsx index 5245fc9aee..dcc922e762 100644 --- a/packages/dashboard/app/components/__tests__/ChatView.chat-input-autosize.test.tsx +++ b/packages/dashboard/app/components/__tests__/ChatView.chat-input-autosize.test.tsx @@ -15,6 +15,18 @@ describe("ChatView chat input autosize", () => { expect(textareaRule?.[0]).toContain("overflow-y: hidden"); }); + it("keeps the stop button dimensions aligned with the send button", () => { + const sendRule = chatViewCss.match(/\.chat-input-send\s*\{[^}]*\}/); + const stopRule = chatViewCss.match(/\.chat-input-stop\s*\{[^}]*\}/); + + expect(sendRule).not.toBeNull(); + expect(stopRule).not.toBeNull(); + expect(sendRule?.[0]).toContain("width: 36px"); + expect(sendRule?.[0]).toContain("height: 36px"); + expect(stopRule?.[0]).toContain("width: 36px"); + expect(stopRule?.[0]).toContain("height: 36px"); + }); + it("clamps oversized textarea growth to the new max height", () => { expect(clampChatInputHeight(600)).toBe(600); expect(clampChatInputHeight(800)).toBe(640);