This commit is contained in:
2025-05-23 20:01:31 +05:00
parent 0341d28d2f
commit 549786b789
5 changed files with 57 additions and 59 deletions
+1 -1
View File
@@ -1,2 +1,2 @@
VITE_API_URL=http://localhost:4002 VITE_API_URL=http://192.168.1.170:4002
# VITE_API_URL=http://194.26.138.94:4002 # VITE_API_URL=http://194.26.138.94:4002
+23 -24
View File
@@ -94,32 +94,31 @@ function FloorSelect({ complexName }: { complexName: string }) {
))} ))}
</svg> </svg>
<Compass imgStyle={{ rotate: "180deg" }} /> <Compass imgStyle={{ rotate: "180deg" }} />
<div className="absolute flex 2xl:gap-[0.556vw] justify-between gap-2 2xl:left-[2.222vw] 2xl:right-[2.222vw] 2xl:top-[2.222vw] max-w-full md:max-2xl:left-6 md:max-2xl:right-6 md:max-2xl:top-6 left-4 right-4 top-4"> <Button
<Button variant="secondary"
variant="secondary" className="!bg-white absolute 2xl:left-[2.222vw] 2xl:top-[2.222vw] md:max-2xl:left-6 md:max-2xl:top-6 left-4 top-4"
className="!bg-white" onClick={() => navigate(`/complex/${complexName}`)}
onClick={() => navigate(`/complex/${complexName}`)} >
> <span className="2xl:w-[1.389vw] 2xl:h-[1.389vw] w-5 h-5">
<span className="2xl:w-[1.389vw] 2xl:h-[1.389vw] w-5 h-5"> <ArrowLeftIcon />
<ArrowLeftIcon /> </span>
</span> <span className="max-md:hidden">Project view</span>
<span className="max-md:hidden">Project view</span> </Button>
</Button> <Button
<Button variant="secondary"
variant="secondary" size="small"
size="small" onClick={() => navigate(`/complex/${complexName}/about`)}
onClick={() => navigate(`/complex/${complexName}/about`)} className="absolute 2xl:right-[2.222vw] 2xl:top-[2.222vw] md:max-2xl:right-6 md:max-2xl:top-6 right-4 top-4"
> >
<span className="2xl:w-[1.389vw] 2xl:h-[1.389vw] w-5 h-5"> <span className="2xl:w-[1.389vw] 2xl:h-[1.389vw] w-5 h-5">
<InfoIcon /> <InfoIcon />
</span> </span>
<span className="max-md:hidden">About</span> <span className="max-md:hidden">About</span>
</Button> </Button>
</div> <p className="absolute md:text-h4 text-h5 font-medium text-white -translate-x-1/2 select-none left-1/2 2xl:top-[2.5vw] md:max-2xl:top-[3.646vw] top-[7.5vw] drop-shadow pointer-events-none">
<p className="absolute md:text-h4 text-h5 font-medium text-white -translate-x-1/2 select-none left-1/2 2xl:top-[2.5vw] md:max-2xl:top-[3.646vw] top-[7.5vw] drop-shadow">
ROVE Home {markers.find((marker) => marker.name === complexName)?.title} ROVE Home {markers.find((marker) => marker.name === complexName)?.title}
</p> </p>
<div className="absolute 2xl:bottom-[2.222vw] 2xl:right-[2.222vw] 2xl:left-[2.222vw] max-w-full flex justify-end items-center 2xl:gap-[0.556vw] gap-2 md:max-2xl:bottom-6 md:max-2xl:left-6 md:max-2xl:right-6 bottom-4 left-4 right-4"> <div className="absolute 2xl:bottom-[2.222vw] 2xl:right-[2.222vw] max-w-full flex justify-end items-center 2xl:gap-[0.556vw] gap-2 md:max-2xl:bottom-6 md:max-2xl:right-6 bottom-4 right-4">
<DisclaimerButton /> <DisclaimerButton />
<PrivacyPolicyButton /> <PrivacyPolicyButton />
<FullScreenButton <FullScreenButton
+9 -9
View File
@@ -1,8 +1,8 @@
import { Dispatch, SetStateAction, useEffect } from 'react'; import { Dispatch, SetStateAction, useEffect } from "react";
import FullScreenIcon from './icons/FullScreenIcon'; import FullScreenIcon from "./icons/FullScreenIcon";
import Button from './ui/Button'; import Button from "./ui/Button";
import CloseFullscreenIcon from './icons/CloseFullscreenIcon'; import CloseFullscreenIcon from "./icons/CloseFullscreenIcon";
import { isMobileSafari } from 'react-device-detect'; import { isMobileSafari } from "react-device-detect";
interface IFullScreenProps { interface IFullScreenProps {
onFullScreenChange: Dispatch<SetStateAction<boolean>>; onFullScreenChange: Dispatch<SetStateAction<boolean>>;
@@ -17,12 +17,12 @@ function FullScreenButton({
}: IFullScreenProps) { }: IFullScreenProps) {
useEffect(() => { useEffect(() => {
onFullScreenChange(!!document.fullscreenElement); onFullScreenChange(!!document.fullscreenElement);
document.addEventListener('fullscreenchange', () => document.addEventListener("fullscreenchange", () =>
onFullScreenChange(!!document.fullscreenElement) onFullScreenChange(!!document.fullscreenElement)
); );
return () => return () =>
document.removeEventListener('fullscreenchange', () => document.removeEventListener("fullscreenchange", () =>
onFullScreenChange(!!document.fullscreenElement) onFullScreenChange(!!document.fullscreenElement)
); );
}, [onFullScreenChange]); }, [onFullScreenChange]);
@@ -30,8 +30,8 @@ function FullScreenButton({
if (isMobileSafari) return null; if (isMobileSafari) return null;
return ( return (
<Button onlyIcon size='small' variant='secondary' onClick={handleClick}> <Button onlyIcon size="small" variant="secondary" onClick={handleClick}>
<span className='2xl:w-[1.389vw] 2xl:h-[1.389vw] w-5 h-5'> <span className="2xl:w-[1.111vw] 2xl:h-[1.111vw] w-4 h-4">
{isFullScreen ? <CloseFullscreenIcon /> : <FullScreenIcon />} {isFullScreen ? <CloseFullscreenIcon /> : <FullScreenIcon />}
</span> </span>
</Button> </Button>
+23 -24
View File
@@ -191,29 +191,28 @@ function SequenceSlider({ complexName }: SequenceSliderProps) {
)} )}
{imageLoaded === FRAME_COUNT && ( {imageLoaded === FRAME_COUNT && (
<> <>
<div className="absolute flex 2xl:gap-[0.556vw] justify-between gap-2 2xl:left-[2.222vw] 2xl:right-[2.222vw] 2xl:top-[2.222vw] max-w-full md:max-2xl:left-6 md:max-2xl:right-6 md:max-2xl:top-6 left-4 right-4 top-4"> <Button
<Button variant="secondary"
variant="secondary" className="!bg-white absolute 2xl:left-[2.222vw] 2xl:top-[2.222vw] md:max-2xl:left-6 md:max-2xl:top-6 left-4 top-4"
className="!bg-white" onClick={() => navigate("/")}
onClick={() => navigate("/")} >
> <span className="2xl:w-[1.389vw] 2xl:h-[1.389vw] w-5 h-5">
<span className="2xl:w-[1.389vw] 2xl:h-[1.389vw] w-5 h-5"> <ArrowLeftIcon />
<ArrowLeftIcon /> </span>
</span> <span className="max-md:hidden">Map</span>
<span className="max-md:hidden">Map</span> </Button>
</Button> <Button
<Button variant="secondary"
variant="secondary" size="small"
size="small" onClick={() => navigate(`/complex/${complexName}/about`)}
onClick={() => navigate(`/complex/${complexName}/about`)} className="absolute 2xl:right-[2.222vw] 2xl:top-[2.222vw] md:max-2xl:right-6 md:max-2xl:top-6 right-4 top-4"
> >
<span className="2xl:w-[1.389vw] 2xl:h-[1.389vw] w-5 h-5"> <span className="2xl:w-[1.389vw] 2xl:h-[1.389vw] w-5 h-5">
<InfoIcon /> <InfoIcon />
</span> </span>
<span className="max-md:hidden">About</span> <span className="max-md:hidden">About</span>
</Button> </Button>
</div> <p className="absolute md:text-h4 text-h5 font-medium text-white -translate-x-1/2 select-none left-1/2 2xl:top-[2.5vw] md:max-2xl:top-[3.646vw] top-[7.5vw] drop-shadow pointer-events-none">
<p className="absolute md:text-h4 text-h5 font-medium text-white -translate-x-1/2 select-none left-1/2 2xl:top-[2.5vw] md:max-2xl:top-[3.646vw] top-[7.5vw] drop-shadow">
ROVE Home{" "} ROVE Home{" "}
{markers.find((marker) => marker.name === complexName)?.title} {markers.find((marker) => marker.name === complexName)?.title}
</p> </p>
@@ -248,7 +247,7 @@ function SequenceSlider({ complexName }: SequenceSliderProps) {
}deg)`, }deg)`,
}} }}
/> />
<div className="absolute 2xl:bottom-[2.222vw] 2xl:right-[2.222vw] 2xl:left-[2.222vw] max-w-full flex justify-end items-center 2xl:gap-[0.556vw] gap-2 md:max-2xl:bottom-6 md:max-2xl:left-6 md:max-2xl:right-6 bottom-4 left-4 right-4"> <div className="absolute 2xl:bottom-[2.222vw] 2xl:right-[2.222vw] max-w-full flex justify-end items-center 2xl:gap-[0.556vw] gap-2 md:max-2xl:bottom-6 md:max-2xl:right-6 bottom-4 right-4">
<DisclaimerButton /> <DisclaimerButton />
<PrivacyPolicyButton /> <PrivacyPolicyButton />
<FullScreenButton <FullScreenButton
+1 -1
View File
@@ -70,7 +70,7 @@ function MultiRangeSlider({
function handleMouseUp() { function handleMouseUp() {
setCurrent(null); setCurrent(null);
onChange(value); onChange(value.map(Math.ceil) as [number, number]);
} }
useEffect(() => { useEffect(() => {