From 4f6e7bcd10dca709ee01ae7d289f4cb2f89877a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20=C5=A0=C4=87eki=C4=87?= Date: Tue, 18 Aug 2026 04:42:56 +0200 Subject: [PATCH] fix(mobile): match dashed thought row box to solid tool row box The dashed FixedPartRow used rounded-xl and a 1.5px dashed stroke, which receded the visible ink from the layout edge on iOS and made a collapsed thought pill look farther from neighboring tool pills than those pills look from each other. Reuse the solid outer box (overflow-hidden rounded-lg border) and keep only border-dashed, so the visible gutter matches the gap-2 rhythm. --- .../agents/fixed-part-row.mounted.test.tsx | 24 +++++++++++++++++++ .../src/components/agents/fixed-part-row.tsx | 2 +- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/apps/mobile/src/components/agents/fixed-part-row.mounted.test.tsx b/apps/mobile/src/components/agents/fixed-part-row.mounted.test.tsx index 3ff5d7df4b..6dca145cc7 100644 --- a/apps/mobile/src/components/agents/fixed-part-row.mounted.test.tsx +++ b/apps/mobile/src/components/agents/fixed-part-row.mounted.test.tsx @@ -185,4 +185,28 @@ describe('FixedPartRow mounted', () => { expect(eyebrow.props.numberOfLines).toBe(1); expect(eyebrow.props.className).toContain('shrink'); }); + + it('matches the dashed outer box to the solid outer box', async () => { + const renderer = await renderRow({ + label: 'Thought', + labelKind: 'eyebrow', + variant: 'dashed', + accessibilityLabel: 'Thought', + }); + + const outerView = findHost(renderer.root, 'View').find( + node => + typeof node.props.className === 'string' && node.props.className.includes('border-dashed') + ); + expect(outerView).toBeDefined(); + if (!outerView) { + throw new Error('dashed outer view not found'); + } + const className = outerView.props.className as string; + expect(className).toContain('overflow-hidden'); + expect(className).toContain('rounded-lg'); + expect(className).toContain('border-dashed'); + expect(className).not.toContain('rounded-xl'); + expect(className).not.toContain('border-[1.5px]'); + }); }); diff --git a/apps/mobile/src/components/agents/fixed-part-row.tsx b/apps/mobile/src/components/agents/fixed-part-row.tsx index cf8f40976d..6a346a5040 100644 --- a/apps/mobile/src/components/agents/fixed-part-row.tsx +++ b/apps/mobile/src/components/agents/fixed-part-row.tsx @@ -44,7 +44,7 @@ export function FixedPartRow({