diff --git a/frontend/components/dashboard/scan-terminal/LiveTemperatureThresholdChart.tsx b/frontend/components/dashboard/scan-terminal/LiveTemperatureThresholdChart.tsx index fb3f7af2..3860e20c 100644 --- a/frontend/components/dashboard/scan-terminal/LiveTemperatureThresholdChart.tsx +++ b/frontend/components/dashboard/scan-terminal/LiveTemperatureThresholdChart.tsx @@ -780,6 +780,7 @@ export function LiveTemperatureThresholdChart({ }, [row, tzOffset]); const runwayPlates = useMemo(() => buildRunwayPlates(hourly?.amos, row, settlementObs), [hourly?.amos, row, settlementObs]); + const hasRunwayData = runwayPlates.length > 0; const settlementPlate = useMemo(() => runwayPlates.find((p) => p.isSettlement), [runwayPlates]); const cityKey = String(row?.city || "").toLowerCase().trim(); @@ -999,6 +1000,29 @@ export function LiveTemperatureThresholdChart({ )} + {/* Multi-model list (only when runway data is on chart) */} + {hasRunwayData && series.some((s) => s.key.startsWith("model_curve_")) && ( +
+
+ + {isEn ? "Models:" : "多模型:"} + + {series + .filter((s) => s.key.startsWith("model_curve_")) + .map((s) => { + const stats = seriesStats(s.values); + return ( + + + {s.label} + {temp(stats.latest)} + + ); + })} +
+
+ )} + {/* Chart */}
@@ -1064,7 +1088,9 @@ export function LiveTemperatureThresholdChart({ iconType="plainline" wrapperStyle={{ fontSize: 11 }} /> - {series.map((item) => ( + {series + .filter((item) => !hasRunwayData || !item.key.startsWith("model_curve_")) + .map((item) => (