2.2 KiB
2.2 KiB
title, status, type, priority, created_at, updated_at, parent
| title | status | type | priority | created_at | updated_at | parent |
|---|---|---|---|---|---|---|
| Admin run slide-over panel with metadata editing | draft | feature | normal | 2026-03-21T21:59:20Z | 2026-03-21T22:04:08Z | 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
onRowClickfrom 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
RunStatustype) - 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-overfrontend/src/components/admin/RunSlideOver.tsx— New slide-over componentfrontend/src/hooks/useRuns.ts— Add admin update mutationbackend/app/routes/admin.py— Add admin run update endpointbackend/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