Make city clicks update homepage focus

This commit is contained in:
2569718930@qq.com
2026-04-22 23:24:20 +08:00
parent 786e9bba99
commit 4bab7d1138
4 changed files with 14 additions and 3 deletions
+11
View File
@@ -41,6 +41,7 @@ interface DashboardStoreValue extends DashboardState {
force?: boolean,
depth?: "panel" | "nearby" | "full",
) => Promise<CityDetail>;
focusCity: (cityName: string) => Promise<void>;
forecastModalMode: ForecastModalMode | null;
futureModalDate: string | null;
loadCities: () => Promise<void>;
@@ -804,6 +805,15 @@ export function DashboardStoreProvider({
});
};
const focusCity = async (cityName: string) => {
setSelectedCity(cityName);
setIsPanelOpen(false);
setSelectedForecastDate(null);
setFutureModalDate(null);
setForecastModalMode(null);
void ensureCitySummary(cityName).catch(() => null);
};
useEffect(() => {
if (typeof window === "undefined") return;
if (selectedCity) {
@@ -1016,6 +1026,7 @@ export function DashboardStoreProvider({
setIsPanelOpen(false);
},
ensureCityDetail,
focusCity,
forecastModalMode,
futureModalDate,
historyState,