fix(ui-trajectory): clarify collapsed thinking controls

This commit is contained in:
_Kerman
2026-08-03 16:19:41 +08:00
parent 7bb9b85543
commit c2b0cc7b51
3 changed files with 16 additions and 2 deletions

View File

@@ -1248,9 +1248,19 @@
background: transparent; background: transparent;
cursor: pointer; cursor: pointer;
font: 600 12px/18px var(--dsw-font-family); font: 600 12px/18px var(--dsw-font-family);
gap: 2px;
user-select: none; user-select: none;
} }
.thinkingChevron {
flex: none;
transition: transform 120ms var(--ds-ease-in-out);
}
.thinkingToggle[aria-expanded='true'] .thinkingChevron {
transform: rotate(90deg);
}
.thinkingToggle:hover { .thinkingToggle:hover {
color: var(--dsw-alias-label-secondary); color: var(--dsw-alias-label-secondary);
} }

View File

@@ -1232,7 +1232,8 @@ function MarkdownRecordContent({
aria-expanded={thinkingExpanded} aria-expanded={thinkingExpanded}
onClick={() => { onThinkingExpandedChange(!thinkingExpanded) }} onClick={() => { onThinkingExpandedChange(!thinkingExpanded) }}
> >
{thinkingExpanded ? 'Thinking' : 'Thinking ...'} {thinkingExpanded ? 'Hide thinking' : 'Show thinking'}
<IconChevronRightOutline14 className={css.thinkingChevron} size={12} />
</button> </button>
{thinkingExpanded && ( {thinkingExpanded && (
<MarkdownFragment <MarkdownFragment

View File

@@ -101,10 +101,13 @@ describe('TrajectoryTable', () => {
render(<TrajectoryTable turns={turns} {...FOLD_PROPS} />) render(<TrajectoryTable turns={turns} {...FOLD_PROPS} />)
fireEvent.click(screen.getByRole('row', { name: /ASSISTANT/ })) fireEvent.click(screen.getByRole('row', { name: /ASSISTANT/ }))
const toggle = screen.getByRole('button', { name: 'Thinking ...' }) const toggle = screen.getByRole('button', { name: 'Show thinking' })
expect(toggle.getAttribute('aria-expanded')).toBe('false')
expect(screen.queryByText(thinking)).toBeNull() expect(screen.queryByText(thinking)).toBeNull()
fireEvent.click(toggle) fireEvent.click(toggle)
expect(screen.getByRole('button', { name: 'Hide thinking' })).toBe(toggle)
expect(toggle.getAttribute('aria-expanded')).toBe('true')
expect(toggle.parentElement?.textContent?.length).toBeGreaterThan(thinking.length) expect(toggle.parentElement?.textContent?.length).toBeGreaterThan(thinking.length)
}) })