Phone layout: fill the screen in the home-screen app, drop the title row
In the iOS home-screen app the layout viewport - `100dvh`, `innerHeight`, even a `position: fixed; inset: 0` box - can come back one status bar short, which left the dock floating that far above the bottom of the screen with an empty strip below it. In standalone mode the stage now takes its height from `screen` instead (swapped for landscape, since iOS reports it in portrait), via a `--full-height` variable that lib/fullHeight.ts sets only there; the keyboard inset is measured against the same height. A Safari tab, Android and the kiosk are unchanged. The mascot and app title above the group switch only cost a row on a phone, so they are gone; the connection/figure pill moves above the group switch, centred, and only shows while it has something to say. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -31,7 +31,7 @@ interface Props {
|
||||
typed: string;
|
||||
mode: Mode;
|
||||
currentAlbumId: string | null;
|
||||
/** Pill next to the title: connection lost, or the figure on the reader. Primitives
|
||||
/** Pill above the group switch: connection lost, or the figure on the reader. Primitives
|
||||
* rather than an element, so `memo` still holds across position frames. */
|
||||
statusLabel: string | null;
|
||||
offline: boolean;
|
||||
@@ -135,16 +135,12 @@ function MobileBrowseImpl({
|
||||
|
||||
return (
|
||||
<div className="m-scroll" key={group}>
|
||||
<div className="m-title-row">
|
||||
<img src={SKIN.mascot} alt="" className="m-title-mascot" />
|
||||
<div className="m-title">{SKIN.appName}</div>
|
||||
<div className="m-sticky">
|
||||
{statusLabel && (
|
||||
<div className="m-status" data-offline={offline}>
|
||||
{statusLabel}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
<div className="m-sticky">
|
||||
<div className="m-segmented">
|
||||
{GROUPS.map((candidate) => (
|
||||
<Segment
|
||||
|
||||
Reference in New Issue
Block a user