Added windows recommendations to the front end

This commit is contained in:
Khalim Conn-Kowlessar 2023-12-21 15:57:37 +00:00
parent cc14bebf11
commit 1fbaeae85a
5 changed files with 27 additions and 1 deletions

View file

@ -29,6 +29,8 @@ const TitleMap = {
solid_floor_insulation: "Solid Floor Insulation",
suspended_floor_insulation: "Suspended Floor Insulation",
exposed_floor_insulation: "Exposed Floor Insulation",
// Windows
windows_glazing: "Window Glazing",
// Default options when no recommendation is selected
wall_insulation: "Wall Insulation",
floor_insulation: "Floor Insulation",

View file

@ -33,6 +33,7 @@ const typeToCategoryMap: { [key in RecommendationType]?: RecommendationType } =
suspended_floor_insulation: "floor_insulation",
solid_floor_insulation: "floor_insulation",
exposed_floor_insulation: "floor_insulation",
windows_glazing: "windows_glazing",
};
const emptyImpactState = {
@ -90,6 +91,11 @@ export default function RecommendationContainer({
(rec: Recommendation) => rec.default
) || emptyImpactState;
const defaultWindowsRecommendations =
categorizedRecommendations.windows_glazing?.find(
(rec: Recommendation) => rec.default
) || emptyImpactState;
const [costMap, setCostMap] = useState<RecommendationMetricMap>({
wall_insulation: defaultWallsRecommendations?.estimatedCost || 0,
floor_insulation: defaultFloorRecommendations?.estimatedCost || 0,
@ -98,6 +104,7 @@ export default function RecommendationContainer({
defaultVentiliationRecommendations?.estimatedCost || 0,
sealing_open_fireplace: defaultFireplaceRecommendations?.estimatedCost || 0,
low_energy_lighting: defaultLightingRecommendations?.estimatedCost || 0,
windows_glazing: defaultWindowsRecommendations?.estimatedCost || 0,
});
const [sapMap, setSapMap] = useState<RecommendationMetricMap>({
@ -107,6 +114,7 @@ export default function RecommendationContainer({
mechanical_ventilation: defaultVentiliationRecommendations.sapPoints || 0,
sealing_open_fireplace: defaultFireplaceRecommendations.sapPoints || 0,
low_energy_lighting: defaultLightingRecommendations.sapPoints || 0,
windows_glazing: defaultWindowsRecommendations.sapPoints || 0,
});
const [labourDaysMap, setLabourDaysMap] = useState<RecommendationMetricMap>({
@ -116,6 +124,7 @@ export default function RecommendationContainer({
mechanical_ventilation: defaultVentiliationRecommendations.labourDays || 0,
sealing_open_fireplace: defaultFireplaceRecommendations.labourDays || 0,
low_energy_lighting: defaultLightingRecommendations.labourDays || 0,
windows_glazing: defaultWindowsRecommendations.labourDays || 0,
});
const [co2SavingsMap, setCo2SavingsMap] = useState<RecommendationMetricMap>({
@ -128,6 +137,7 @@ export default function RecommendationContainer({
defaultFireplaceRecommendations.co2EquivalentSavings || 0,
low_energy_lighting:
defaultLightingRecommendations.co2EquivalentSavings || 0,
windows_glazing: defaultWindowsRecommendations.co2EquivalentSavings || 0,
});
const [energyCostSavingsMap, setEnergyCostSavingsMap] =
@ -141,6 +151,7 @@ export default function RecommendationContainer({
defaultFireplaceRecommendations.energyCostSavings || 0,
low_energy_lighting:
defaultLightingRecommendations.energyCostSavings || 0,
windows_glazing: defaultWindowsRecommendations.energyCostSavings || 0,
});
const [heatDemandMap, setHeatDemandMap] = useState<RecommendationMetricMap>({
@ -150,6 +161,7 @@ export default function RecommendationContainer({
mechanical_ventilation: defaultVentiliationRecommendations.heatDemand || 0,
sealing_open_fireplace: defaultFireplaceRecommendations.heatDemand || 0,
low_energy_lighting: defaultLightingRecommendations.heatDemand || 0,
windows_glazing: defaultWindowsRecommendations.heatDemand || 0,
});
const [totalEstimatedCost, setTotalEstimatedCost] = useState(

View file

@ -36,6 +36,16 @@ interface RecommendationModalProps {
setTotalHeatDemandSavings: Dispatch<SetStateAction<number>>;
}
const TitleMap = {
floor_insulation: "Floor Insulation",
roof_insulation: "Roof Insulation",
wall_insulation: "Wall Insulation",
mechanical_ventilation: "Ventilation",
sealing_open_fireplace: "Sealing Fireplaces",
low_energy_lighting: "Low Energy Lighting",
windows_glazing: "Window Glazing",
};
export default function RecommendationModal({
title,
isOpen = false,
@ -197,7 +207,7 @@ export default function RecommendationModal({
as="h3"
className="text-lg font-medium leading-6 text-brandblue mb-3"
>
{title}
{TitleMap[title as keyof typeof TitleMap]}
</Dialog.Title>
<RecommendationTable
data={recommendationData}

View file

@ -111,6 +111,7 @@ export type RecommendationType =
| "mechanical_ventilation"
| "sealing_open_fireplace"
| "low_energy_lighting"
| "windows_glazing"
| "roof_insulation"
| "wall_insulation"
| "floor_insulation";

View file

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