--- key: spa.collection-custom-order-ui title: '2026-07-09 — Collection custom order: move up/down buttons, any-kind collections' status: active since: '2026-07-09' supersedes: none superseded-by: none rule: Collection custom ordering uses per-row Move up/Move down buttons (not drag) and is offered for any manual collection with custom order enabled, not just movies-only. signals: '`CollectionsScreen.tsx`, `PUT /api/collections/{id}/custom-order`, `CustomOrderCollectionEnumerator` · paths: `CollectionsScreen.tsx` · issues: #211' mechanics: '`PUT /api/collections/{id}/custom-order`' --- Blazor reordered collection items with SortableJS drag-and-drop and only enabled custom ordering for movies-only collections. The SPA (`CollectionsScreen.tsx`) uses per-row **Move up / Move down** buttons in an explicit reorder mode instead of drag (no new drag dependency; the mode loads ALL items first because `PUT /api/collections/{id}/custom-order` replaces the whole order from array position — submitting a partial page would scramble the rest), and does **not** replicate the movies-only gate: the API and the playback-side `CustomOrderCollectionEnumerator` sort by `CustomIndex` regardless of item kind, so the SPA offers reorder for any manual collection with custom order enabled. Issue #211.