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-confirmtreatment (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:1533deleteWorkItem(subtree cascade incl. live descendants),:1601getDeletePreviewcomponents/issues/actions/DeleteWorkItemDialog.tsx(the modal being reused)