- Shipped
- April 23, 2026 at 8:23 PM UTC
- Author
- kamo
- Commit
- 770b477
- Member page Plans & Billing tab is now right-aligned with a pulsing glow and a StarRate icon on the tab bar. Visible when the viewed member is the signed-in user OR the signed-in user owns the org. Contents split into four sub-tabs: Subscriptions, Invoices, Payment Info, Manage Group. Billing-group selector dropdown + "Add Billing Group" icon button live on the right of the sub-tab bar; the group selection drives every panel. - Subscriptions panel shows one card per active market (FREE_DEFAULT KamoCRM always present), with change-plan / cancel / reactivate and a per-seat license-assignment grid. Priority auto-deactivation runs server-side on seat reduction. - Payment Info panel wraps Stripe Elements via StripeProvider + a refactored PaymentMethodForm that attaches to a billing group (not the old org-level customer). - Manage Group panel edits title / billing contact / member permissions (Licensee, Group Plan Manager, canManageSubscription, canManageBilling) and adds/removes members. The Default Group is read-only — its roster is implicit (everyone not in an explicit group), and no title or permission edits are allowed. - /settings/account?tab=billing deleted outright. BillingManager + PlanCalculator removed. Links everywhere updated to the new member Plans & Billing tab. - SettingsStatusWindow + /settings landing nav both pruned (three-way sync per the nav-sync rule). - BranchSetupManager gets a new "Commerce Markets" section inside the security-model editor, using the new SecurityModelMarketController to attach/detach SUBSCRIPTION markets with per-scope Public/Member/ Team-Member toggles. - **************** rewritten to show per-org Billing Groups + per-group subscriptions + MRR. /settings/platform/events and /settings/platform/plans become placeholder pages (their old contents are gone with the clean-slate cut). - New API proxies: /api/security/entitlements and **************** New useEntitlements hook consumes SecurityService EntitlementService for feature-gating in the UI. Legacy consumer files (StatsManager, FeaturesManager, BranchSetupManager) carry @ts-nocheck until their subscription-based gating code is reworked onto useEntitlements.