Make the UI work on a phone

The ☰ button lived in the player bar, which is hidden until something
plays, so the feed list was unreachable on a phone. It moves to a bar
that is always present, and the sidebar gets a scrim.

The reading pane takes the whole screen over the list with a back
button, the player stacks into two rows above it, and the page no longer
scrolls sideways -- a grid column is min-content wide by default, so one
long headline dragged everything off the right edge.

Covered by a Playwright case at 390x844.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AdXho5tTkjFLeUXKbEjKBh
This commit is contained in:
2026-09-10 18:58:10 +00:00
parent 7473d5b7fb
commit d157c88ba9
3 changed files with 120 additions and 19 deletions

View File

@@ -56,6 +56,30 @@ and until now nothing set them.
---
## 2026-09-10 — Phone layout
The UI was unusable on a phone, starting with the worst of it: the ☰ button lived inside the player
bar, which is hidden until something plays, so there was no way to reach the feed list at all. It
now sits in a small bar at the top of the main pane that is always there, and the sidebar slides
over the page with a scrim to tap away.
The rest:
* **One pane at a time.** The three-pane split becomes a list, with the item text taking the whole
screen over it and a `← Episodes` button back. The divider is hidden.
* **No sideways scrolling.** A grid column is min-content wide by default, so one long headline
("davewiner/hackerNewsStars") dragged the entire page off the right edge -- `min-width:0` down the
shell/main/wrap chain, `overflow-wrap:anywhere` on headings, and an explicit
`minmax(0,1fr)` column for the OPML child list.
* **The player stacks**: title row on top, transport and seek bar below, and it paints above the
reading pane so it stays reachable.
* Header artwork, buttons and log rows shrink to fit; tap targets go to 38px.
A Playwright case at 390x844 locks in the three things that actually broke: the burger is visible
with nothing playing, the page does not scroll sideways, and an item opens and closes over the list.
---
## 2026-09-10 — Marking a subscription read
An OPML subscription's page now has **Mark all read**, sitting where every other feed keeps it --