From 354d55f7523989660b4e4f663609e8f197707d6b Mon Sep 17 00:00:00 2001 From: "2569718930@qq.com" <2569718930@qq.com> Date: Mon, 23 Mar 2026 21:41:27 +0800 Subject: [PATCH] Use DEB values in multi-day forecasts --- extension/sidepanel.js | 9 ++++++++- frontend/components/dashboard/PanelSections.tsx | 6 +++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/extension/sidepanel.js b/extension/sidepanel.js index 3af98126..50ac0521 100644 --- a/extension/sidepanel.js +++ b/extension/sidepanel.js @@ -926,9 +926,12 @@ function renderDecision(detail) { function renderForecast(detail) { const symbol = detail?.temp_symbol || "°C"; const daily = Array.isArray(detail?.forecast?.daily) ? detail.forecast.daily : []; + const dailyDeb = detail?.multi_model_daily || {}; els.forecastRow.innerHTML = ""; for (let i = 0; i < Math.min(daily.length, 6); i += 1) { const day = daily[i]; + const debValue = dailyDeb?.[day?.date]?.deb?.prediction; + const displayTemp = debValue ?? day?.max_temp; const card = document.createElement("div"); card.className = `forecast-card ${i === 0 ? "today" : ""}`; @@ -939,7 +942,7 @@ function renderForecast(detail) { const v = document.createElement("div"); v.className = "f-temp"; - v.textContent = formatTemp(day?.max_temp, symbol); + v.textContent = formatTemp(displayTemp, symbol); card.appendChild(v); els.forecastRow.appendChild(card); @@ -1023,6 +1026,10 @@ function normalizeAggregateDetail(payload) { forecast: { daily: Array.isArray(timeseries.forecast_daily) ? timeseries.forecast_daily : [] }, + multi_model_daily: + timeseries.multi_model_daily && typeof timeseries.multi_model_daily === "object" + ? timeseries.multi_model_daily + : {}, hourly: timeseries.hourly || { times: [], temps: [] }, metar_today_obs: timeseries.metar_today_obs || [], settlement_today_obs: timeseries.settlement_today_obs || [], diff --git a/frontend/components/dashboard/PanelSections.tsx b/frontend/components/dashboard/PanelSections.tsx index 75f60d09..40a86e88 100644 --- a/frontend/components/dashboard/PanelSections.tsx +++ b/frontend/components/dashboard/PanelSections.tsx @@ -711,6 +711,10 @@ export function ForecastTable() { if (!data) return null; const daily = data.forecast?.daily || []; + const resolveForecastTemp = (date: string, fallback: number | null | undefined) => { + const debPrediction = data.multi_model_daily?.[date]?.deb?.prediction; + return debPrediction ?? fallback ?? null; + }; return (

{t("forecast.title")}

@@ -744,7 +748,7 @@ export function ForecastTable() { : day.date.substring(5).replace("-", "/")}
- {day.max_temp} + {resolveForecastTemp(day.date, day.max_temp)} {data.temp_symbol}