diff --git a/src/app/page.tsx b/src/app/page.tsx index afe28f0..68e8b98 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -27,7 +27,6 @@ export default function App() {
-
@@ -48,7 +47,6 @@ export default function App() {
-
); diff --git a/src/components/ExcursionVR.tsx b/src/components/ExcursionVR.tsx index ac2e5f3..ebf34de 100644 --- a/src/components/ExcursionVR.tsx +++ b/src/components/ExcursionVR.tsx @@ -1,3 +1,5 @@ +import { useInView } from "react-intersection-observer"; +import { useState, useEffect } from "react"; import useModalStore from "@stores/useModalStore"; import Button from "./Button"; import Heading2 from "./Headings/Heading2"; @@ -6,11 +8,22 @@ import FeedbackModal from "./modals/FeedbackModal"; /* eslint-disable @next/next/no-img-element */ const ExcursionVR = () => { const [setModal] = useModalStore((state) => [state.setModal]); + const [isViewportEntered, setIsViewportEntered] = useState(false); + const { ref, inView } = useInView(); + + useEffect(() => { + if (!inView || isViewportEntered) return; + + setIsViewportEntered(true); + }, [inView]); const handleBtnClick = () => setModal(); return ( -
+
@@ -40,13 +53,13 @@ const ExcursionVR = () => { оценить и ощутить пространство

);