[fix](trx-frontend-http): label the overflow tab Tools and hide its glyph #29

Merged
sjg merged 1 commits from fix/tools-menu-button into main 2026-08-02 23:40:03 +02:00
Owner

What was broken

The button rendered as •••More — dots jammed against the label with no gap, which is why it read as broken rather than as a control.

The cause: .tab-more-icon carried no styling at all. Every other tab hides its icon while labels are shown and swaps to the icon when they are not (.tab-icon { display: none } until the icon band). The dots span was never brought into that rule, so it rendered as literal text next to the label at every width.

The dots now follow the same rule as every other tab icon:

width button
1440px Tools — label only, 66px
1000px ••• — glyph only, 35px

The name

"More" also said nothing about what is behind it. The menu holds Statistics, Recorder, Settings and About, so it is now Tools, with aria-label="Tools and settings" so screen readers get the fuller phrasing.

Other names considered: System (fits Settings/About/Statistics, but Recorder is a feature, not configuration) and Utilities (accurate but wordy in a tab strip). Easy to change if Tools reads wrong to you — it is one string in ui-core.ts.

Full gate green — typecheck, lint, 34/34 test, build, test:browser.

🤖 Generated with Claude Code

https://claude.ai/code/session_01GdyUjuXejCEfiub675z6cz

## What was broken The button rendered as **`•••More`** — dots jammed against the label with no gap, which is why it read as broken rather than as a control. The cause: `.tab-more-icon` carried **no styling at all**. Every other tab hides its icon while labels are shown and swaps to the icon when they are not (`.tab-icon { display: none }` until the icon band). The dots span was never brought into that rule, so it rendered as literal text next to the label at every width. The dots now follow the same rule as every other tab icon: | width | button | | --- | --- | | 1440px | `Tools` — label only, 66px | | 1000px | `•••` — glyph only, 35px | ## The name "More" also said nothing about what is behind it. The menu holds Statistics, Recorder, Settings and About, so it is now **Tools**, with `aria-label="Tools and settings"` so screen readers get the fuller phrasing. Other names considered: *System* (fits Settings/About/Statistics, but Recorder is a feature, not configuration) and *Utilities* (accurate but wordy in a tab strip). Easy to change if Tools reads wrong to you — it is one string in `ui-core.ts`. 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
sjg added 1 commit 2026-08-02 23:36:43 +02:00
[fix](trx-frontend-http): label the overflow tab Tools and hide its glyph
CI / test (pull_request) Successful in 8m17s
CI / lint (push) Successful in 2m18s
CI / lint (pull_request) Successful in 2m16s
CI / frontend (pull_request) Successful in 3m6s
CI / reuse (pull_request) Successful in 3s
CI / test (push) Successful in 7m25s
CI / frontend (push) Successful in 2m11s
CI / reuse (push) Successful in 3s
41ddecf5a7
The button rendered as "•••More": the dots span carried no styling at
all, so the glyph sat flush against the label instead of behaving like
the icon it is.  Every other tab hides its icon while labels are shown
and swaps to it when they are not; the dots now follow the same rule, so
the button reads "Tools" beside the other labels and becomes the glyph
alone in the icon band.

"More" also said nothing about the destinations behind it.  The menu
holds Statistics, Recorder, Settings and About, so name it Tools and give
the button an aria-label that spells that out.

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 41ddecf5a7 into main 2026-08-02 23:40:03 +02:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sjg/trx-rs#29