fix: Redirect to podcast-maker after Stripe checkout in demo mode

- Update PricingPage success_url to point to podcast-maker in demo mode
- Handle ?subscription=success query param in InitialRouteHandler
This commit is contained in:
ajaysi
2026-03-31 14:30:55 +05:30
parent 2c3fe33c75
commit d28daca2e1
2 changed files with 13 additions and 2 deletions

View File

@@ -175,6 +175,7 @@ const AuthenticatedCopilotWrapper: React.FC<{
const InitialRouteHandler: React.FC = () => {
const { loading, error, isOnboardingComplete, initializeOnboarding, data } = useOnboarding();
const { subscription, loading: subscriptionLoading, checkSubscription } = useSubscription();
const location = useLocation();
const [connectionError, setConnectionError] = useState<{
hasError: boolean;
error: Error | null;
@@ -244,10 +245,18 @@ const InitialRouteHandler: React.FC = () => {
if (subscription.active && !isNewUser) {
console.log('InitialRouteHandler: Subscription confirmed, initializing onboarding...');
// Handle post-Stripe-checkout redirect in demo mode
const urlParams = new URLSearchParams(location.search);
if (urlParams.get('subscription') === 'success' && shouldSkipOnboarding()) {
console.log('InitialRouteHandler: Stripe checkout success in demo mode → Podcast Maker');
return <Navigate to="/podcast-maker" replace />;
}
initializeOnboarding();
}
}
}, [subscription, subscriptionLoading, initializeOnboarding]);
}, [subscription, subscriptionLoading, initializeOnboarding, location.search]);
// Handle connection error - show connection error page
if (connectionError.hasError) {

View File

@@ -235,7 +235,9 @@ const PricingPage: React.FC = () => {
const response = await apiClient.post('/api/subscription/create-checkout-session', {
tier: plan.tier,
billing_cycle: yearlyBilling ? 'yearly' : 'monthly',
success_url: `${window.location.origin}/dashboard?subscription=success`,
success_url: isPodcastOnlyDemoMode()
? `${window.location.origin}/podcast-maker?subscription=success`
: `${window.location.origin}/dashboard?subscription=success`,
cancel_url: `${window.location.origin}/pricing?subscription=cancel`,
});