Skip to content

moooon

Motir

Vibe your whole project. Bring an idea — Motir's three AI layers plan it, track it, and ship it, end to end. You're looking at Motir, built in Motir.

  • Vibe Project
  • Open Source
  • AI Agent
  • AI Loop
1
requests
0
upvotes
145
planned
1,361
shipped

Motir · Work items

MOTIR-287Done

5.3.6 Fields admin UI — Project settings → Fields (list/reorder, create/edit, options editor, caps + delete-with-count confirm)

Estimate: 35m · Depends on: 5.3.2, 5.3.4

The settings surface: app/(authed)/settings/project/fields/page.tsx (+ the new hub card), per the 5.3.4 design, on the 5.3.2 routes. The 6.4 members page is the structural template (server component + admin gate + read-only degradation).

Build: the hub card; the field list (type glyph, label, value-count gloss, drag-reorder via the shipped dnd pattern from board settings, row actions); add/edit field (label, five-type picker, description; type immutable; select reveals options); the options editor (reorder/rename inline, archive toggle, delete-when-unused with the in-use tooltip, add w/ 55-cap); the delete-field confirm naming the value count (from the 5.3.2 read); the 50-cap state; empty / loading / error; the non-admin read-only state. Mutations via server actions → customFieldsServicerouter.refresh(); i18n strings under a new settings.customFields namespace (the en-byte-identical i18n convention).

A11y: reorder is keyboard-operable (the board-settings dnd precedent), destructive confirms focus-managed, the options editor rows labelled; extends the settings-route axe sweep.

Acceptance criteria

  • The page matches fields.mock.html panel-for-panel (list, add/edit, options editor incl. archive/delete split + tooltips, both cap states, the value-count delete confirm, empty/read-only states).
  • All mutations round-trip (create each type, rename, reorder persists across reload, option lifecycle, field delete) honouring the admin gate — a non-admin member sees read-only, a viewer/none is gated per 6.4.
  • Keyboard-complete reorder + editors; the strict axe sweep over the page is clean; colour/shape only through the token tiers; strings via next-intl.
  • Component/integration tests over the action wiring + gate rendering; pnpm test:coverage holds.

Context refs

  • design/projects/fields.mock.html + notes (5.3.4) — THE layout authority
  • app/(authed)/settings/project/members/page.tsx (6.4) — the page + gate template; the hub page.tsx card list
  • 5.3.2 routes/actions; the board-settings dnd reorder (3.6) for the handle pattern
  • messages/en.json settings.* namespace conventions (the i18n threading pattern memory)