feat: optimize Stripe subscription management UI#4793
Conversation
- Replace static billing portal link with dynamic Stripe Billing Portal Session API - Allow canceled subscriptions to display status and expiration date - Show subscription status indicator with color coding (green/blue/yellow) - Move status info above manage button for better layout - Update UI for both desktop and mobile platforms - Add translations for subscription status messages 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
SafeDep Report SummaryNo dependency changes detected. Nothing to scan. This report is generated by SafeDep Github App |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Fixed in bc854d6 - replaced raw |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Replace raw fetch with followClient.request() to properly inject authentication cookie and required headers on React Native. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
Fixed - changed |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| body: JSON.stringify({ returnUrl }), | ||
| }) | ||
| const data = await res.json() | ||
| if (data.code === 0 && data.data?.url) { | ||
| window.open(data.data.url, "_blank") |
There was a problem hiding this comment.
Avoid popup blockers when opening billing portal
On the web (non‑Electron) path, window.open runs only after awaiting the portal API response; most browsers treat that as not directly user‑initiated and will block the popup, so “Manage Subscription” silently does nothing for users with popup blocking enabled. Consider opening a blank tab synchronously on click and setting its location after the fetch (or redirecting the current tab) to keep it within the user‑gesture window.
Useful? React with 👍 / 👎.
Summary
Implements login-free Stripe Billing Portal Session for subscription management and enables canceled subscriptions to display status/expiration information. Updates both desktop and mobile UIs with subscription status indicators.
Changes
PR Type