diff --git a/frontend/hooks/useDashboardStore.tsx b/frontend/hooks/useDashboardStore.tsx index a466db34..959abf7b 100644 --- a/frontend/hooks/useDashboardStore.tsx +++ b/frontend/hooks/useDashboardStore.tsx @@ -182,9 +182,10 @@ export function DashboardStoreProvider({ ]), ), ); - const selectedDetail = selectedCity - ? cityDetailsByName[selectedCity] || null - : null; + const selectedDetail = + selectedCity && proAccess.subscriptionActive + ? cityDetailsByName[selectedCity] || null + : null; const selectedMarketDate = futureModalDate || selectedForecastDate || @@ -193,9 +194,10 @@ export function DashboardStoreProvider({ const selectedMarketScanKey = selectedCity ? getMarketScanCacheKey(selectedCity, selectedMarketDate) : null; - const selectedMarketScan = selectedCity - ? marketScanByCityName[selectedMarketScanKey || ""] || null - : null; + const selectedMarketScan = + selectedCity && proAccess.subscriptionActive + ? marketScanByCityName[selectedMarketScanKey || ""] || null + : null; useEffect(() => { dashboardClient.writeCityDetailCacheBundle( @@ -212,6 +214,15 @@ export function DashboardStoreProvider({ proAccessRef.current = proAccess; }, [proAccess]); + useEffect(() => { + if (proAccess.loading) return; + if (proAccess.authenticated && proAccess.subscriptionActive) return; + dashboardClient.clearCityDetailCache(); + setCityDetailsByName({}); + setCityDetailMetaByName({}); + setMarketScanByCityName({}); + }, [proAccess]); + const scheduleBackgroundDetailRefresh = ( cityName: string, cached: CityDetail,