diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx
index b644d649..6062b431 100644
--- a/frontend/src/App.tsx
+++ b/frontend/src/App.tsx
@@ -394,10 +394,44 @@ const InitialRouteHandler: React.FC = () => {
}
// Subscription check completed but returned null/undefined
- // This likely means no subscription - redirect to pricing
- console.log('InitialRouteHandler: No subscription data after check → Pricing page');
- return ;
- }
+ // In demo mode, allow access to podcast-maker even with no subscription data
+ if (!subscription) {
+ if (isOnboardingComplete) {
+ console.log('InitialRouteHandler: Onboarding complete but no subscription data → Dashboard (allow access)');
+ return ;
+ }
+
+ // Onboarding not complete and no subscription data
+ // If subscription check is still loading, show loading state
+ if (subscriptionLoading) {
+ return (
+
+
+
+ Checking subscription...
+
+
+ );
+ }
+
+ // In demo mode, redirect to podcast-maker even without subscription
+ if (shouldSkipOnboarding()) {
+ console.log('InitialRouteHandler: Demo mode - no subscription but allowing access to podcast-maker');
+ return ;
+ }
+
+ // Subscription check completed but returned null/undefined
+ // This likely means no subscription - redirect to pricing
+ console.log('InitialRouteHandler: No subscription data after check → Pricing page');
+ return ;
+ }
// 3. Check subscription status first
const isNewUser = !subscription || subscription.plan === 'none';