Files
orca/mobile/src/layout
Brennan Benson 80e2c68058 fix(mobile): one button style for the session header and tab strip; size tabs to titles (#29222)
* fix(mobile): put the session tabs in the top bar on a landscape phone

A sideways phone is about 390pt tall and the session header spent two rows
on it. On a landscape phone the tab strip now shares the top bar with the
back button, title and panel icons. Portrait and tablet layouts are unchanged.

* fix(mobile): give session tabs side borders and a filled active tab

In the landscape top bar the tabs sat between the title and the panel
icons with nothing marking where one tab ended. Each tab now has a 1pt
border on its sides, running the full height of the bar, and the active
tab gets the raised fill, as the desktop tab strip draws them. The same
strip is used in portrait, so both orientations match.

* fix(mobile): one button style for the session header and tab strip; size tabs to titles

The header had three button sizes and the new-tab and quick-commands
buttons were bare 16pt glyphs in a 40x36 area with no extra touch room,
so "+" was hard to hit. Every header and tab-strip button now uses the
same 36pt rounded button with an 18pt icon and a 44pt touch area. Tabs
size to their titles (44 to 128pt) instead of a fixed 128pt, the strip
row is 44pt, terminal tabs get a terminal icon, and tabs expose the tab
role and selected state to screen readers.

* fix(mobile): reset tab strip measurements on view attachment

* style(mobile): format tab strip ref dependencies

* fix(mobile): reserve independent header button touch targets

* fix(mobile): type header button test against its component

* fix(mobile): keep two header rows in landscape windows too narrow for top-bar tabs

A short, narrow window (a ~390x350 web window) is wider than tall, so it
counted as a landscape phone and moved the tabs into a top bar that has no
width left for them. Top-bar tabs now also need at least 568pt of width,
the narrowest landscape phone.

* fix(mobile): give the landscape top-bar tab strip a fixed left edge so scrolled tabs never read as part of the title

* chore: recompute mergeability after retarget to main
2026-10-18 22:20:15 -07:00
..