Refactor FloorPlanDubaiMarina7_38Comb component to filter duplicate units and improve mask data handling. Clean up commented code in FloorsPage and remove console logs in UnitPage for better performance.

This commit is contained in:
2025-07-28 13:02:46 +05:00
parent e365482849
commit 964167e863
4 changed files with 57 additions and 26 deletions
+22 -18
View File
@@ -7,6 +7,7 @@ import { useEffect, useState } from "react";
import clsx from "clsx";
import { dubaiMarinaMasks } from "../data/floor-plan-masks/dubai-marina_7-38_comb";
import { FloorPlanDubaiMarina7_38Unit } from "./FloorPlanDubaiMarina7_38";
import { filterDuplicateUnits } from "../utils/filterDuplicateUnits";
// import Button from "./ui/Button";
// import { useClickAway } from "@uidotdev/usehooks";
@@ -62,39 +63,42 @@ function FloorPlanDubaiMarina7_38Comb({
)
)} */}
{unitsOnFloor.map((unit) =>
!unit.unitNo.endsWith("-C") ? (
{filterDuplicateUnits(unitsOnFloor).map((unit) => {
// Получаем ключ для поиска в масках: для "2901-C" и "2901" это будет "01"
const maskKey = unit.unitNo.split("-")[0].slice(-2);
const maskData = dubaiMarinaMasks.get(maskKey);
if (!maskData) {
console.warn(
`Mask not found for unit ${unit.unitNo}, key: ${maskKey}`
);
return null;
}
return !unit.unitNo.endsWith("-C") ? (
<FloorPlanDubaiMarina7_38Unit
key={unit.unitNo}
selectedUnit={selectedUnit}
onSelect={setSelectedUnit}
formattedUnitType={
dubaiMarinaMasks.get(unit.unitNo.slice(-2))!.formattedUnitType
}
formattedUnitType={maskData.formattedUnitType}
unit={unit}
floor={Number(selectedFloor!)}
d={dubaiMarinaMasks.get(unit.unitNo.slice(-2))!.d}
textTransform={`translate(${dubaiMarinaMasks
.get(unit.unitNo.slice(-2))!
.textTransform.join(" ")})`}
d={maskData.d}
textTransform={`translate(${maskData.textTransform.join(" ")})`}
/>
) : (
<FloorPlanDubaiMarina7_38CombUnit
key={unit.unitNo}
selectedUnit={selectedUnit}
onSelect={setSelectedUnit}
formattedUnitType={
dubaiMarinaMasks.get(unit.unitNo.slice(-2))!.formattedUnitType
}
formattedUnitType={maskData.formattedUnitType}
unit={unit}
floor={Number(selectedFloor!)}
d={dubaiMarinaMasks.get(unit.unitNo.slice(-2))!.d}
textTransform={`translate(${dubaiMarinaMasks
.get(unit.unitNo.slice(-2))!
.textTransform.join(" ")})`}
d={maskData.d}
textTransform={`translate(${maskData.textTransform.join(" ")})`}
/>
)
)}
);
})}
</svg>
);
}