51 lines
2.2 KiB
Markdown
51 lines
2.2 KiB
Markdown
---
|
|
# 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
|