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:
@@ -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>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user