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

2.9.7 [design] Delete affordance in the archived view + archived-item delete-confirm (live-descendant cascade)

Estimate: 40m · Type: design

Design gate for 2.9.5 (MOTIR-994) — deleting an archived work item. Extend the design/work-items/ THREE-file asset set (notes + archived.mock.html / delete-confirm.mock.html + regenerated .png).

Design:

  • The Delete affordance in the archived view (built by 2.9.3 / archived.mock.html): where Delete sits relative to the existing Restore column/action (e.g. a row ⋯ menu carrying Restore + Delete…, or a separate danger control). Reflect the gate split — Restore = canEdit, Delete = canManage — so a row can show Restore but not Delete. Also decide whether Delete appears on the archived item's detail page actions (alongside the 2.9.6 banner).
  • The confirm modal for an ARCHIVED item. Reuse the shipped delete-confirm treatment (2.8.1) + its count grammar (totalCount / per-kind breakdown). The one new thing to design is the single-node cascade warning: deleting an archived PARENT also permanently deletes its non-archived, live descendants (archive is single-node). Design copy + emphasis that makes this unmistakable (e.g. "This also permanently deletes N active work item(s) that are not archived"), distinct from the normal all-archived case.
  • Danger-tone, button states, and the post-delete feedback (row leaves the list / navigate away from detail).

Acceptance criteria

  • design/work-items/ three files updated together (notes + mock + regenerated png), showing the archived-view Delete affordance (with the canManage/canEdit split) and the archived-item confirm modal incl. the live-descendant cascade warning copy.
  • Notes specify placement, gating, the cascade-warning copy for the live-children case, tones, and states — citing reuse of delete-confirm (2.8.1) rather than a new modal.

Context refs

  • design/work-items/archived.mock.html (2.9.1, the archived view), design/work-items/delete-confirm.mock.html + notes (2.8.1)
  • lib/services/workItemsService.ts:1533 deleteWorkItem (subtree cascade incl. live descendants), :1601 getDeletePreview
  • components/issues/actions/DeleteWorkItemDialog.tsx (the modal being reused)