Provisioning shows every filter on phones #127

Closed
opened 2026-10-09 19:55:55 -04:00 by goddard · 1 comment
Collaborator

On phones, Provisioning puts four filter controls ahead of any content, while its sibling pages collapse theirs.

  • provisioning/+page.svelte:310-339 shows the Operation, Status and Source selects inline after the tabs and search. Its only phone rule makes search full width (provisioning/+page.svelte:751-757).
  • Leaderboard, Activity and Matches put filters behind a "Filters · N" button (e.g. leaderboard/+page.svelte:258).

Screenshots

Before, 390 px:
Before

After (mockup):
After (mockup)

Fix

  • Reuse the collapsed Filters pattern on Provisioning, with a count of active filters
On phones, Provisioning puts four filter controls ahead of any content, while its sibling pages collapse theirs. - `provisioning/+page.svelte:310-339` shows the Operation, Status and Source selects inline after the tabs and search. Its only phone rule makes search full width (`provisioning/+page.svelte:751-757`). - Leaderboard, Activity and Matches put filters behind a "Filters · N" button (e.g. `leaderboard/+page.svelte:258`). **Screenshots** Before, 390 px: ![Before](https://gitea.thewrightserver.net/attachments/1c735846-0d14-4a95-b4a4-9eb299e4fb9a) After (mockup): ![After (mockup)](https://gitea.thewrightserver.net/attachments/952db900-eedf-4e90-a767-63739172396d) **Fix** - Reuse the collapsed Filters pattern on Provisioning, with a count of active filters
goddard added the
priority
low
type/ux
labels 2026-10-09 19:55:55 -04:00
josh was assigned by goddard 2026-10-09 19:55:55 -04:00
Author
Collaborator

Reviewed 3e0b4db736. On phones, Provisioning now puts its filters behind a "Filters · N" button like its sibling pages, so I'm closing this.

Checklist

  • Reuse the collapsed Filters pattern, with a count. At 640 px and below, the inline Operation, Status and Source selects are hidden (provisioning/+page.svelte:788-795). A Filters button opens them in a drawer instead (provisioning/+page.svelte:321-325,359-370), the same way Leaderboard does (leaderboard/+page.svelte:259-262). The count covers the three selects and the search (provisioning/+page.svelte:230-234). In the preview at 390 px, no select shows until you open Filters. Choosing Status "Complete" and then Show results closes the drawer, changes the URL to ?view=history&status=done and changes the button to "Filters · 1". At 1440 px the three selects stay inline and the button is hidden.

Review notes

  • Both copies of the fields come from one snippet, and Field gives each copy its own ID (Field.svelte:27), so the hidden copy doesn't duplicate IDs. The #110 commit has since moved these fields onto the shared Select, and they still work in both places.
  • CI run 846 on this commit is green, and so is run 849 on the current HEAD.
  • Minor and non-blocking: no test renders the Provisioning page, so nothing covers the button or the drawer.
  • Minor and non-blocking: the count includes the search box, but on Provisioning the search stays outside the drawer (provisioning/+page.svelte:308-316). A search on its own shows "Filters · 1" while the drawer shows every select at its default, and the drawer's Clear filters also clears the search. Leaderboard counts its search because the search is inside its drawer (leaderboard/+page.svelte:332).
Reviewed 3e0b4db7364ec197b11036975ae6b23a85efb745. On phones, Provisioning now puts its filters behind a "Filters · N" button like its sibling pages, so I'm closing this. **Checklist** - [x] **Reuse the collapsed Filters pattern, with a count.** At 640 px and below, the inline Operation, Status and Source selects are hidden (`provisioning/+page.svelte:788-795`). A Filters button opens them in a drawer instead (`provisioning/+page.svelte:321-325,359-370`), the same way Leaderboard does (`leaderboard/+page.svelte:259-262`). The count covers the three selects and the search (`provisioning/+page.svelte:230-234`). In the preview at 390 px, no select shows until you open Filters. Choosing Status "Complete" and then Show results closes the drawer, changes the URL to `?view=history&status=done` and changes the button to "Filters · 1". At 1440 px the three selects stay inline and the button is hidden. **Review notes** - Both copies of the fields come from one snippet, and `Field` gives each copy its own ID (`Field.svelte:27`), so the hidden copy doesn't duplicate IDs. The #110 commit has since moved these fields onto the shared `Select`, and they still work in both places. - CI [run 846](https://gitea.thewrightserver.net/josh/electric-cherry/actions/runs/846) on this commit is green, and so is [run 849](https://gitea.thewrightserver.net/josh/electric-cherry/actions/runs/849) on the current HEAD. - Minor and non-blocking: no test renders the Provisioning page, so nothing covers the button or the drawer. - Minor and non-blocking: the count includes the search box, but on Provisioning the search stays outside the drawer (`provisioning/+page.svelte:308-316`). A search on its own shows "Filters · 1" while the drawer shows every select at its default, and the drawer's Clear filters also clears the search. Leaderboard counts its search because the search is inside its drawer (`leaderboard/+page.svelte:332`).
Sign in to join this conversation.