Skip to content

admin-ui: Wardrobe is read-only β€” surface uninstall (DELETE /api/fonts/{slug} already shipped)Β #428

Description

@genwave-radio

🎯 Ask (T229, demo box)

The Wardrobe page is a pure read-only list β€” operator expectation from testing: "expected to be able to uninstall at the very least".

πŸ“Œ Facts

  • WardrobeClient.tsx:60-61 documents itself as read-only; no fetch calls at all. Install lives on the Community Catalog detail panel (T202).
  • The uninstall API is fully shipped: DELETE /api/fonts/{slug} (FontPackController.cs:272-303, SPEC F104.14, STORY-288) β€” atomic in-statement referenced-guard, 204 on delete + catalog reload, 404 unknown, 409 naming every referencing theme.
  • An uninstall UI was never planned (T208's acceptance was API-through-binary only); the page.tsx:7-8 comment "(later, M2) uninstalled … from elsewhere in the app" is stale β€” M2 shipped without it.

πŸ”§ Fix sketch

Uninstall affordance per pack row in Wardrobe: confirm dialog β†’ DELETE /api/fonts/{slug} β†’ refresh; 409 renders the referencing-themes list from the problem body ("in use by: …"). Update the stale page comment.

βœ… Acceptance

  • Installed pack can be removed from Wardrobe; referenced pack shows which themes block it.
  • Empty-state CTAs unchanged.

Refs: #393 (Wardrobe tabs for kinds β€” natural same-page cycle), #162 (surface add-on author).

Metadata

Metadata

Assignees

No one assigned

    Labels

    demoFound on GenWave demoenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions