diff --git a/frontend/components/dashboard/scan-terminal/TemperatureChartCanvas.tsx b/frontend/components/dashboard/scan-terminal/TemperatureChartCanvas.tsx
index 7a0ef5d9..0ca50dba 100644
--- a/frontend/components/dashboard/scan-terminal/TemperatureChartCanvas.tsx
+++ b/frontend/components/dashboard/scan-terminal/TemperatureChartCanvas.tsx
@@ -15,7 +15,11 @@ import {
} from "recharts";
import type { ScanOpportunityRow } from "@/lib/dashboard-types";
import { TemperatureTooltipContent } from "@/components/dashboard/scan-terminal/TemperatureTooltipContent";
-import type { EvidenceSeries, ProbabilityOverlay } from "@/components/dashboard/scan-terminal/temperature-chart-logic";
+import {
+ getTemperatureSeriesForRunwayDetailsMode,
+ type EvidenceSeries,
+ type ProbabilityOverlay,
+} from "@/components/dashboard/scan-terminal/temperature-chart-logic";
type CityThreshold = {
threshold: number;
@@ -120,23 +124,25 @@ export function TemperatureChartCanvas({
const individualRunwaySeriesCount = chartSeries.filter(
(series) => series.key.startsWith("runway_") && series.key !== "runway_max",
).length;
+ const collapsedRunwaySeries = getTemperatureSeriesForRunwayDetailsMode(
+ row?.city || "",
+ chartSeries,
+ false,
+ );
const canToggleRunwayDetails =
hasRunwayData &&
individualRunwaySeriesCount > 1 &&
- chartSeries.some((series) => series.key === "runway_max");
+ collapsedRunwaySeries.length < chartSeries.length;
return (
{chartSeries.length > 1 &&
- chartSeries
- .filter((s) => {
- const isIndividualRunway = s.key.startsWith("runway_") && s.key !== "runway_max";
- if (showRunwayDetails) {
- return s.key !== "runway_max";
- }
- return !isIndividualRunway;
- })
+ getTemperatureSeriesForRunwayDetailsMode(
+ row?.city || "",
+ chartSeries,
+ showRunwayDetails,
+ )
.map((s) => (