Files
keysat/licensing-service/web
Grant 4bdc5066f7 Phase 6 UI — Subscriptions tab + cancel-with-reason button
Closes the cancellation UX loop opened by 5d7f68f. Operators can now:
- See all subscriptions on a dedicated sidebar tab (with status filter
  pills: All / Active / Past due / Cancelled / Lapsed)
- One-click cancel an active or past_due sub via the row's Cancel
  button (a confirm dialog also captures an optional reason for the
  audit log)
- See cadence (monthly / quarterly / annual / every Nd), listed
  price (in original currency), next renewal, and consecutive
  failures at a glance

Cancel button is hidden on already-cancelled and lapsed rows. Status
badges color-coded: green=active, amber=past_due, neutral=cancelled,
red=lapsed.

The reason prompt uses the browser's built-in `prompt()` for the
v0.2.x cut — small modal upgrade in a follow-up if operators ask
for richer affordances (buyer-vs-admin attribution dropdown, etc.).
2026-05-08 17:56:17 -05:00
..