From db1c203739d2541c2a3a504f59b9843f2b62b2d9 Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Wed, 21 Feb 2024 22:21:59 +0000 Subject: [PATCH] Fixed hot water tank insulation recommendation --- .../building-passport/RecommendationCard.tsx | 5 ++++- .../RecommendationContainer.tsx | 17 +++++++++++++++++ src/app/db/schema/recommendations.ts | 3 ++- src/types/recommendations.ts | 1 + tsconfig.json | 4 ++-- 5 files changed, 26 insertions(+), 4 deletions(-) diff --git a/src/app/components/building-passport/RecommendationCard.tsx b/src/app/components/building-passport/RecommendationCard.tsx index 541fabe3..4f7cc5d9 100644 --- a/src/app/components/building-passport/RecommendationCard.tsx +++ b/src/app/components/building-passport/RecommendationCard.tsx @@ -33,11 +33,14 @@ const TitleMap = { windows_glazing: "Window Glazing", // Solar pv solar_pv: "Solar Photovoltaic Panels System", + // Heating + heating: "Heating Systems", + // Hot water tank + hot_water_tank_insulation: "Hot Water Tank Insulation", // Default options when no recommendation is selected wall_insulation: "Wall Insulation", floor_insulation: "Floor Insulation", roof_insulation: "Roof Insulation", - heating: "Heating Systems", }; type RecommendationCardProps = { diff --git a/src/app/components/building-passport/RecommendationContainer.tsx b/src/app/components/building-passport/RecommendationContainer.tsx index 5035d02c..f22648e1 100644 --- a/src/app/components/building-passport/RecommendationContainer.tsx +++ b/src/app/components/building-passport/RecommendationContainer.tsx @@ -107,6 +107,11 @@ export default function RecommendationContainer({ (rec: Recommendation) => rec.default ) || emptyImpactState; + const defaultHotWaterTankRecommendations = + categorizedRecommendations.hot_water_tank_insulation?.find( + (rec: Recommendation) => rec.default + ) || emptyImpactState; + const [costMap, setCostMap] = useState({ wall_insulation: defaultWallsRecommendations.estimatedCost || 0, floor_insulation: defaultFloorRecommendations.estimatedCost || 0, @@ -118,6 +123,8 @@ export default function RecommendationContainer({ windows_glazing: defaultWindowsRecommendations.estimatedCost || 0, solar_pv: defaultSolarRecommendations.estimatedCost || 0, heating: defaultHeatingRecommendations.estimatedCost || 0, + hot_water_tank_insulation: + defaultHotWaterTankRecommendations.estimatedCost || 0, }); const [sapMap, setSapMap] = useState({ @@ -130,6 +137,8 @@ export default function RecommendationContainer({ windows_glazing: defaultWindowsRecommendations.sapPoints || 0, solar_pv: defaultSolarRecommendations.sapPoints || 0, heating: defaultHeatingRecommendations.sapPoints || 0, + hot_water_tank_insulation: + defaultHotWaterTankRecommendations.sapPoints || 0, }); const [labourDaysMap, setLabourDaysMap] = useState({ @@ -142,6 +151,8 @@ export default function RecommendationContainer({ windows_glazing: defaultWindowsRecommendations.labourDays || 0, solar_pv: defaultSolarRecommendations.labourDays || 0, heating: defaultHeatingRecommendations.labourDays || 0, + hot_water_tank_insulation: + defaultHotWaterTankRecommendations.labourDays || 0, }); const [co2SavingsMap, setCo2SavingsMap] = useState({ @@ -157,6 +168,8 @@ export default function RecommendationContainer({ windows_glazing: defaultWindowsRecommendations.co2EquivalentSavings || 0, solar_pv: defaultSolarRecommendations.co2EquivalentSavings || 0, heating: defaultHeatingRecommendations.co2EquivalentSavings || 0, + hot_water_tank_insulation: + defaultHotWaterTankRecommendations.co2EquivalentSavings || 0, }); const [energyCostSavingsMap, setEnergyCostSavingsMap] = @@ -173,6 +186,8 @@ export default function RecommendationContainer({ windows_glazing: defaultWindowsRecommendations.energyCostSavings || 0, solar_pv: defaultSolarRecommendations.energyCostSavings || 0, heating: defaultHeatingRecommendations.energyCostSavings || 0, + hot_water_tank_insulation: + defaultHotWaterTankRecommendations.energyCostSavings || 0, }); const [heatDemandMap, setHeatDemandMap] = useState({ @@ -187,6 +202,8 @@ export default function RecommendationContainer({ windows_glazing: defaultWindowsRecommendations.adjustedHeatDemand || 0, solar_pv: defaultSolarRecommendations.adjustedHeatDemand || 0, heating: defaultHeatingRecommendations.adjustedHeatDemand || 0, + hot_water_tank_insulation: + defaultHotWaterTankRecommendations.adjustedHeatDemand || 0, }); const [totalEstimatedCost, setTotalEstimatedCost] = useState( diff --git a/src/app/db/schema/recommendations.ts b/src/app/db/schema/recommendations.ts index 375c8ff3..980a374a 100644 --- a/src/app/db/schema/recommendations.ts +++ b/src/app/db/schema/recommendations.ts @@ -120,7 +120,8 @@ export type RecommendationType = | "wall_insulation" | "floor_insulation" | "solar_pv" - | "heating"; + | "heating" + | "hot_water_tank_insulation"; export type UnnestedRecommendation = { quantity: number; diff --git a/src/types/recommendations.ts b/src/types/recommendations.ts index 5bb89605..a485a9f9 100644 --- a/src/types/recommendations.ts +++ b/src/types/recommendations.ts @@ -8,4 +8,5 @@ export interface RecommendationMetricMap { windows_glazing: number; solar_pv: number; heating: number; + hot_water_tank_insulation: number; } diff --git a/tsconfig.json b/tsconfig.json index 7f10c944..64681559 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,8 +1,8 @@ { "compilerOptions": { "allowSyntheticDefaultImports": true, - // "target": "es5", - "target": "ESNext", + "target": "es5", + // "target": "ESNext", "lib": ["dom", "dom.iterable", "esnext"], "allowJs": true, "skipLibCheck": true,