mirror of
https://github.com/stablyai/orca.git
synced 2026-10-31 00:57:45 +00:00
* 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