diff --git a/app/_layout.tsx b/app/_layout.tsx
index d188864..d11595c 100644
--- a/app/_layout.tsx
+++ b/app/_layout.tsx
@@ -96,11 +96,8 @@ function RootLayoutInner() {
colorPalette,
signOut,
session,
- billingSummary,
- isActivatingEntitlement,
isInitializing,
isLoadingPlants,
- isLoadingBilling,
} = useApp();
const colors = useColors(isDarkMode, colorPalette);
const pathname = usePathname();
@@ -118,19 +115,11 @@ function RootLayoutInner() {
}, [signOut]);
const isAppReady = installCheckDone && !isInitializing && !isLoadingPlants;
- const hasActiveEntitlement = isActivatingEntitlement
- || (billingSummary?.entitlement?.plan === 'pro'
- && billingSummary?.entitlement?.status === 'active');
const isAllowedWithoutSession = pathname.includes('onboarding')
|| pathname.includes('auth/')
|| pathname.includes('scanner')
|| isShareIntentCallbackPath(pathname)
|| pathname.includes('profile/billing');
- const isAllowedWithoutEntitlement = pathname.includes('auth/')
- || pathname.includes('onboarding')
- || pathname.includes('scanner')
- || isShareIntentCallbackPath(pathname)
- || pathname.includes('profile/billing');
let content = null;
@@ -148,10 +137,12 @@ function RootLayoutInner() {
}}
>
+
+
);
}
- } else if (!hasActiveEntitlement && !isLoadingBilling && billingSummary && !isAllowedWithoutEntitlement) {
- // Signed-in but confirmed non-pro: send to the paywall, not back to
- // onboarding — bouncing a logged-in user to onboarding looks like an
- // app restart. billingSummary === null means "unknown" (fetch failed),
- // never redirect on unknown.
- content = ;
} else {
content = (
<>
@@ -182,10 +167,12 @@ function RootLayoutInner() {
}}
>
+
+