From f53b53a543b5a616c2b64f962040d25295de373f Mon Sep 17 00:00:00 2001 From: ajaysi Date: Tue, 31 Mar 2026 14:32:04 +0530 Subject: [PATCH] fix: Fix TypeScript error in useEffect by moving checkout redirect outside --- frontend/src/App.tsx | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 34486e63..383724c5 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -230,6 +230,10 @@ const InitialRouteHandler: React.FC = () => { return () => clearTimeout(timeoutId); }, []); // Remove checkSubscription dependency to prevent loop + // Handle post-Stripe-checkout redirect in demo mode + const urlParams = new URLSearchParams(location.search); + const isCheckoutSuccess = urlParams.get('subscription') === 'success'; + // Initialize onboarding only after subscription is confirmed useEffect(() => { if (subscription && !subscriptionLoading) { @@ -247,8 +251,7 @@ const InitialRouteHandler: React.FC = () => { 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()) { + if (isCheckoutSuccess && shouldSkipOnboarding()) { console.log('InitialRouteHandler: Stripe checkout success in demo mode → Podcast Maker'); return ; } @@ -256,7 +259,13 @@ const InitialRouteHandler: React.FC = () => { initializeOnboarding(); } } - }, [subscription, subscriptionLoading, initializeOnboarding, location.search]); + }, [subscription, subscriptionLoading, initializeOnboarding, isCheckoutSuccess]); + + // Early return for checkout success in demo mode + if (isCheckoutSuccess && subscription?.active && shouldSkipOnboarding()) { + console.log('InitialRouteHandler: Early redirect - Stripe checkout success in demo mode → Podcast Maker'); + return ; + } // Handle connection error - show connection error page if (connectionError.hasError) {