Stats-control round 1 (owner): bare labels + intuitive dropdown close
Model + thinking control refinements (components/model-picker.tsx):
- Drop the '·' separator between the two buttons.
- The thinking button shows just the level ('High', 'Max') — same
doctrine as the model button showing just the model name; '—' when
unknown. Pinned in render-stats-bar (label + no-dot assertions).
- The dropdowns now close on any pointerdown outside the control
(the toggle buttons stay inside the container and keep their own
toggling) and on Esc — the intuitive dropdown contract, instead of
the button being the only way out.
Note: file is graph-stream-owned per SCOPE; touching it per the owner's
direct request (same as cd518a4) — flagged for master.
This commit is contained in:
@@ -34,9 +34,12 @@ describe("stats bar", () => {
|
||||
assert.match(html, /data-testid="stats-bar"/);
|
||||
assert.match(html, /data-testid="stats-context">—</);
|
||||
assert.match(html, /data-testid="stats-cost">—</);
|
||||
// no turns, no settings, catalog not loaded → both control labels "—"
|
||||
// no turns, no settings, catalog not loaded → both control labels
|
||||
// "—" (the thinking button shows just the level, like the model
|
||||
// button shows just the model name — no prefix, no dot separator)
|
||||
assert.match(html, /data-testid="stats-model"[^>]*>\s*<span[^>]*>—<\/span>/);
|
||||
assert.match(html, /Thinking —</);
|
||||
assert.match(html, /data-testid="stats-thinking"[^>]*>\s*<span[^>]*>—<\/span>/);
|
||||
assert.ok(!html.includes("aria-hidden>·"), "no dot between the controls");
|
||||
// the control reads as a button: pill border + dropdown chevron
|
||||
assert.match(html, /data-testid="stats-model"[^>]*rounded-full[^>]*>/);
|
||||
assert.match(html, /▾/);
|
||||
|
||||
Reference in New Issue
Block a user