mirror of
https://github.com/Hestia-Homes/assessment-model.git
synced 2026-06-08 11:37:25 +00:00
Merge pull request #150 from Hestia-Homes/new-reporting
Added new metrics to scenario ui
This commit is contained in:
commit
fde932115b
2 changed files with 43 additions and 5 deletions
|
|
@ -80,7 +80,6 @@ export function ReportingClientArea({
|
|||
// ----------------------------------------
|
||||
// Build overlay for Dashboard Summary cards
|
||||
// ----------------------------------------
|
||||
console.log("scenarioData", scenarioData);
|
||||
|
||||
const scenarioOverlay = scenarioData
|
||||
? {
|
||||
|
|
@ -107,16 +106,17 @@ 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
|
||||
// ----------------------------------------
|
||||
const scenarioFinancial = scenarioData
|
||||
const scenarioSpecific = scenarioData
|
||||
? {
|
||||
totalCost: scenarioData.total_cost,
|
||||
contingency: scenarioData.contingency,
|
||||
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
|
||||
|
|
@ -125,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;
|
||||
|
||||
|
|
@ -156,7 +166,7 @@ export function ReportingClientArea({
|
|||
subtitle="High-level insights on performance, energy, and EPC quality."
|
||||
/>
|
||||
|
||||
<ScenarioFinancialDrawer open={drawerOpen} metrics={scenarioFinancial} />
|
||||
<ScenarioFinancialDrawer open={drawerOpen} metrics={scenarioSpecific} />
|
||||
|
||||
<div className="grid grid-cols-1 lg:grid-cols-[60%_40%] gap-6 p-2">
|
||||
<DashboardSummaryCards
|
||||
|
|
|
|||
|
|
@ -95,6 +95,34 @@ export function ScenarioFinancialDrawer({
|
|||
color="text-brandblue"
|
||||
bg="bg-brandblue/20"
|
||||
/>
|
||||
<Metric
|
||||
label="Total Carbon Saved (tonnes) per year"
|
||||
value={formatNumber(metrics.totalCarbonSaved)}
|
||||
icon={Users}
|
||||
color="text-brandblue"
|
||||
bg="bg-brandblue/20"
|
||||
/>
|
||||
<Metric
|
||||
label="Total Bills Saved (£) per year"
|
||||
value={`£${formatNumber(metrics.totalBillsSaved)}`}
|
||||
icon={Users}
|
||||
color="text-brandblue"
|
||||
bg="bg-brandblue/20"
|
||||
/>
|
||||
<Metric
|
||||
label="Average Carbon Saved (tonnes) per unit per year"
|
||||
value={formatNumber(metrics.averageCaribonSaved)}
|
||||
icon={Users}
|
||||
color="text-brandblue"
|
||||
bg="bg-brandblue/20"
|
||||
/>
|
||||
<Metric
|
||||
label="Average Bills Saved (£) per unit per year"
|
||||
value={`£${formatNumber(metrics.averageBillsSaved)}`}
|
||||
icon={Users}
|
||||
color="text-brandblue"
|
||||
bg="bg-brandblue/20"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</motion.div>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue