#550

feat(web): client order view in the library (UI/UX feedback wanted)

DraftHarryAnkerswants to merge intofrom

Depends on #549. Only the feat(web): … commit is new here; the other commits are #549.

This adds a UI for the grouped client ordering in #549. Before I polish it I'd like your take on the UX.

What it does

The Library gets a Client order sort mode that previews exactly what /applist sends:

  • Custom apps (Desktop, Steam Big Picture, …) reorder by drag or up/down buttons, using the existing /api/apps/reorder endpoint.
  • Groups move up and down, and each integration has a sort picker: name, recently played, or most played.
  • A banner offers to turn on legacy ordering, since Moonlight otherwise sorts A to Z.
  • /api/apps gains a client_order field so the preview never disagrees with the host.
Grouped, Steam by most playedGrouping off
Steam by recently playedDarkMobile (390px)

Screenshots are from the Vite dev server with a mocked API. Manual testing on a real host shortly.

Questions

  1. Placement: is a sort mode in the Library the right home, or would you rather have a separate section, e.g. under Integrations or Settings?
  2. Per-integration sort: in the Library group header (as here) or on each provider's Integrations card?
  3. Legacy ordering: is it OK for the Library to flip the global legacy_ordering setting with a "Turn on" button, or should it only link to Settings?
  4. Anything you'd cut, to keep the Library simpler?

e2e coverage is in e2e/ui.spec.ts (library client order groups sources and saves the custom order).

🤖 Generated with Claude Code

Activity

14
HarryAnkers1mo ago

obviously claude generated so lmk if issues. Know its a big one

HarryAnkers1mo ago

The Arch Linux CI failure isn't from this PR. The job never starts: .github/workflows/ci-archlinux.yml asks Docker for --cpus 8 --memory 16g, but the runner only has 4 CPUs (range of CPUs is from 0.01 to 4.00, as there are only 4 CPUs available). It fails the same way on #555. Changing it to --cpus 4, or giving the runner more CPUs, should fix it.

(Diagnosed with Claude Code.)

This pull request is a draft

Merging is unavailable until it is marked ready for review.