feat(admin-ui): Wardrobe uninstall affordance (gh-#428) - #448
Merged
Conversation
…ug} finally gets a button
Per-pack confirm -> DELETE -> refresh; 409 names the referencing themes
('In use by: ...') via a narrowly-scoped parser over the problem detail
with the raw sentence as fallback; 404/network toast honestly. The
page's read-only doc-comment contract updated to name its one write
path. Closes #428
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #428 — the API shipped complete in F104 (204/404/409-naming-themes); the page just never grew the button. Now it has one. 🧥
DELETE /api/fonts/{slug}→ 204 toasts +router.refresh()(server page re-fetches, pack gone). House idioms throughout (useConfirm/toast/readErrorMessage— thePurgeUnavailableActionshape).detail(the 409 carries no structured theme list — parser is one documented pure function with the raw server sentence as fallback, so a future prose change degrades to still-correct info, never to a generic error). If we ever want it structural, areferencedThemesextension on the backend problem is the follow-up — noted, not required.Verification: 13 new specs (parser ×6, button ×7: DELETE target, 204 refresh, 409 naming, 404 relay, network, cancel-fires-nothing) + the existing wardrobe suite extended for the provider/mocks; full admin-ui suite 92 suites / 887 passed / 0 failed;
next buildgreen twice. Built by a worktree builder; reviewed + re-verified before PR.