diff --git a/frontend/components/dashboard/FutureForecastModal.tsx b/frontend/components/dashboard/FutureForecastModal.tsx
index 8cbdf4c0..7d145fbe 100644
--- a/frontend/components/dashboard/FutureForecastModal.tsx
+++ b/frontend/components/dashboard/FutureForecastModal.tsx
@@ -287,12 +287,18 @@ function getTrendMetricVisual(metric: {
return null;
}
-function DailyTemperatureChart({ dateStr }: { dateStr: string }) {
+function DailyTemperatureChart({
+ dateStr,
+ forceToday = false,
+}: {
+ dateStr: string;
+ forceToday?: boolean;
+}) {
const store = useDashboardStore();
const { locale, t } = useI18n();
const detail = store.selectedDetail;
const view = detail ? getFutureModalView(detail, dateStr, locale) : null;
- const isToday = detail ? dateStr === detail.local_date : false;
+ const isToday = forceToday || (detail ? dateStr === detail.local_date : false);
const todayChartData = useMemo(
() => (detail && isToday ? getTemperatureChartData(detail, locale) : null),
[detail, isToday, locale],
@@ -711,7 +717,9 @@ export function FutureForecastModal() {
};
}, [dateStr, detail]);
- const isToday = dateStr === detail.local_date;
+ const isToday =
+ store.forecastModalMode === "today" ||
+ (store.forecastModalMode == null && dateStr === detail.local_date);
const detailDepth = detail.detail_depth || "full";
const isFullDetailReady = detailDepth === "full";
const isStructureSyncing = store.loadingState.futureDeep || !isFullDetailReady;
@@ -1713,7 +1721,7 @@ export function FutureForecastModal() {
: "今日气温路径(锚点观测 + 模型)"}
-
+
{locale === "en-US" ? "Base" : "基准"} · {baseCaseBucket || "--"}
{locale === "en-US" ? "Upside" : "上修"} · {intradayMeteorology.upside_bucket || "--"}
@@ -1891,7 +1899,7 @@ export function FutureForecastModal() {
{t("future.targetTempTrend")}
-
+
diff --git a/frontend/components/dashboard/PanelSections.tsx b/frontend/components/dashboard/PanelSections.tsx
index 825c7166..ade0f3f2 100644
--- a/frontend/components/dashboard/PanelSections.tsx
+++ b/frontend/components/dashboard/PanelSections.tsx
@@ -1020,7 +1020,11 @@ export function ForecastTable() {
daily.map((day, index) => {
const isToday = day.date === data.local_date || index === 0;
const isSelected =
- store.futureModalDate === day.date ||
+ (isToday &&
+ store.forecastModalMode === "today" &&
+ Boolean(store.futureModalDate)) ||
+ (store.forecastModalMode !== "today" &&
+ store.futureModalDate === day.date) ||
store.selectedForecastDate === day.date;
return (