Files
nuzlocke-tracker/.beans/nuzlocke-tracker-ru96--admin-run-slide-over-panel-with-metadata-editing.md
2026-03-22 08:56:06 +01:00

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 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