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:
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:

After (mockup):

**Fix**
- Reuse the collapsed Filters pattern on Provisioning, with a count of active filters
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`).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
On phones, Provisioning puts four filter controls ahead of any content, while its sibling pages collapse theirs.
provisioning/+page.svelte:310-339shows 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/+page.svelte:258).Screenshots
Before, 390 px:

After (mockup):

Fix
Reviewed
3e0b4db736. On phones, Provisioning now puts its filters behind a "Filters · N" button like its sibling pages, so I'm closing this.Checklist
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=doneand changes the button to "Filters · 1". At 1440 px the three selects stay inline and the button is hidden.Review notes
Fieldgives 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 sharedSelect, and they still work in both places.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).