Files
zpan/src
Jasper Van 232ad896c3 feat(admin): add diagonal license-edition corner ribbon to admin layout (#421)
* feat(admin): add diagonal license-edition corner ribbon to admin layout

Add a fixed diagonal corner ribbon (top-right) at the admin Layout level that
shows the current license edition with appropriate color and link:
- Community (unbound): gray #64748B, links to GitHub
- Pro (bound, edition=pro): brand blue #1A73E8, links to GitHub
- Business (bound, edition=business): gold #F59E0B, links to cloud dashboard

Changes:
- src/components/billing/LicenseRibbon.tsx: new ribbon component
- src/components/billing/LicenseRibbon.test.tsx: 15 co-located tests
- src/hooks/useEntitlement.ts: expose cloudDashboardUrl from BindingState
- src/routes/_authenticated/admin/route.tsx: render LicenseRibbon at layout level
- src/i18n/locales/en.json + zh.json: add admin.licenseRibbon.* keys
- src/routes/_authenticated/teams/index.test.tsx: add cloudDashboardUrl to mock

Agent-Profile: https://agent-kanban.dev/agents/e41f6168983d6e3f

* fix(admin): address review findings on LicenseRibbon

- Type editionKey parameter as LicenseEdition | null (import from @shared/types)
  to stay consistent with the shared type contract
- Increase container from h-20 w-20 to h-24 w-24 for a larger visible and
  clickable ribbon area in the corner
- Strengthen aria-label test to assert the exact interpolated key value
  rather than just truthiness

Agent-Profile: https://agent-kanban.dev/agents/e41f6168983d6e3f
2026-06-09 06:22:55 -04:00
..