feat(kb): article delete UI on the detail page (MAPPS-309) #342

Merged
YousifShkara merged 1 commit from fix/MAPPS-309-kb-article-delete into main 2026-06-25 11:01:52 +02:00
Owner

QA report: KB articles have no delete affordance anywhere in the SPA

  • only Edit, Open ticket, density toggle on the detail page; no trash
    icon on Recent Articles rows; no Delete on the edit form. The server
    already exposes DELETE /api/v1/kb/articles/{id}; the client just
    never wired it.

Adds a Danger Delete Button to KBArticleDetailPage's overflow
actions, alongside the existing Edit Link. Click opens a
ConfirmDialog that spells out the article title. Confirming fires
delete_authed("/kb/articles/{id}"), toasts on success, and
navigator.push(Route::KBHome) so the now-404 article id doesn't
trap the user on a missing page.

State signals follow the same pattern KB category delete uses
(MAPPS-230): confirming_delete drives open, delete_busy locks
the dialog while in flight, delete_error surfaces a failed DELETE
inline in the dialog message.

Out of scope (filed separately as MAPPS-313 if needed):

  • Trash icon on Recent Articles rows in KBHomePage.
  • Delete button on KBArticleEditPage (the detail page is the
    canonical surface; editor stays read-write only).

#MAPPS-309

QA report: KB articles have no delete affordance anywhere in the SPA - only Edit, Open ticket, density toggle on the detail page; no trash icon on Recent Articles rows; no Delete on the edit form. The server already exposes `DELETE /api/v1/kb/articles/{id}`; the client just never wired it. Adds a Danger `Delete` Button to `KBArticleDetailPage`'s overflow actions, alongside the existing Edit Link. Click opens a `ConfirmDialog` that spells out the article title. Confirming fires `delete_authed("/kb/articles/{id}")`, toasts on success, and `navigator.push(Route::KBHome)` so the now-404 article id doesn't trap the user on a missing page. State signals follow the same pattern KB category delete uses (MAPPS-230): `confirming_delete` drives open, `delete_busy` locks the dialog while in flight, `delete_error` surfaces a failed DELETE inline in the dialog message. Out of scope (filed separately as MAPPS-313 if needed): - Trash icon on Recent Articles rows in KBHomePage. - Delete button on KBArticleEditPage (the detail page is the canonical surface; editor stays read-write only). #MAPPS-309
feat(kb): article delete UI on the detail page (MAPPS-309)
All checks were successful
Check / fmt + clippy + tests (pull_request) Successful in 1m29s
Create release / Create release from merged PR (pull_request) Has been skipped
97821f6812
QA report: KB articles have no delete affordance anywhere in the SPA
- only Edit, Open ticket, density toggle on the detail page; no trash
icon on Recent Articles rows; no Delete on the edit form. The server
already exposes `DELETE /api/v1/kb/articles/{id}`; the client just
never wired it.

Adds a Danger `Delete` Button to `KBArticleDetailPage`'s overflow
actions, alongside the existing Edit Link. Click opens a
`ConfirmDialog` that spells out the article title. Confirming fires
`delete_authed("/kb/articles/{id}")`, toasts on success, and
`navigator.push(Route::KBHome)` so the now-404 article id doesn't
trap the user on a missing page.

State signals follow the same pattern KB category delete uses
(MAPPS-230): `confirming_delete` drives open, `delete_busy` locks
the dialog while in flight, `delete_error` surfaces a failed DELETE
inline in the dialog message.

Out of scope (filed separately as MAPPS-313 if needed):
- Trash icon on Recent Articles rows in KBHomePage.
- Delete button on KBArticleEditPage (the detail page is the
  canonical surface; editor stays read-write only).

#MAPPS-309
YousifShkara deleted branch fix/MAPPS-309-kb-article-delete 2026-06-25 11:01:52 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/mokosh-apps!342
No description provided.