Skip to content

Admin: Create the chart investigation table with filters and durable deep links #334

Description

@gekichumai-admin

Phase / step: Phase 4 — Provenance / Step 1
Parent: #301
Depends on: #312, #329

Context and goal

Administrators need a fast way to locate a chart, identify provenance gaps, and share a stable link to the exact investigation context without navigating the public calculator.

Scope and implementation notes

  • Build a server-paginated Mantine/TanStack Table view of charts with stable chart identity, song/title context, chart type/difficulty, current game version, active dataset revision, last change time, and provenance-completeness status.
  • Support debounced search across the backend-supported identifiers and names, plus sorting and filters for game version, chart type/difficulty, provenance state, change recency, and source where available.
  • Put pagination, sort, search, and filters in validated URL search parameters. Reloading, bookmarking, and sharing the URL must restore the view.
  • Provide row links to the chart's provenance page and accept optional revision and field-path parameters so other admin screens can link directly to a specific value.
  • Treat unknown and historical_incomplete as first-class, filterable provenance states, not as generic errors.
  • Preserve prior page data during transitions, show result counts, and provide a clear way to reset all filters.
  • Handle stale deep links and missing/retired chart identifiers with a specific not-found state and a route back to the search table.
  • Keep actions read-only; chart corrections continue through the source/override workflow outside this UI.

Acceptance criteria

  • Administrators can search, sort, paginate, and combine the documented chart filters.
  • All table state is represented in validated URL parameters and survives a full reload.
  • Rows show enough identity and status context to distinguish similar charts.
  • Provenance gaps and incomplete historical records can be filtered independently.
  • Row/deep links can open a chart, revision, and field path directly.
  • Query transitions retain existing results and communicate loading without layout jumps.
  • Empty, invalid-filter, unavailable, and missing-chart states are distinct.
  • The table remains keyboard usable and horizontally navigable at tablet widths.
  • No edit, correction, publication, or bulk-action control is exposed.

Out of scope

  • Editing chart values or provenance.
  • Triggering pipeline work.
  • Bulk chart actions.
  • Public chart-search changes.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    adminAdministrator dashboard, RBAC, moderation, provenance, and chart reportsenhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions