Rebuild subscription page with 3-tier pricing and add backend support for 3-day trial #86exkhcza#36
Merged
navidshad merged 8 commits intoMay 15, 2026
Conversation
Replace the single Premium plan with a Starter/Learner/Fluent tier ladder driven by a code-based tier registry (tiers.ts). Adds Stripe 3-tier products and prices via an idempotent setup script, annual billing, a 3-day card-required trial, webhook signature verification, soft-cap usage tracking, the Fluent waitlist, and fire-and-forget server-side analytics. Also folds in fixes from live testing: derive credit balances from raw fields (Mongoose virtuals are undefined on findOne results) and self-heal references to deleted Stripe customers. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…rades #86exkhcza Rebuild /settings/subscription as a 3-card pricing page (Starter/Learner/ Fluent) with a monthly/annual toggle and currency selector. Adds the soft-cap usage banner, cap-moment upgrade modals, the cancel-trial off-ramp, shared analytics event constants, and retires the "Pro/Premium" naming. Deletes the hardcoded billing.vue mock. Also fixes live-session Start-button spacing and the "Manage Subscription" button rendering as disabled in pilotui link mode. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…khcza Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
Author
…hcza_Step-4-3-day-CC-trial-3-tier-pricing-rollout-Council-002_Navid-Shad
…hcza_Step-4-3-day-CC-trial-3-tier-pricing-rollout-Council-002_Navid-Shad
…n smoke test The login page is now Google OAuth only; the old specs hung in CI for ~7 min waiting on inputs that no longer exist. Keep e2e in the pipeline with one assertion that the Google sign-in button renders. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Nuxt SPA uses hash routing, so /auth/login resolves the hash to "/" and renders the wrong page. Use /#/auth/login instead. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Add a frontend build step in the e2e job and switch Playwright's webServer to "yarn preview" in CI. The dev server's on-demand compile caused first-hit timeouts; a pre-built bundle responds instantly and matches what users see. Drop retries from 2 to 1 so genuine flakes get surfaced. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.
🏷️ PR Title:
Rebuild subscription page and add 3-tier pricing with 3-day credit card trial
📋 Summary
This PR implements a complete rebuild of the subscription page to support a new 3-tier pricing model and introduces a 3-day credit card trial option. It also includes backend support for the new pricing tiers and trial period. Additionally, several end-to-end test improvements were made, including running Playwright tests against the production build, navigation enhancements to the login page via hash routes, and replacing outdated email/password authentication specs with a Google sign-in smoke test.
🔗 Related Tasks
#86exkhcza - Rebuild subscription page for 3-tier pricing and cap moment upgrades
#86exkhcza - Add 3-tier pricing backend with 3-day credit-card trial
#86exkhcza - Note pilotui Button :to disabled-link gotcha in CLAUDE.md
📝 Additional Details
📜 Commit List