diff --git a/client/.env b/client/.env
index 2f2d504..bb7f807 100644
--- a/client/.env
+++ b/client/.env
@@ -1,3 +1,6 @@
# VITE_SERVER_API=https://irth.graff.tech/api
-VITE_SERVER_API=http://192.168.1.158:4002
+
+VITE_SERVER_API=http://194.26.138.94:4002
+
+# VITE_SERVER_API=http://192.168.1.56:4003
# VITE_SERVER_API=http://194.26.138.94:4002
diff --git a/client/index.html b/client/index.html
index 2bdcc7f..32fa5a1 100644
--- a/client/index.html
+++ b/client/index.html
@@ -3,8 +3,10 @@
+
-
+
+
IRTH
diff --git a/client/public/images/compass.png b/client/public/images/compass.png
index 0615ec3..7f0cff1 100644
Binary files a/client/public/images/compass.png and b/client/public/images/compass.png differ
diff --git a/client/public/images/markers/2.png b/client/public/images/markers/2.png
new file mode 100644
index 0000000..3c9d3c7
Binary files /dev/null and b/client/public/images/markers/2.png differ
diff --git a/client/public/images/markers/3.png b/client/public/images/markers/3.png
new file mode 100644
index 0000000..91274b5
Binary files /dev/null and b/client/public/images/markers/3.png differ
diff --git a/client/public/images/masterplan/help/1.png b/client/public/images/masterplan/help/1.png
index 350098f..dc1f934 100644
Binary files a/client/public/images/masterplan/help/1.png and b/client/public/images/masterplan/help/1.png differ
diff --git a/client/src/api/urls.ts b/client/src/api/urls.ts
index c207bbd..c09afd0 100644
--- a/client/src/api/urls.ts
+++ b/client/src/api/urls.ts
@@ -1,4 +1,4 @@
-// const serverApi = "http://192.168.56.1:3000";
+// const serverApi = "http://192.168.56.1:4003";
const serverApi = import.meta.env.VITE_SERVER_API;
const apartmentsApi = `${serverApi}/apartments`;
diff --git a/client/src/components/ApartmentSidebar.tsx b/client/src/components/ApartmentSidebar.tsx
index 8775547..bfca128 100644
--- a/client/src/components/ApartmentSidebar.tsx
+++ b/client/src/components/ApartmentSidebar.tsx
@@ -97,7 +97,7 @@ const ApartmentSidebar = ({ currentApartment }: ApartmentSidebarProps) => {
- Unvailiable
+ Unavailable
diff --git a/client/src/components/companyPage/OurValues/Slider.tsx b/client/src/components/companyPage/OurValues/Slider.tsx
index f92e979..ada6dd5 100644
--- a/client/src/components/companyPage/OurValues/Slider.tsx
+++ b/client/src/components/companyPage/OurValues/Slider.tsx
@@ -30,7 +30,7 @@ const Slider = () => {
if (!imageRef.current?.src) return;
const width = imageRef.current.width;
setImageWidth(width);
- }, [imageRef.current, window.innerWidth]);
+ }, [imageRef.current, window.innerWidth, imageRef?.current?.width]);
useLayoutEffect(() => {
const gapOffset = 45;
diff --git a/client/src/components/complexPage/ComplexTopPanel.tsx b/client/src/components/complexPage/ComplexTopPanel.tsx
index 6745623..d3912b2 100644
--- a/client/src/components/complexPage/ComplexTopPanel.tsx
+++ b/client/src/components/complexPage/ComplexTopPanel.tsx
@@ -95,7 +95,7 @@ const ComplexTopPanel = () => {
}
buttonType="primary"
- text="About Complex"
+ text="About Project"
onClick={handleOnAboutComplexClick}
/>
diff --git a/client/src/components/complexWingPage/FloorDescription.tsx b/client/src/components/complexWingPage/FloorDescription.tsx
index 5d3ccc3..5878614 100644
--- a/client/src/components/complexWingPage/FloorDescription.tsx
+++ b/client/src/components/complexWingPage/FloorDescription.tsx
@@ -51,7 +51,7 @@ const FloorDescription = ({
Studio Flex
- Unvailiable
+ Unavailable
@@ -66,7 +66,7 @@ const FloorDescription = ({
Studio
- Unvailiable
+ Unavailable
@@ -81,7 +81,7 @@ const FloorDescription = ({
1 Bedroom
- Unvailiable
+ Unavailable
@@ -98,7 +98,7 @@ const FloorDescription = ({
2 Bedroom, Type A
-
Unvailiable
+
Unavailable
diff --git a/client/src/components/complexWingPage/FloorSidebar/ApartmentDescription.tsx b/client/src/components/complexWingPage/FloorSidebar/ApartmentDescription.tsx
index 48c7c33..2bf9df3 100644
--- a/client/src/components/complexWingPage/FloorSidebar/ApartmentDescription.tsx
+++ b/client/src/components/complexWingPage/FloorSidebar/ApartmentDescription.tsx
@@ -51,7 +51,7 @@ const ApartmentDescription = ({
- Unvailiable
+ Unavailable
{/*
AED 1,668,888
diff --git a/client/src/components/complexWingPage/MobileApartmentDescription.tsx b/client/src/components/complexWingPage/MobileApartmentDescription.tsx
index 1603123..ecb0f93 100644
--- a/client/src/components/complexWingPage/MobileApartmentDescription.tsx
+++ b/client/src/components/complexWingPage/MobileApartmentDescription.tsx
@@ -73,7 +73,7 @@ const MobileApartmentDescription = ({
- Unvailiable
+ Unavailable
{/*
AED 1,668,888
diff --git a/client/src/components/complexWingPage/SequenceWing/MobileFloorDescription.tsx b/client/src/components/complexWingPage/SequenceWing/MobileFloorDescription.tsx
index b302b4e..0f51339 100644
--- a/client/src/components/complexWingPage/SequenceWing/MobileFloorDescription.tsx
+++ b/client/src/components/complexWingPage/SequenceWing/MobileFloorDescription.tsx
@@ -7,12 +7,14 @@ import RightArrowSliderIcon from "../../icons/RightArrowSliderIcon";
interface MobileFloorDescriptionProps {
descriptionFloor: IDesctiptionFloor | null;
floorApartments: IAparmentRes[];
+ isLeft: boolean;
onClick: (event: React.MouseEvent) => void;
}
const MobileFloorDescription = ({
descriptionFloor,
floorApartments,
+ isLeft,
onClick,
}: MobileFloorDescriptionProps) => {
return (
@@ -57,7 +59,7 @@ const MobileFloorDescription = ({
- Unvailiable
+ Unavailable
@@ -74,7 +76,7 @@ const MobileFloorDescription = ({
Studio
- Unvailiable
+ Unavailable
@@ -91,7 +93,7 @@ const MobileFloorDescription = ({
1 Bedroom
- Unvailiable
+ Unavailable
@@ -110,7 +112,7 @@ const MobileFloorDescription = ({
- Unvailiable
+ Unavailable
-
+
>
diff --git a/client/src/components/complexWingPage/SequenceWing/MobileSkygardenDescription.tsx b/client/src/components/complexWingPage/SequenceWing/MobileSkygardenDescription.tsx
index 50779a2..544a322 100644
--- a/client/src/components/complexWingPage/SequenceWing/MobileSkygardenDescription.tsx
+++ b/client/src/components/complexWingPage/SequenceWing/MobileSkygardenDescription.tsx
@@ -4,10 +4,12 @@ import RightArrowSliderIcon from "../../icons/RightArrowSliderIcon";
interface MobileSkygardenDescriptionProps {
onClick: (e: React.MouseEvent) => void;
+ isLeft: boolean;
}
const MobileSkygardenDescription = ({
onClick,
+ isLeft,
}: MobileSkygardenDescriptionProps) => {
return (
<>
@@ -61,7 +63,11 @@ const MobileSkygardenDescription = ({
onClick={onClick}
/>
-
+
>
diff --git a/client/src/components/complexWingPage/SequenceWing/SequenceWing.tsx b/client/src/components/complexWingPage/SequenceWing/SequenceWing.tsx
index f191f84..c1f987b 100644
--- a/client/src/components/complexWingPage/SequenceWing/SequenceWing.tsx
+++ b/client/src/components/complexWingPage/SequenceWing/SequenceWing.tsx
@@ -26,7 +26,7 @@ const SequenceWing = () => {
const [width, setWidth] = useState(0);
const [top, setTop] = useState(0);
const [left, setLeft] = useState(0);
- // const { isSidebar, setIsSidebar } = useWingSidebar();
+ const [isLeft, setIsLeft] = useState(false);
const [mousePos, setMousePos] = useState<[number, number]>([0, 0]);
const [currentHoveredFloor, setHoverCurrentFloor] =
useState(null);
@@ -113,11 +113,15 @@ const SequenceWing = () => {
function handleOnMouseDown(e: MouseEvent | any) {
const isFloorClicked = Boolean(e.target.dataset.id);
if (isFloorClicked) {
+ const _isLeft = e.clientX > 1400;
+ setIsLeft(_isLeft);
+ const descPosX = _isLeft ? e.clientX + 524 : e.clientX + 1184;
+
// detect mouse pos
const screenWidth = window.innerWidth;
const screenHeight = window.innerHeight;
const _top = screenWidth / 2 - screenHeight / 2;
- setMousePos([e.clientX + 1184, e.clientY + Math.abs(_top) + 50]);
+ setMousePos([descPosX, e.clientY + Math.abs(_top) + 50]);
//detect currentFloor, current sidebar and apartment on floor
if (!currentHoveredFloor && !currentHoveredApartments) return;
@@ -298,7 +302,10 @@ const SequenceWing = () => {
left: `${mousePos[0]}px`,
}}
>
-
+
{
}}
>
{
const { hoveredMarker } = useMarker();
@@ -17,6 +19,39 @@ const Map = () => {
};
});
+ useEffect(() => {
+ const handleOnGestureStart = (e: any) => {
+ e.preventDefault();
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
+ // @ts-expect-error
+ document.body.style.zoom = 0.99;
+ };
+
+ const handleOnGestureChange = (e: any) => {
+ e.preventDefault();
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
+ // @ts-expect-error
+ document.body.style.zoom = 0.99;
+ };
+
+ const handleOnGestureEnd = (e: any) => {
+ e.preventDefault();
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
+ // @ts-expect-error
+ document.body.style.zoom = 1;
+ };
+
+ document.addEventListener("gesturestart", handleOnGestureStart);
+ document.addEventListener("gesturechange", handleOnGestureChange);
+ document.addEventListener("gestureend", handleOnGestureEnd);
+
+ return () => {
+ document.removeEventListener("gesturestart", handleOnGestureStart);
+ document.removeEventListener("gesturechange", handleOnGestureChange);
+ document.removeEventListener("gestureend", handleOnGestureEnd);
+ };
+ }, []);
+
return (
{
};
const handleOnClick = () => {
+ if (!currentMarker || currentMarker?.isDisabled) return;
navigate(`../masterplan/${currentMarker?.itemNumber}`);
setHoveredMarker(null);
};
@@ -37,28 +38,55 @@ const Marker = (props: MarkerComponentProps) => {
className="relative transition-transform zoom-280"
style={{ transform: `scale(${markerScale})` }}
>
-
-
-
- {currentMarker && (
-

- )}
-
-
-
+ {!currentMarker?.isDisabled ? (
+
+
+
+ {currentMarker && (
+

+ )}
+
+
-
+ ) : (
+
+ )}
{
>
-
-
-
-
- {currentMarker && (
-

- )}
+ {!currentMarker?.isDisabled && (
+
+
+
+
+ {currentMarker && (
+

+ )}
+
-
+ )}
);
};
diff --git a/client/src/components/modals/AboutComplexModal.tsx b/client/src/components/modals/AboutComplexModal.tsx
index 098da6c..26a090c 100644
--- a/client/src/components/modals/AboutComplexModal.tsx
+++ b/client/src/components/modals/AboutComplexModal.tsx
@@ -186,7 +186,7 @@ const AboutComplexModal = ({
- Unvailiable
+ Unavailable
{/* AED {formatNumber(1668888, ",", 3, 1)} */}
diff --git a/client/src/components/modals/LoaderModal.tsx b/client/src/components/modals/LoaderModal.tsx
index fd3f393..1681b78 100644
--- a/client/src/components/modals/LoaderModal.tsx
+++ b/client/src/components/modals/LoaderModal.tsx
@@ -1,7 +1,7 @@
const LoaderModal = () => {
return (
-
diff --git a/client/src/components/modals/MasterplanFilters.tsx b/client/src/components/modals/MasterplanFilters.tsx
index 13d2aee..c509cfc 100644
--- a/client/src/components/modals/MasterplanFilters.tsx
+++ b/client/src/components/modals/MasterplanFilters.tsx
@@ -3,15 +3,17 @@ import Button from "../Button";
import CrossIcon from "../icons/CrossIcon";
import ResetIcon from "../icons/ResetIcon";
import Checkbox from "../Checkbox";
-import Switch from "../Switch";
+// import Switch from "../Switch";
import MultiRangeSlider from "../MultiRangeSlider";
import {
initialAparmentTypeCheckboxes,
initialSliders,
initialSwitchers,
initialViewCheckboxes,
+ pageInitial,
} from "../../consts/initialMasterplanFilters";
import useMasterplanFilters from "../../store/useMasterplanFilters";
+import { perPageInitial } from "../../consts/initialMasterplanFilters";
const MasterplanFilters = () => {
const { setModal } = useModal();
@@ -22,8 +24,9 @@ const MasterplanFilters = () => {
setViewCheckboxes,
multirangeSliders,
setMultirangeSliders,
- switchers,
setSwitchers,
+ setPage,
+ setPerPage,
} = useMasterplanFilters();
const handleOnCloseClick = () => setModal(null);
@@ -67,22 +70,24 @@ const MasterplanFilters = () => {
setMultirangeSliders(updatedSliders);
};
- const handleOnSwitcherClick = (switcherId: string) => {
- const updatedSwitchers = switchers.map((switcher) => {
- if (switcherId !== switcher.id) return switcher;
- const { isSwitched } = switcher;
+ // const handleOnSwitcherClick = (switcherId: string) => {
+ // const updatedSwitchers = switchers.map((switcher) => {
+ // if (switcherId !== switcher.id) return switcher;
+ // const { isSwitched } = switcher;
- return { ...switcher, isSwitched: !isSwitched };
- });
+ // return { ...switcher, isSwitched: !isSwitched };
+ // });
- setSwitchers(updatedSwitchers);
- };
+ // setSwitchers(updatedSwitchers);
+ // };
const handleOnResetClick = () => {
setApartmentTypeCheckboxes(initialAparmentTypeCheckboxes);
setViewCheckboxes(initialViewCheckboxes);
setMultirangeSliders(initialSliders);
setSwitchers(initialSwitchers);
+ setPage(pageInitial);
+ setPerPage(perPageInitial);
};
return (
@@ -124,14 +129,14 @@ const MasterplanFilters = () => {
))}
-
+ {/*
{switchers.map((switcher) => (
))}
-
+
*/}
View
diff --git a/client/src/components/modals/SendEnquryModal.tsx b/client/src/components/modals/SendEnquryModal.tsx
index 9b231e6..a1c826e 100644
--- a/client/src/components/modals/SendEnquryModal.tsx
+++ b/client/src/components/modals/SendEnquryModal.tsx
@@ -43,7 +43,7 @@ const SendEnquiryModal = () => {
1 bedroom, 609 Sqft{" "}
- Unvailiable
+ Unavailable
{/*
AED {formatNumber(1668888, ",", 3, 1)}
diff --git a/client/src/components/modals/mobile/MasterplanFiltersModal.tsx b/client/src/components/modals/mobile/MasterplanFiltersModal.tsx
index a545eb8..5e678b0 100644
--- a/client/src/components/modals/mobile/MasterplanFiltersModal.tsx
+++ b/client/src/components/modals/mobile/MasterplanFiltersModal.tsx
@@ -5,7 +5,7 @@ import CrossIcon from "../../icons/CrossIcon";
import { MobileModalWrapperContext } from "./MobileModalWrapper";
import Checkbox from "../../Checkbox";
import MultiRangeSlider from "../../MultiRangeSlider";
-import Switch from "../../Switch";
+// import Switch from "../../Switch";
import ResetIcon from "../../icons/ResetIcon";
import { useSwipeable } from "react-swipeable";
import {
@@ -61,16 +61,16 @@ const MasterplanFiltersModal = () => {
setLocalApartmentTypeCheckboxes(updatedCheckboxes);
};
- const handleOnSwitcherClick = (switcherId: string) => {
- const updatedSwitchers = localSwitchers.map((switcher) => {
- if (switcherId !== switcher.id) return switcher;
- const { isSwitched } = switcher;
+ // const handleOnSwitcherClick = (switcherId: string) => {
+ // const updatedSwitchers = localSwitchers.map((switcher) => {
+ // if (switcherId !== switcher.id) return switcher;
+ // const { isSwitched } = switcher;
- return { ...switcher, isSwitched: !isSwitched };
- });
+ // return { ...switcher, isSwitched: !isSwitched };
+ // });
- setLocalSwitchers(updatedSwitchers);
- };
+ // setLocalSwitchers(updatedSwitchers);
+ // };
const handleOnSliderValueChange = (
sliderId: string,
@@ -147,7 +147,7 @@ const MasterplanFiltersModal = () => {
{localMultirangeSliders.map((slider) => (
-
+
{slider.title}
{slider.unit}
@@ -158,14 +158,14 @@ const MasterplanFiltersModal = () => {
/>
))}
-
+ {/*
{localSwitchers.map((switcher) => (
))}
-
+
*/}
Views
diff --git a/client/src/components/modals/mobile/MobileHelpModal.tsx b/client/src/components/modals/mobile/MobileHelpModal.tsx
index 7ba9166..925797f 100644
--- a/client/src/components/modals/mobile/MobileHelpModal.tsx
+++ b/client/src/components/modals/mobile/MobileHelpModal.tsx
@@ -2,7 +2,13 @@ import { useSwipeable } from "react-swipeable";
import Button from "../../Button";
import CrossIcon from "../../icons/CrossIcon";
import { ISlider } from "../../../types/slide";
-import { useState, useRef, useLayoutEffect, useContext } from "react";
+import {
+ useState,
+ useRef,
+ useLayoutEffect,
+ useContext,
+ useEffect,
+} from "react";
import LeftArrowSliderIcon from "../../icons/LeftArrowSliderIcon";
import RightArrowSliderIcon from "../../icons/RightArrowSliderIcon";
import { MobileModalWrapperContext } from "./MobileModalWrapper";
@@ -38,9 +44,9 @@ const tipsSlides: ISlider[] = [
const MobileHelpModal = () => {
const [imageWidth] = useState(0);
const imageRef = useRef
(null);
+ const { setIsAnimate } = useContext(MobileModalWrapperContext);
const [selectedImageIndex, setSelectedImageIndex] = useState(-1);
const [rightImageOffset, setRightImageOffset] = useState("");
- const { setIsAnimate } = useContext(MobileModalWrapperContext);
const { setModal } = useModal();
const handlers = useSwipeable({
@@ -48,6 +54,7 @@ const MobileHelpModal = () => {
onSwipedLeft: next,
onSwipedRight: prev,
});
+
const handleOnCloseClick = () => {
if (setIsAnimate) {
setIsAnimate(false);
@@ -62,7 +69,7 @@ const MobileHelpModal = () => {
const lastIndex = tipsSlides.length - 2;
if (selectedImageIndex === lastIndex) return;
- setSelectedImageIndex((prev) => prev + 1);
+ // setSelectedImageIndex((prev) => prev + 1);
}
function prev() {
@@ -70,20 +77,15 @@ const MobileHelpModal = () => {
setSelectedImageIndex((prev) => prev - 1);
}
- useLayoutEffect(() => {
- const gapOffset = 45;
+ // useLayoutEffect(() => {
+ // const gapOffset = 45;
- const _rightImageOffset = `${
- (selectedImageIndex + 1) * (imageWidth + gapOffset)
- }px`;
+ // const _rightImageOffset = `${
+ // (selectedImageIndex + 1) * (imageWidth + gapOffset)
+ // }px`;
- setRightImageOffset(_rightImageOffset);
- }, [
- imageWidth,
- selectedImageIndex,
- window.innerWidth,
- imageRef.current?.width,
- ]);
+ // setRightImageOffset(_rightImageOffset);
+ // }, [imageWidth, selectedImageIndex, imageRef?.current?.width]);
return (
{
@@ -26,7 +28,6 @@ const SearchFiltersModal = () => {
const {
multirangeSliders,
setMultirangeSliders,
- switchers,
setSwitchers,
apartmentTypeCheckboxes,
setApartmentTypeCheckboxes,
@@ -34,6 +35,8 @@ const SearchFiltersModal = () => {
setRoveHomeTypeCheckboxes,
setViewCheckboxes,
viewCheckboxes,
+ setPage,
+ setPerPage,
} = useSearchFilters();
const handlers = useSwipeable({
onSwipedDown: () => handleOnCrossClick(),
@@ -82,16 +85,16 @@ const SearchFiltersModal = () => {
setRoveHomeTypeCheckboxes(updatedCheckboxes);
};
- const handleOnSwitcherClick = (switcherId: string) => {
- const updatedSwitchers = switchers.map((switcher) => {
- if (switcherId !== switcher.id) return switcher;
- const { isSwitched } = switcher;
+ // const handleOnSwitcherClick = (switcherId: string) => {
+ // const updatedSwitchers = switchers.map((switcher) => {
+ // if (switcherId !== switcher.id) return switcher;
+ // const { isSwitched } = switcher;
- return { ...switcher, isSwitched: !isSwitched };
- });
+ // return { ...switcher, isSwitched: !isSwitched };
+ // });
- setSwitchers(updatedSwitchers);
- };
+ // setSwitchers(updatedSwitchers);
+ // };
const handleOnSliderValueChange = (
sliderId: string,
@@ -122,6 +125,8 @@ const SearchFiltersModal = () => {
setApartmentTypeCheckboxes(initialAparmentTypeCheckboxes);
setRoveHomeTypeCheckboxes(initialRoveHomeCheckboxes);
setSwitchers(initialSwitchers);
+ setPage(pageInitial);
+ setPerPage(perPageInitial);
};
return (
@@ -169,7 +174,7 @@ const SearchFiltersModal = () => {
{multirangeSliders.map((slider) => (
-
+
{slider.title}
@@ -184,14 +189,14 @@ const SearchFiltersModal = () => {
/>
))}
-
+ {/*
{switchers.map((switcher) => (
))}
-
+
*/}
{viewCheckboxes.map((checkbox) => (
diff --git a/client/src/components/modals/mobile/SendEnquiryMobileModal.tsx b/client/src/components/modals/mobile/SendEnquiryMobileModal.tsx
index 4ee004a..5ae1172 100644
--- a/client/src/components/modals/mobile/SendEnquiryMobileModal.tsx
+++ b/client/src/components/modals/mobile/SendEnquiryMobileModal.tsx
@@ -82,7 +82,7 @@ const SendEnquiryMobileModal = () => {
- Unvailiable
+ Unavailable
diff --git a/client/src/components/searchPage/LayoutOptions.tsx b/client/src/components/searchPage/LayoutOptions.tsx
index 48ee968..0fbe8b8 100644
--- a/client/src/components/searchPage/LayoutOptions.tsx
+++ b/client/src/components/searchPage/LayoutOptions.tsx
@@ -12,10 +12,7 @@ import { updateAccessToken } from "../../api/updateAccessToken";
import useApartments from "../../store/useApartments";
import useSearchFilters from "../../store/useSearchFilters";
import { useDebounce } from "@uidotdev/usehooks";
-import {
- perPageInitial,
- pageInitial,
-} from "../../consts/initialMasterplanFilters";
+import { perPageInitial } from "../../consts/initialMasterplanFilters";
import { getFilteredApartments } from "../../calc/getFilteredApartments";
import SearchLoader from "./SearchLoader";
@@ -37,6 +34,7 @@ const LayoutOptions = () => {
setPerPage,
perPage,
} = useSearchFilters();
+
const debouncedSliders = useDebounce(multirangeSliders, 300);
const handleOnSortClick = (sortId: string) => {
@@ -75,7 +73,7 @@ const LayoutOptions = () => {
switchers,
viewCheckboxes,
sortList,
- pageInitial,
+ page,
perPage
);
@@ -117,6 +115,7 @@ const LayoutOptions = () => {
viewCheckboxes,
sortList,
perPage,
+ page,
]);
return (
diff --git a/client/src/components/virtualTour/LabelMarker.tsx b/client/src/components/virtualTour/LabelMarker.tsx
index d7f5694..26958db 100644
--- a/client/src/components/virtualTour/LabelMarker.tsx
+++ b/client/src/components/virtualTour/LabelMarker.tsx
@@ -12,7 +12,14 @@ const LabelMarker = ({ sphereLink, apartment }: LaberlMarkerProps) => {
return (
<>
{
-
+
{sphereLink.type === "default" && (
)}
diff --git a/client/src/components/virtualTour/VideoMarker.tsx b/client/src/components/virtualTour/VideoMarker.tsx
index 3be26d5..68cf3d0 100644
--- a/client/src/components/virtualTour/VideoMarker.tsx
+++ b/client/src/components/virtualTour/VideoMarker.tsx
@@ -16,15 +16,16 @@ const VideoMarker = ({ sphereLink }: VideoMarkerProps) => {
};
return (
-
+
-
-
+
+
{sphereLink.videoTitle}
diff --git a/client/src/components/virtualTour/VirtualTourSidebar.tsx b/client/src/components/virtualTour/VirtualTourSidebar.tsx
index e124138..091f427 100644
--- a/client/src/components/virtualTour/VirtualTourSidebar.tsx
+++ b/client/src/components/virtualTour/VirtualTourSidebar.tsx
@@ -183,7 +183,7 @@ const VirtualTourSidebar = ({
- Unvailiable
+ Unavailable
@@ -337,7 +337,7 @@ const AboutComplex = () => {
609 Sqft
-
Unvailiable
+
Unavailable
![]()
{
891 Sqft
-
Unvailiable
+
Unavailable
{/* AED 2,408,888 */}
diff --git a/client/src/pages/Search.tsx b/client/src/pages/Search.tsx
index d4c6b73..a76b0a1 100644
--- a/client/src/pages/Search.tsx
+++ b/client/src/pages/Search.tsx
@@ -6,7 +6,6 @@ const Search = () => {
return (
- {/* */}
diff --git a/client/src/pages/VirtualTour.tsx b/client/src/pages/VirtualTour.tsx
index d7cb1f5..73befef 100644
--- a/client/src/pages/VirtualTour.tsx
+++ b/client/src/pages/VirtualTour.tsx
@@ -12,6 +12,7 @@ import { updateAccessToken } from "../api/updateAccessToken";
import { IAparmentRes } from "../types/apartmentsRes";
import useModal from "../store/useModal";
import LoaderModal from "../components/modals/LoaderModal";
+import { useProgress } from "@react-three/drei";
const appartments = _appartment as IAppartmentComplex[];
const defaultApartment = appartments[0];
@@ -26,6 +27,7 @@ const VirtualTour = () => {
const navigate = useNavigate();
const { appartmentTypeId } = useParams();
const { setModal } = useModal();
+ const { progress } = useProgress();
useEffect(() => {
setIsLoading(true);
@@ -100,11 +102,16 @@ const VirtualTour = () => {
appartmentSphere={currentAppartmentSphere}
apartment={currentApartment}
/>
-
);
diff --git a/client/src/types/marker.ts b/client/src/types/marker.ts
index f1d618a..aee8c05 100644
--- a/client/src/types/marker.ts
+++ b/client/src/types/marker.ts
@@ -3,6 +3,8 @@ import { MarkerComponentProps } from "react-image-marker";
type Marker = MarkerComponentProps & {
popup: string;
isPopupLeft: boolean;
+ imgSrc: string;
+ isDisabled: boolean;
};
export type { Marker };