From a1385bd164734def085e240a3a4795c55bba27ac Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Thu, 11 Dec 2025 12:00:47 +0000 Subject: [PATCH 1/2] fixed SAP efficiency metric --- .../[slug]/(portfolio)/reporting/ReportingClientArea.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/app/portfolio/[slug]/(portfolio)/reporting/ReportingClientArea.tsx b/src/app/portfolio/[slug]/(portfolio)/reporting/ReportingClientArea.tsx index 8a01f17..7df1b47 100644 --- a/src/app/portfolio/[slug]/(portfolio)/reporting/ReportingClientArea.tsx +++ b/src/app/portfolio/[slug]/(portfolio)/reporting/ReportingClientArea.tsx @@ -80,7 +80,6 @@ export function ReportingClientArea({ // ---------------------------------------- // Build overlay for Dashboard Summary cards // ---------------------------------------- - console.log("scenarioData", scenarioData); const scenarioOverlay = scenarioData ? { @@ -109,6 +108,7 @@ export function ReportingClientArea({ // ---------------------------------------- // Financial drawer values (from API) // ---------------------------------------- + console.log("scenarioData", scenarioData); const scenarioFinancial = scenarioData ? { totalCost: scenarioData.total_cost, @@ -116,7 +116,8 @@ export function ReportingClientArea({ funding: scenarioData.total_funding, costPerSap: scenarioData.total_cost > 0 - ? scenarioData.total_cost / scenarioData.avg_sap + ? scenarioData.gross_per_unit / + (scenarioData.avg_sap - (baseline.averages.avg_sap ?? 0)) : 0, costPerCo2: scenarioData.total_cost > 0 From 46dcc1b93659fb5c188a292c001516c5dec16cae Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Thu, 11 Dec 2025 13:49:03 +0000 Subject: [PATCH 2/2] added new metrics to dropdown scenario ui --- .../reporting/ReportingClientArea.tsx | 17 ++++++++--- .../reporting/ScenarioFinancialDrawer.tsx | 28 +++++++++++++++++++ 2 files changed, 41 insertions(+), 4 deletions(-) diff --git a/src/app/portfolio/[slug]/(portfolio)/reporting/ReportingClientArea.tsx b/src/app/portfolio/[slug]/(portfolio)/reporting/ReportingClientArea.tsx index 7df1b47..ce72dfa 100644 --- a/src/app/portfolio/[slug]/(portfolio)/reporting/ReportingClientArea.tsx +++ b/src/app/portfolio/[slug]/(portfolio)/reporting/ReportingClientArea.tsx @@ -106,10 +106,9 @@ export function ReportingClientArea({ : null; // ---------------------------------------- - // Financial drawer values (from API) + // Scenario specific metrics that appear in the drawer (from API) and cannot be overlayed on baseline // ---------------------------------------- - console.log("scenarioData", scenarioData); - const scenarioFinancial = scenarioData + const scenarioSpecific = scenarioData ? { totalCost: scenarioData.total_cost, contingency: scenarioData.contingency, @@ -126,6 +125,16 @@ export function ReportingClientArea({ netCost: scenarioData.net_cost, grossPerUnit: scenarioData.gross_per_unit, nUnits: scenarioData.n_units_upgraded, + totalCarbonSaved: + (baseline.totals.total_carbon ?? 0) - scenarioData.total_carbon, + totalBillsSaved: + (baseline.totals.total_bills ?? 0) - scenarioData.total_bills, + averageCaribonSaved: + ((baseline.totals.total_carbon ?? 0) - scenarioData.total_carbon) / + scenarioData.n_units_upgraded, + averageBillsSaved: + ((baseline.totals.total_bills ?? 0) - scenarioData.total_bills) / + scenarioData.n_units_upgraded, } : null; @@ -157,7 +166,7 @@ export function ReportingClientArea({ subtitle="High-level insights on performance, energy, and EPC quality." /> - +
+ + + +