--- # nuzlocke-tracker-ru96 title: Admin run slide-over panel with metadata editing status: draft type: feature priority: normal created_at: 2026-03-21T21:59:20Z updated_at: 2026-03-21T22:04:08Z parent: nuzlocke-tracker-9i9m --- Replace the current click-to-delete behavior on the runs page with a slide-over panel that shows run details and allows editing metadata. ## Current problem Clicking any run row in AdminRuns immediately opens a delete confirmation modal. There is no way to view or edit run metadata (name, status, owner, visibility). ## Approach - Replace `onRowClick` from opening delete modal to opening a slide-over panel - Panel slides in from the right over the runs list - Panel shows all run metadata with inline editing: - Name (text input) - Status (dropdown: active/completed/failed — matches `RunStatus` type) - Owner (user search/select — requires new admin endpoint) - Visibility (dropdown: public/private/unlisted) - Rules, Naming Scheme (if applicable) - Started At, Completed At (read-only) - Save button to persist changes - Delete button at bottom of panel (with confirmation) - New admin-only backend endpoint: PUT /admin/runs/:id for owner reassignment and other admin-only fields\n- New admin-only endpoint: GET /admin/users for user search/select (currently no list-users endpoint exists — only /users/me) ## Files to modify - `frontend/src/pages/admin/AdminRuns.tsx` — Replace delete-on-click with slide-over - `frontend/src/components/admin/RunSlideOver.tsx` — New slide-over component - `frontend/src/hooks/useRuns.ts` — Add admin update mutation - `backend/app/routes/admin.py` — Add admin run update endpoint - `backend/app/schemas/run.py` — Add admin-specific update schema (with owner_id) ## Checklist - [ ] SlideOver component (reusable, slides from right) - [ ] RunSlideOver with editable fields - [ ] AdminRuns opens slide-over on row click (not delete modal) - [ ] Save functionality with optimistic updates - [ ] Delete button inside slide-over with confirmation - [ ] Admin backend endpoint for run updates (including owner reassignment) - [ ] Admin run update schema with owner_id field - [ ] User search/select for owner reassignment