upd
This commit is contained in:
@@ -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
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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(() => {
|
||||||
|
|||||||
Reference in New Issue
Block a user