MotirBuilding in public
MOTIR · moooon
onMotir
You’re viewing a public project. Anyone can view it — no account needed. Sign in to submit, upvote, or comment on requests.View-only — you can’t edit work items
MOTIR-338

6.2.4 Filters directory — the project-level manage surface (search, pagination, actions by role, built-ins, delete-with-dependents warning)

Done
Description

Estimate: 30m · Depends on: 6.2.1, 6.2.2

The directory, per the 6.2.2 design (which names the route), on the 6.2.1 list/write API.

Build: the paginated, server-searched table — name (→ applies the filter on /issues) / owner / visibility / star count + my-star toggle / actions; row actions gated by the matrix (rename + edit details + visibility for owner/admin; change owner admin-only; delete with the dependents warning — the confirm enumerates subscriptions [and reserves the 6.3 widget line] before cascading); built-in defaults listed read-only with their designed mark; empty, loading, error, and no-access states per the design. Strings via next-intl.

A11y: a real table with row-action menus keyboard-complete; the delete confirm names consequences in text; extends the strict sweep.

Acceptance criteria

  • The directory paginates + searches server-side (asserted: no unbounded fetch); name-click applies on /issues; star toggles update the aggregate.
  • Every row action enforces the matrix in the UI AND re-checks server-side (403 paths tested); change-owner is admin-only; delete shows the dependents warning and cascades subscriptions.
  • Built-ins are present, read-only, and unstarrable-or-starrable per the design decision recorded in the notes; empty/no-access states render designed.
  • Axe-clean; token tiers only; next-intl; integration tests over the table + actions; coverage ≥90%.

Context refs

  • design/work-items/saved-filters.mock.html + notes (6.2.2) — THE authority (incl. the route placement)
  • 6.2.1 (list reads + matrix + dependents read); the shell nav conventions (1.5) for mounting the route
  • The verified Jira directory columns + admin powers in the Story 6.2 description
  • The i18n threading pattern
Status
Done
Type
Sub-task