Grouping Statistics, Recorder, Settings and About behind Tools left the strip looking identical on all four. The destination's own button does get the active class — but the strip hides that button, so nothing was marked. The page titles I added name the page without saying how you got there.
The fix
Mark the Tools button when the active destination is one the strip hides.
The condition is read from the button's computed display, not from a second copy of the grouping:
So the two cannot drift. Whatever ui-core puts in the menu lights up Tools, and a destination promoted back into the strip stops doing so with no further change — including the responsive case, where the set could differ by width.
Tools already carries the tab class, so the existing active styling applies unchanged: same red underline and colour as any other selected tab.
Verified
on Radio tools=false radio=true
on statistics tools=true radio=false
on settings tools=true radio=false
on Map tools=false radio=false
Full gate green — typecheck, lint, 34/34 test, build, test:browser.
Second of the three follow-ups.
## The gap
Grouping Statistics, Recorder, Settings and About behind **Tools** left the strip looking identical on all four. The destination's own button does get the active class — but the strip hides that button, so nothing was marked. The page titles I added name the page without saying how you got there.
## The fix
Mark the Tools button when the active destination is one the strip hides.
The condition is read from the button's **computed display**, not from a second copy of the grouping:
```ts
toolsBtn.classList.toggle("active", getComputedStyle(btn).display === "none");
```
So the two cannot drift. Whatever `ui-core` puts in the menu lights up Tools, and a destination promoted back into the strip stops doing so with no further change — including the responsive case, where the set could differ by width.
Tools already carries the `tab` class, so the existing active styling applies unchanged: same red underline and colour as any other selected tab.
## Verified
```
on Radio tools=false radio=true
on statistics tools=true radio=false
on settings tools=true radio=false
on Map tools=false radio=false
```
Full gate green — `typecheck`, `lint`, 34/34 `test`, `build`, `test:browser`.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_01GdyUjuXejCEfiub675z6cz
Grouping Statistics, Recorder, Settings and About behind Tools left the
tab strip looking identical on all four: the destination's own button
carries the active class, but the strip hides that button, so nothing
was marked. The page titles named the page without saying how you got
there.
Mark the Tools button when the active destination is one the strip hides.
That state is read from the button's computed display rather than from a
second copy of the grouping, so the two cannot drift: whatever ui-core
puts in the menu lights up Tools, and a destination promoted back into
the strip stops doing so with no further change.
Tools already carries the tab class, so the existing active styling
applies unchanged.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GdyUjuXejCEfiub675z6cz
Signed-off-by: Stan Grams <sjg@haxx.space>
sjg
merged commit 92697b11c5 into main2026-08-03 00:24:04 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Second of the three follow-ups.
The gap
Grouping Statistics, Recorder, Settings and About behind Tools left the strip looking identical on all four. The destination's own button does get the active class — but the strip hides that button, so nothing was marked. The page titles I added name the page without saying how you got there.
The fix
Mark the Tools button when the active destination is one the strip hides.
The condition is read from the button's computed display, not from a second copy of the grouping:
So the two cannot drift. Whatever
ui-coreputs in the menu lights up Tools, and a destination promoted back into the strip stops doing so with no further change — including the responsive case, where the set could differ by width.Tools already carries the
tabclass, so the existing active styling applies unchanged: same red underline and colour as any other selected tab.Verified
Full gate green —
typecheck,lint, 34/34test,build,test:browser.🤖 Generated with Claude Code
https://claude.ai/code/session_01GdyUjuXejCEfiub675z6cz