Phones: a channel's head in two rows; no "Status för X." #339

Merged
littlefox merged 2 commits from issue-phone-head into main 2026-10-25 08:24:19 +00:00
Owner

Closes #338

On phones a channel's name ran under the view switch at 360 px ("Jättetrådar"), and at 320 px its head took four rows.

  • One ChannelHead component serves both panes.
  • The name gives way with "…" instead of running under the buttons.
  • On phones the head is two rows: ←, the name and "⋯" (Om kanalen, Markera allt som läst); then the view switch and "Läs N olästa" ("Läs N" below 380 px).
  • Below 380 px the top bar's buttons and gaps are slightly smaller.
  • "Status för X." no longer stays above a channel; the status page's heading has the name.
  • The ⋯ menu isn't closed by any tap inside it: that unmounted the catch-up button and cancelled its task. It closes when used.

Checked:

  • Screenshots at 412, 360 and 320 px, approved by the user.
  • catch-up spec opens the menu on phones; commands spec reads the heading.
  • Full suite: 406 passed. 2 flaky passed on retry: the giant timeline, and a WebKit login over 15 s under load. commands failed and is fixed in this PR (15 passed together with giant). Lint passes all three ways.

🤖 Generated with Claude Code

https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8

Closes #338 On phones a channel's name ran under the view switch at 360 px ("Jättetrådar"), and at 320 px its head took four rows. - One `ChannelHead` component serves both panes. - The name gives way with "…" instead of running under the buttons. - On phones the head is two rows: ←, the name and "⋯" (Om kanalen, Markera allt som läst); then the view switch and "Läs N olästa" ("Läs N" below 380 px). - Below 380 px the top bar's buttons and gaps are slightly smaller. - "Status för X." no longer stays above a channel; the status page's heading has the name. - The ⋯ menu isn't closed by any tap inside it: that unmounted the catch-up button and cancelled its task. It closes when used. Checked: - Screenshots at 412, 360 and 320 px, approved by the user. - catch-up spec opens the menu on phones; commands spec reads the heading. - Full suite: 406 passed. 2 flaky passed on retry: the giant timeline, and a WebKit login over 15 s under load. commands failed and is fixed in this PR (15 passed together with giant). Lint passes all three ways. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8
The user: on phones the elements at the top of the screen are crushed
together and sometimes overlap. At 360 px a channel's name ran under the
view switch ("Jättetrådar"); at 320 px its head took four rows, half the
screen. Now (one component for both panes, ChannelHead): the name gives
way with "…"; on phones two rows, ←, the name and "⋯" (Om kanalen,
Markera allt som läst), then the view switch and "Läs N olästa" ("Läs
N" below 380 px). Below 380 px the top bar's buttons and gaps are a
little smaller. "Status för X." no longer stays above a channel opened
from its status page: the page's heading says it already.

The menu isn't closed by any tap inside it: closing it unmounted the
catch-up button and cancelled its task. Checked from screenshots at
412, 360 and 320 px, approved by the user; catch-up spec opens the menu
on phones.

Closes #338

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8
Test: going to a passive membership shows its status, the name as heading
All checks were successful
perf / perf (pull_request) Has been skipped
ci / check (push) Successful in 10m48s
ci / desktop (push) Successful in 15m27s
ci / e2e (push) Successful in 38m43s
080fc43497
The commands spec read the conference's name from the removed
"Status för X." line; the status page's heading has it.

Refs #338

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8
littlefox referenced this pull request from a commit 2026-10-25 09:02:12 +00:00
Sign in to join this conversation.
No description provided.