diff --git a/src/pages/Dashboard.tsx b/src/pages/Dashboard.tsx index 21437c0..ad5d5c8 100644 --- a/src/pages/Dashboard.tsx +++ b/src/pages/Dashboard.tsx @@ -79,11 +79,7 @@ export default function Dashboard() { refetchOnMount: 'always', }); - const { - data: subscription, - isLoading: subLoading, - error: subError, - } = useQuery({ + const { data: subscriptionResponse, isLoading: subLoading } = useQuery({ queryKey: ['subscription'], queryFn: subscriptionApi.getSubscription, retry: false, @@ -91,6 +87,9 @@ export default function Dashboard() { refetchOnMount: 'always', }); + // Extract subscription from response (null if no subscription) + const subscription = subscriptionResponse?.subscription ?? null; + const { data: trialInfo, isLoading: trialLoading } = useQuery({ queryKey: ['trial-info'], queryFn: subscriptionApi.getTrialInfo, @@ -194,7 +193,8 @@ export default function Dashboard() { // eslint-disable-next-line react-hooks/exhaustive-deps }, [subscription]); - const hasNoSubscription = !subscription && !subLoading && subError; + // User has no subscription if API returns has_subscription: false + const hasNoSubscription = subscriptionResponse?.has_subscription === false && !subLoading; // Show onboarding for new users after data loads useEffect(() => { diff --git a/src/pages/Subscription.tsx b/src/pages/Subscription.tsx index 25c1e4b..475e75a 100644 --- a/src/pages/Subscription.tsx +++ b/src/pages/Subscription.tsx @@ -138,7 +138,7 @@ export default function Subscription() { is_unlimited: boolean; } | null>(null); - const { data: subscription, isLoading } = useQuery({ + const { data: subscriptionResponse, isLoading } = useQuery({ queryKey: ['subscription'], queryFn: subscriptionApi.getSubscription, retry: false, @@ -146,6 +146,9 @@ export default function Subscription() { refetchOnMount: 'always', }); + // Extract subscription from response (null if no subscription) + const subscription = subscriptionResponse?.subscription ?? null; + const { data: purchaseOptions, isLoading: optionsLoading } = useQuery({ queryKey: ['purchase-options'], queryFn: subscriptionApi.getPurchaseOptions,