fix(ui): a short right rail strip is shared between the tabs at one height

Proportional shrinking clipped every label by the same fraction, so CCTV lost half its letters while STREET LEVEL kept most of them. The strip now divides the lane less the tool slot equally (fitTabs in rightRailTabs.js): a tab shorter than its share keeps its height and the rest is shared again, so the long labels end up the same height and clip alike; tabs that fit keep their natural height. A style observer on the rail re-fits on a new lane, and the measuring pass lifts the shared heights so the rail's climb still sees the natural column.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
German KhokhlovandClaude Fable 5.1 committed 2026-10-28 12:14:53 +04:00
1 parent f4285b8fb2
commit 48602e4400
5 files changed
+135 -9

No files matched your search

+3 -2
View File
@@ -1513,8 +1513,9 @@ the DOM so Tab from the open tab reaches the tool slot and then the panel.
Labels are the panels' own translated header titles. The rail's lane shares
the left rail's top; when it is too short for the strip, the rail climbs toward
the HUD corner above as far as the strip needs (`src/ui/rightPanelRail.js`),
and a lane still shorter shrinks the tabs in proportion, clipping their
labels at the end; the strip never scrolls. Under the tabs the strip's
and a lane still shorter is shared equally between the tabs: a label short
enough keeps its height, the long ones end up the same height and clip at the
end; the strip never scrolls. Under the tabs the strip's
column keeps a tool slot (`#right-rail-tools`) that holds the compact Radio
launcher on desktop: `src/ui/radioPanelPlacement.js` moves it there from
Context's header, and back for the phone sheet, so the compact player stays one