Wire BillingManager and RelationshipManager to real backends

Featurekamo-internal
Shipped
April 17, 2026 at 1:59 AM UTC
Author
kamo
Commit
be420d9

BillingManager (account billing tab): - Replaced 100% local-state mock with real Stripe-backed payment method management via billingApi - Loads payment methods from GET /api/billing/payment-methods on mount - Add payment method flow uses createSetupIntent → StripeProvider + PaymentMethodForm → confirmCardSetup → attachPaymentMethod (identical flow to PlansBillingTab) - Set default via **************** with optimistic star icon and in-flight spinner per row - Delete via billingApi.deletePaymentMethod with ConfirmationDialog; default card delete is blocked with tooltip - Card brand icons (Visa/Mastercard/Amex/Discover) shown from existing SVG assets; generic CreditCard icon fallback for unknown brands - Skeleton loading, per-section error with retry, snackbar feedback RelationshipManager (account relationships tab): - Replaced empty local state with GET /api/security/org/my-networks - Classifies networks: isOwner=false → Parent Networks (orgs the user belongs to), isOwner=true → Child Networks (orgs the user manages) - Shows Avatar initials, org title, type/domain meta, and role chip - Profile action links to org domain when available - Access rights action disabled with tooltip (managed via org admin) - Summary chips show live parent/child counts - Add/remove is intentionally read-only; info alert directs to Network page for relationship management (no backend CRUD endpoint exists)

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing