Gate dashboard detail caches behind pro access

This commit is contained in:
2569718930@qq.com
2026-04-08 17:17:51 +08:00
parent 6f80d31852
commit 6c4f9f8203
+17 -6
View File
@@ -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,