feat: billing section on Account page (W10) - #177
Draft
HexaField wants to merge 2 commits into
Draft
Conversation
Add a billing card to the Settings → Account page that shows credit balance, signed-in email, and a 'Manage billing' link when connected to a metered hosted node. - BackendAccountInfo gains billingPortalUrl?: string — connectors that supply it get a billing link, those that don't (self-hosted) get nothing. - BillingSection.schema.ts: credit balance row (we-number), email row, billing portal button — all gated on hostAccount existing with freeAccess false. No platform-specific code. - Settings.schema.ts imports billing section between DID card and account-settings list. The existing HostSettings credits display (on /connections) remains unchanged — this adds billing visibility to the primary Account page where a user first looks. Zero new TypeScript errors (89 pre-existing in the schema system). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
✅ Deploy Preview for coasys-we ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Add a 'global' flag to SlotContribution — when true, the contribution renders regardless of space-level module activation. The module registry bypasses gateOnSpace for global slots. Use case: platform module billing/account chrome needs to render in Settings even when no space has the platform module active (the module runs at account level, not space level). Also adds a comment in Settings.schema.ts noting where module-contributed settings nav items will go once $slot resolution lands in template content. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
HexaField
marked this pull request as draft
September 2, 2026 12:39
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add a billing card to the Settings → Account page. Shows credit balance, signed-in email, and a 'Manage billing' link to the external billing portal (Stripe, Unyt, whatever the connector supplies).
Gating: only visible when
hostAccountexists ANDfreeAccessis false — self-hosted nodes and free-tier users see nothing.No platform-specific code. Any connector that populates
BackendAccountInfo.billingPortalUrlgets the link. The platform connector does; a future desktop or community connector would not.Changes
packages/app-shell/src/shared/backend/types.ts—BackendAccountInfogainsbillingPortalUrl?: stringpackages/templates/shell/src/BillingSection.schema.ts— new schema node: credit balance (we-number), email row, billing portal buttonpackages/templates/shell/src/Settings.schema.ts— wiresbillingSectioninto the account section childrenZero new TypeScript errors (89 pre-existing in the schema system).
Part of the platform-collapse plan — moves billing visibility into WE so the platform reduces to a thin provisioning gateway.
🤖 Generated with Claude Code