Skip to content

fix(ui): region dropdown opens off-screen on mobile Channels page; quick-picks row overflows #620

Closed

Description

@dborup

Problem (mobile, Channels page)

On a phone the region filter dropdown on #/channels opens mostly off-screen to the left. Only the ends of the labels are visible ("…DK", "…d, SE"). The open menu also covers the region-group quick picks (#565).

Measured at 375×812 on staging (v0.2.7-rc4, region groups configured):

  • The trigger .ch-header-region .region-dropdown-trigger spans left 10 → right 58.
  • .region-dropdown-menu is position:absolute; right:0; min-width:220px. It is anchored to the trigger's right edge, so it extends leftwards to x = −162 and 162 px are cut off.
  • .region-quick-picks in the same header is 448 px wide (flex-wrap: wrap, but the container itself is wider than the 375 px viewport), so the last chips can end up clipped.

Most likely the right-anchored menu was designed for headers where the trigger sits at the right. On Channels it sits at the left.

Fix

  • Keep the open menu inside the viewport:
    • anchor it to the trigger's left edge when the trigger sits in the left half, or
    • clamp it with max-width: calc(100vw - 2*gutter) plus a viewport-aware left/right.
      Reuse the shared region-filter code so Packets, Nodes, Channels and the other region filters all behave the same. Do not special-case Channels.
  • Make the quick-picks row fit the header width: wrap within the container, or use a horizontally scrollable strip, with no clipped chips.
  • Make sure the open menu does not hide the quick picks it belongs to: render the quick picks above or below the menu, or put the menu on its own layer without covering the trigger row.

Tests

  • Playwright at 320, 375 and 768 px, plus desktop, on every page with a region filter: the open menu's bounding box lies within the viewport, the quick-picks row has no chip outside its container, and there is no horizontal page overflow.
  • Kill a mutant that restores right:0 on the Channels header.
  • CSS variables only.

Activity

  1. dborup commented on Oct 28, 2026

    @dborup
    OwnerAuthor

    Fixed by #635 (merged as 3a8a9ff8b07dbc08c9fef23cad2392150a0282d2).

  2. added a commit that references this issue on Oct 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions