diff --git a/public/images/Dvor/Panoram_Dvor.0000.jpg b/public/images/Dvor/Panoram_Dvor.0000.jpg new file mode 100644 index 0000000..b8840a6 Binary files /dev/null and b/public/images/Dvor/Panoram_Dvor.0000.jpg differ diff --git a/public/images/Dvor/Panoram_Dvor.0001.jpg b/public/images/Dvor/Panoram_Dvor.0001.jpg index b8840a6..71dfcf1 100644 Binary files a/public/images/Dvor/Panoram_Dvor.0001.jpg and b/public/images/Dvor/Panoram_Dvor.0001.jpg differ diff --git a/public/images/Dvor/Panoram_Dvor.0002.jpg b/public/images/Dvor/Panoram_Dvor.0002.jpg index 71dfcf1..5d2fa3d 100644 Binary files a/public/images/Dvor/Panoram_Dvor.0002.jpg and b/public/images/Dvor/Panoram_Dvor.0002.jpg differ diff --git a/public/images/Dvor/Panoram_Dvor.0003.jpg b/public/images/Dvor/Panoram_Dvor.0003.jpg index 5d2fa3d..120917b 100644 Binary files a/public/images/Dvor/Panoram_Dvor.0003.jpg and b/public/images/Dvor/Panoram_Dvor.0003.jpg differ diff --git a/public/images/Hall/NKS_360_Hall00.jpg b/public/images/Hall/NKS_360_Hall00.jpg deleted file mode 100644 index 3143012..0000000 Binary files a/public/images/Hall/NKS_360_Hall00.jpg and /dev/null differ diff --git a/public/images/Hall/NKS_360_Hall01.jpg b/public/images/Hall/NKS_360_Hall01.jpg deleted file mode 100644 index 4e28320..0000000 Binary files a/public/images/Hall/NKS_360_Hall01.jpg and /dev/null differ diff --git a/public/images/Hall/NKS_360_Hall02.jpg b/public/images/Hall/NKS_360_Hall02.jpg deleted file mode 100644 index 71885d7..0000000 Binary files a/public/images/Hall/NKS_360_Hall02.jpg and /dev/null differ diff --git a/public/images/Hall/NKS_360_Hall03.jpg b/public/images/Hall/NKS_360_Hall03.jpg deleted file mode 100644 index e23a2f4..0000000 Binary files a/public/images/Hall/NKS_360_Hall03.jpg and /dev/null differ diff --git a/public/images/Hall/NKS_360_Hall04.jpg b/public/images/Hall/NKS_360_Hall04.jpg deleted file mode 100644 index a9722ba..0000000 Binary files a/public/images/Hall/NKS_360_Hall04.jpg and /dev/null differ diff --git a/public/images/Hall/NKS_360_Hall05.jpg b/public/images/Hall/NKS_360_Hall05.jpg deleted file mode 100644 index 7d59c26..0000000 Binary files a/public/images/Hall/NKS_360_Hall05.jpg and /dev/null differ diff --git a/public/images/Hall/NKS_360_Lobby_0.jpg b/public/images/Hall/NKS_360_Lobby_0.jpg new file mode 100644 index 0000000..ee948444 Binary files /dev/null and b/public/images/Hall/NKS_360_Lobby_0.jpg differ diff --git a/public/images/Hall/NKS_360_Lobby_1.jpg b/public/images/Hall/NKS_360_Lobby_1.jpg new file mode 100644 index 0000000..c58a6f7 Binary files /dev/null and b/public/images/Hall/NKS_360_Lobby_1.jpg differ diff --git a/public/images/Hall/NKS_360_Lobby_2.jpg b/public/images/Hall/NKS_360_Lobby_2.jpg new file mode 100644 index 0000000..8a1090a Binary files /dev/null and b/public/images/Hall/NKS_360_Lobby_2.jpg differ diff --git a/public/images/Hall/NKS_360_Lobby_3.jpg b/public/images/Hall/NKS_360_Lobby_3.jpg new file mode 100644 index 0000000..7183c88 Binary files /dev/null and b/public/images/Hall/NKS_360_Lobby_3.jpg differ diff --git a/public/images/Hall/NKS_360_Lobby_4.jpg b/public/images/Hall/NKS_360_Lobby_4.jpg new file mode 100644 index 0000000..a694d46 Binary files /dev/null and b/public/images/Hall/NKS_360_Lobby_4.jpg differ diff --git a/public/images/Hall/NKS_360_Lobby_5.jpg b/public/images/Hall/NKS_360_Lobby_5.jpg new file mode 100644 index 0000000..420c8e6 Binary files /dev/null and b/public/images/Hall/NKS_360_Lobby_5.jpg differ diff --git a/public/images/NizDvor/NKS_360_NizDvor00.jpg b/public/images/NizDvor/NKS_360_NizDvor00.jpg new file mode 100644 index 0000000..051f89b Binary files /dev/null and b/public/images/NizDvor/NKS_360_NizDvor00.jpg differ diff --git a/public/images/NizDvor/NKS_360_NizDvor01.jpg b/public/images/NizDvor/NKS_360_NizDvor01.jpg new file mode 100644 index 0000000..72d41e9 Binary files /dev/null and b/public/images/NizDvor/NKS_360_NizDvor01.jpg differ diff --git a/public/images/NizDvor/NKS_360_NizDvor02.jpg b/public/images/NizDvor/NKS_360_NizDvor02.jpg new file mode 100644 index 0000000..e2c1a10 Binary files /dev/null and b/public/images/NizDvor/NKS_360_NizDvor02.jpg differ diff --git a/public/images/NizDvor/NKS_360_NizDvor03.jpg b/public/images/NizDvor/NKS_360_NizDvor03.jpg new file mode 100644 index 0000000..f150def Binary files /dev/null and b/public/images/NizDvor/NKS_360_NizDvor03.jpg differ diff --git a/public/images/NizDvor/NKS_360_NizDvor04.jpg b/public/images/NizDvor/NKS_360_NizDvor04.jpg new file mode 100644 index 0000000..1fbca69 Binary files /dev/null and b/public/images/NizDvor/NKS_360_NizDvor04.jpg differ diff --git a/public/images/NizDvor/NKS_360_NizDvor05.jpg b/public/images/NizDvor/NKS_360_NizDvor05.jpg new file mode 100644 index 0000000..e23470a Binary files /dev/null and b/public/images/NizDvor/NKS_360_NizDvor05.jpg differ diff --git a/public/images/NizDvor/NKS_360_NizDvor06.jpg b/public/images/NizDvor/NKS_360_NizDvor06.jpg new file mode 100644 index 0000000..4ba0fb4 Binary files /dev/null and b/public/images/NizDvor/NKS_360_NizDvor06.jpg differ diff --git a/src/assets/react.svg b/src/assets/react.svg deleted file mode 100644 index 6c87de9..0000000 --- a/src/assets/react.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/components/Button.tsx b/src/components/Button.tsx index b0e4b3f..3ddd27b 100644 --- a/src/components/Button.tsx +++ b/src/components/Button.tsx @@ -19,7 +19,13 @@ function Button({ }`} onClick={onClick} > - {icon} + + {icon} + {text} ); diff --git a/src/components/InfrastructurePage/InfrastructureFilters.tsx b/src/components/InfrastructurePage/InfrastructureFilters.tsx index edc5704..fcbdb86 100644 --- a/src/components/InfrastructurePage/InfrastructureFilters.tsx +++ b/src/components/InfrastructurePage/InfrastructureFilters.tsx @@ -16,7 +16,7 @@ const InfrastructureFilters = ({ selectedRange, marks, }: InfrastructureFiltersProps) => { - const [filter, setFilter] = useState(""); + const [filter, setFilter] = useState("shop"); function handleOnFilterClick( event: React.MouseEvent ): void { @@ -34,7 +34,6 @@ const InfrastructureFilters = ({ const filteredMarks = marks.filter( (mark) => mark.icon === filter && mark.distance <= selectedRange ); - console.log("filteredMarks", filteredMarks); setFilteredMarks(filteredMarks); }, [selectedRange, filter, marks, setFilteredMarks]); @@ -42,9 +41,12 @@ const InfrastructureFilters = ({ return ( <>
-

Инфраструктура

-

Окружение:

-
+ {/*

*/} +

Инфраструктура

+ {/*

Окружение:

*/} +

Окружение:

+ {/*
*/} +
{environments.map((env) => ( ))}
-
-

Транспорт:

+
+

Транспорт:

{transports.map((trans) => (
+
+
); diff --git a/src/pages/MainPage.tsx b/src/pages/MainPage.tsx index fddf14f..e785727 100644 --- a/src/pages/MainPage.tsx +++ b/src/pages/MainPage.tsx @@ -1,9 +1,36 @@ +import { useNavigate } from "react-router-dom"; +import Button from "../components/Button"; import SequenceSlider from "../components/SequenceSlider"; +import InfrastructureIcon from "../components/icons/InfrastructureIcon"; +import ParkIcon from "../components/icons/ParkIcon"; +import StylobateIcon from "../components/icons/StylobateIcon"; function MainPage() { + const navigate = useNavigate(); + return (
+ +
+
+
+
); } diff --git a/src/pages/VirtualTour2Page.tsx b/src/pages/VirtualTour2Page.tsx new file mode 100644 index 0000000..32f152d --- /dev/null +++ b/src/pages/VirtualTour2Page.tsx @@ -0,0 +1,113 @@ +import { Canvas } from "@react-three/fiber"; +import { Html, OrbitControls } from "@react-three/drei"; +import { Suspense, useRef, useState } from "react"; +import { OrbitControls as OrbitControlsImpl } from "three-stdlib"; +import { useFullscreen } from "ahooks"; +import SphereTour from "../components/SphereTour"; +import PointButton from "../components/PointButton"; +import WalkIcon from "../components/icons/WalkIcon"; +import Button from "../components/Button"; +import ArrowLeftIcon from "../components/icons/ArrowLeftIcon"; +import FullscreenIcon from "../components/icons/FullscreenIcon"; +import WindowModeIcon from "../components/icons/WindowModeIcon"; +import _images from "../images2.json"; +import Image from "../types/Image"; +import ElevatorIcon from "../components/icons/ElevatorIcon"; +import Loader from "../components/Loader"; +import { useNavigate } from "react-router-dom"; +import { isIOS } from "react-device-detect"; + +const images = _images as Image[]; + +function VirtualTour2Page() { + const [selectedImageId, setSelectedImageId] = useState(images[0].id); + const orbitRef = useRef(null); + const fullscreenRef = useRef(null); + const [isFullscreen, { toggleFullscreen }] = useFullscreen(fullscreenRef); + const navigate = useNavigate(); + + function handleSelectImageId(toId: string) { + setSelectedImageId(toId); + console.log(toId); + } + + return ( +
+
+
+ + {!isIOS && ( +
+
+ )} + + + }> + + + {images.map((image) => ( + <> + {/* */} + + {image.id === selectedImageId && + image.links?.map((link, index) => ( + image.id === link.toId)?.position + } + center + > + image.id === link.toId)?.icon === + "Elevator" ? ( + + ) : ( + + ) + } + label={link.label} + onClick={() => handleSelectImageId(link.toId)} + /> + + ))} + + ))} + + {images.map((image) => ( + + ))} + + image.id === selectedImageId)?.position + } + /> + + +
+ ); +} + +export default VirtualTour2Page; diff --git a/src/pages/VirtualTourPage.tsx b/src/pages/VirtualTourPage.tsx index 4ef48d0..cb98806 100644 --- a/src/pages/VirtualTourPage.tsx +++ b/src/pages/VirtualTourPage.tsx @@ -14,6 +14,8 @@ import _images from "../images.json"; import Image from "../types/Image"; import ElevatorIcon from "../components/icons/ElevatorIcon"; import Loader from "../components/Loader"; +import { useNavigate } from "react-router-dom"; +import { isIOS } from "react-device-detect"; const images = _images as Image[]; @@ -22,6 +24,7 @@ function VirtualTourPage() { const orbitRef = useRef(null); const fullscreenRef = useRef(null); const [isFullscreen, { toggleFullscreen }] = useFullscreen(fullscreenRef); + const navigate = useNavigate(); function handleSelectImageId(toId: string) { setSelectedImageId(toId); @@ -30,43 +33,26 @@ function VirtualTourPage() { return (
-
-
- {selectedImageId.includes("Dvor") && ( - <> -

- Внутренний -
- двор -

- - - )} - {selectedImageId.includes("Lobby_1") && ( - <> -

Лобби

- - - )} - {selectedImageId.includes("Lobby_2") && ( - <> -

Лобби

- - - )} -
-
- -
+
- + {!isIOS && ( +
+
+ )} + + }>