From d28daca2e183293d3d918db746b611fdd96ee80b Mon Sep 17 00:00:00 2001 From: ajaysi Date: Tue, 31 Mar 2026 14:30:55 +0530 Subject: [PATCH] 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 --- frontend/src/App.tsx | 11 ++++++++++- frontend/src/components/Pricing/PricingPage.tsx | 4 +++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 399d7a16..34486e63 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -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 ; + } + initializeOnboarding(); } } - }, [subscription, subscriptionLoading, initializeOnboarding]); + }, [subscription, subscriptionLoading, initializeOnboarding, location.search]); // Handle connection error - show connection error page if (connectionError.hasError) { diff --git a/frontend/src/components/Pricing/PricingPage.tsx b/frontend/src/components/Pricing/PricingPage.tsx index 6e334af4..db18b630 100644 --- a/frontend/src/components/Pricing/PricingPage.tsx +++ b/frontend/src/components/Pricing/PricingPage.tsx @@ -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`, });