From f18b819992c7f54280d17403f8b3fa086c293838 Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Thu, 21 Aug 2025 23:40:05 +0000 Subject: [PATCH] added additional summary metrics --- .../portfolio/scenario/[scenarioId]/route.ts | 30 +++++++++- .../portfolio/summary/SummaryTable.tsx | 2 +- .../[slug]/(portfolio)/summary/page.tsx | 2 + src/app/portfolio/[slug]/utils.ts | 56 +++++++++++++++++-- 4 files changed, 83 insertions(+), 7 deletions(-) diff --git a/src/app/api/portfolio/scenario/[scenarioId]/route.ts b/src/app/api/portfolio/scenario/[scenarioId]/route.ts index 2e3c4aa9..085b5f46 100644 --- a/src/app/api/portfolio/scenario/[scenarioId]/route.ts +++ b/src/app/api/portfolio/scenario/[scenarioId]/route.ts @@ -14,6 +14,8 @@ export async function GET(request: NextRequest, props: { params: Promise<{ scena .select({ name: scenario.name, cost: scenario.cost, + funding: scenario.funding, + contingency: scenario.contingency, epcBreakdownPostRetrofit: scenario.epcBreakdownPostRetrofit, numberOfProperties: scenario.numberOfProperties, nUnitsToRetrofit: scenario.nUnitsToRetrofit, @@ -99,7 +101,7 @@ export async function GET(request: NextRequest, props: { params: Promise<{ scena ], }, { - title: "Cost (£)", + title: "Cost of works (£)", scenarios: [ { scenarioName: scenarioName, @@ -108,10 +110,34 @@ export async function GET(request: NextRequest, props: { params: Promise<{ scena ], }, { - title: "Cost (£)/unit", + title: "Cost of works (£)/unit", scenarios: [ { scenarioName: scenarioName, data: data[0].costPerUnit || "" }, ], + }, + { + title: "Funding (£)", + scenarios: [ + { scenarioName: scenarioName, data: "£" + formatNumber(data[0].funding || 0) }, + ], + }, + { + title: "Funding (£)/unit", + scenarios: [ + { scenarioName: scenarioName, data: "£" + formatNumber((data[0].funding || 0) / (data[0].nUnitsToRetrofit || 1)) }, + ], + }, + { + title: "Contingency (£)", + scenarios: [ + { scenarioName: scenarioName, data: "£" + formatNumber(data[0].contingency || 0) }, + ], + }, + { + title: "Contingency (£)/unit", + scenarios: [ + { scenarioName: scenarioName, data: "£" + formatNumber((data[0].contingency || 0) / (data[0].nUnitsToRetrofit || 1)) }, + ], }, { title: "£ per CO2 reduction", diff --git a/src/app/components/portfolio/summary/SummaryTable.tsx b/src/app/components/portfolio/summary/SummaryTable.tsx index b60a499f..14c90bf0 100644 --- a/src/app/components/portfolio/summary/SummaryTable.tsx +++ b/src/app/components/portfolio/summary/SummaryTable.tsx @@ -184,7 +184,7 @@ const SummaryTable = ({