added in solar recommendations

This commit is contained in:
Khalim Conn-Kowlessar 2024-01-05 15:06:10 +00:00
parent 33aebe5b97
commit 74b290507a
5 changed files with 17 additions and 1 deletions

View file

@ -31,6 +31,8 @@ const TitleMap = {
exposed_floor_insulation: "Exposed Floor Insulation",
// Windows
windows_glazing: "Window Glazing",
// Solar pv
solar_pv: "Solar Photovoltaic Panels System",
// Default options when no recommendation is selected
wall_insulation: "Wall Insulation",
floor_insulation: "Floor Insulation",

View file

@ -96,6 +96,11 @@ export default function RecommendationContainer({
(rec: Recommendation) => rec.default
) || emptyImpactState;
const defaultSolarRecommendations =
categorizedRecommendations.solar_pv?.find(
(rec: Recommendation) => rec.default
) || emptyImpactState;
const [costMap, setCostMap] = useState<RecommendationMetricMap>({
wall_insulation: defaultWallsRecommendations?.estimatedCost || 0,
floor_insulation: defaultFloorRecommendations?.estimatedCost || 0,
@ -105,6 +110,7 @@ export default function RecommendationContainer({
sealing_open_fireplace: defaultFireplaceRecommendations?.estimatedCost || 0,
low_energy_lighting: defaultLightingRecommendations?.estimatedCost || 0,
windows_glazing: defaultWindowsRecommendations?.estimatedCost || 0,
solar_pv: defaultSolarRecommendations?.estimatedCost || 0,
});
const [sapMap, setSapMap] = useState<RecommendationMetricMap>({
@ -115,6 +121,7 @@ export default function RecommendationContainer({
sealing_open_fireplace: defaultFireplaceRecommendations.sapPoints || 0,
low_energy_lighting: defaultLightingRecommendations.sapPoints || 0,
windows_glazing: defaultWindowsRecommendations.sapPoints || 0,
solar_pv: defaultSolarRecommendations.sapPoints || 0,
});
const [labourDaysMap, setLabourDaysMap] = useState<RecommendationMetricMap>({
@ -125,6 +132,7 @@ export default function RecommendationContainer({
sealing_open_fireplace: defaultFireplaceRecommendations.labourDays || 0,
low_energy_lighting: defaultLightingRecommendations.labourDays || 0,
windows_glazing: defaultWindowsRecommendations.labourDays || 0,
solar_pv: defaultSolarRecommendations.labourDays || 0,
});
const [co2SavingsMap, setCo2SavingsMap] = useState<RecommendationMetricMap>({
@ -138,6 +146,7 @@ export default function RecommendationContainer({
low_energy_lighting:
defaultLightingRecommendations.co2EquivalentSavings || 0,
windows_glazing: defaultWindowsRecommendations.co2EquivalentSavings || 0,
solar_pv: defaultSolarRecommendations.co2EquivalentSavings || 0,
});
const [energyCostSavingsMap, setEnergyCostSavingsMap] =
@ -152,6 +161,7 @@ export default function RecommendationContainer({
low_energy_lighting:
defaultLightingRecommendations.energyCostSavings || 0,
windows_glazing: defaultWindowsRecommendations.energyCostSavings || 0,
solar_pv: defaultSolarRecommendations.energyCostSavings || 0,
});
const [heatDemandMap, setHeatDemandMap] = useState<RecommendationMetricMap>({
@ -162,6 +172,7 @@ export default function RecommendationContainer({
sealing_open_fireplace: defaultFireplaceRecommendations.heatDemand || 0,
low_energy_lighting: defaultLightingRecommendations.heatDemand || 0,
windows_glazing: defaultWindowsRecommendations.heatDemand || 0,
solar_pv: defaultSolarRecommendations.heatDemand || 0,
});
const [totalEstimatedCost, setTotalEstimatedCost] = useState(

View file

@ -44,6 +44,7 @@ const TitleMap = {
sealing_open_fireplace: "Sealing Fireplaces",
low_energy_lighting: "Low Energy Lighting",
windows_glazing: "Window Glazing",
solar_pv: "Solar PV Systems",
};
export default function RecommendationModal({

View file

@ -114,7 +114,8 @@ export type RecommendationType =
| "windows_glazing"
| "roof_insulation"
| "wall_insulation"
| "floor_insulation";
| "floor_insulation"
| "solar_pv";
export type UnnestedRecommendation = {
quantity: number;

View file

@ -6,4 +6,5 @@ export interface RecommendationMetricMap {
sealing_open_fireplace: number;
low_energy_lighting: number;
windows_glazing: number;
solar_pv: number;
}