From 3b4d54dcc7af5bfc462022061dac775dba713621 Mon Sep 17 00:00:00 2001 From: Dusan Vojacek Date: Thu, 21 May 2026 14:18:21 +0200 Subject: [PATCH] fix planning --- frontend/src/pages/Planning.tsx | 64 ++++++++++++++++----------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/frontend/src/pages/Planning.tsx b/frontend/src/pages/Planning.tsx index 9b7b1a7..a6a6f8e 100644 --- a/frontend/src/pages/Planning.tsx +++ b/frontend/src/pages/Planning.tsx @@ -978,6 +978,38 @@ export default function Planning() { })) }, [chartIntervals, nowMs, compareData?.comparison?.intervals]) + const run = data?.run + const summary = data?.summary + + const solverSnap = useMemo( + () => + parsePlanSolverSnapshot( + run != null ? (run as unknown as Record) : undefined, + ), + [run], + ) + + const chartChargeBands = useMemo( + () => buildChartMaskBands(chartRows, solverSnap, 'allow_charge'), + [chartRows, solverSnap], + ) + const chartExportBands = useMemo( + () => buildChartMaskBands(chartRows, solverSnap, 'allow_discharge_export'), + [chartRows, solverSnap], + ) + + const compareIntervalByStart = useMemo(() => { + const list = compareData?.comparison?.intervals ?? [] + return new Map(list.map((i) => [i.interval_start, i])) + }, [compareData?.comparison?.intervals]) + + const selectedSlot = useMemo( + () => visibleSlots.find((s) => s.interval_start === selectedStart) ?? null, + [visibleSlots, selectedStart], + ) + + const tableColCount = 13 + (solverSnap != null ? 1 : 0) + (showGenCut ? 1 : 0) + async function onReplan() { if (siteId == null) return setReplanning(true) @@ -1074,38 +1106,6 @@ export default function Planning() { ) } - const run = data?.run - const summary = data?.summary - - const solverSnap = useMemo( - () => - parsePlanSolverSnapshot( - run != null ? (run as unknown as Record) : undefined, - ), - [run], - ) - - const chartChargeBands = useMemo( - () => buildChartMaskBands(chartRows, solverSnap, 'allow_charge'), - [chartRows, solverSnap], - ) - const chartExportBands = useMemo( - () => buildChartMaskBands(chartRows, solverSnap, 'allow_discharge_export'), - [chartRows, solverSnap], - ) - - const compareIntervalByStart = useMemo(() => { - const list = compareData?.comparison?.intervals ?? [] - return new Map(list.map((i) => [i.interval_start, i])) - }, [compareData?.comparison?.intervals]) - - const selectedSlot = useMemo( - () => visibleSlots.find((s) => s.interval_start === selectedStart) ?? null, - [visibleSlots, selectedStart], - ) - - const tableColCount = 13 + (solverSnap != null ? 1 : 0) + (showGenCut ? 1 : 0) - const showPrepActions = !loading const prepBusy = prepAction !== null