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

5.4.7 Design — Components admin page (`design/projects/components.mock.html`: list + create/edit + default assignee + move-or-remove delete)

Estimate: 35m

The design asset for the settings surface (the design-gate NONE-exists case — the projects area covers Members+Access and, in-flight, Fields). Output: design/projects/components.mock.html + PNG + a design-notes section. Render checklist + AA + dark parity. Mirror: Jira's Project settings → Components (company-managed — the verified shape source).

Specify, panel by panel:

  • Entry — the "Components" card on the settings hub (slotting after Estimation, before Members — the domain order) + the page shell (the 6.4.1 settings chrome).
  • Component list — name-ordered rows: name, description (truncating), default assignee (Avatar + name or muted "None"), item count, row actions (edit, delete). Empty state ("No components yet" + Add component).
  • Add/edit — name (required, case-insensitive-unique inline error), description, default assignee (the member picker with an explicit "None" row + the helper line explaining the at-create rule).
  • Delete dialog — the move-or-remove choice (the verified Jira flow): when in use, the dialog shows the item count and forces a radio choice — "Move N work items to…" (a component picker excluding self) or "Remove the component from N work items" — issues untouched either way; unused components confirm simply. --el-danger confirm + ghost cancel (the house destructive grammar).
  • Read-only — the non-admin state; loading skeleton; ErrorState.

Acceptance criteria

  • The mockup + PNG + notes exist, composed from shipped primitives + token tiers; render checklist + AA + dark parity pass.
  • Panels cover: the hub card, the list (populated/empty), add/edit with the default-assignee picker + helper copy, the move-or-remove delete dialog (both branches + counts), and read-only/loading/error.
  • design-notes.md names primitives + copy strings and records the simplification (nullable default assignee; lead = documented extension).
  • No improvised primitive; token needs recorded.

Context refs

  • design/projects/access-members.mock.html + notes (6.4.1) and the in-flight 5.3.4 fields page — the settings grammar to match
  • app/(authed)/settings/project/page.tsx (the hub card list + slot)
  • The verified Jira component rules in the Story 5.4 description
  • Findings #35/#54; the design-mockup render checklist