import { OrbitControls } from "@react-three/drei"; import { Fragment, useEffect, useRef } from "react"; import { OrbitControls as OrbitControlsImpl } from "three-stdlib"; import useCompass from "../../store/useCompass"; import SphereTour from "./SphereTour"; import { IAppartmentComplex } from "../../types/apartmentSphere"; import useSphere from "../../store/useSphere"; import LabelMarker from "./LabelMarker"; interface VirtualTourWrapperProps { appartment: IAppartmentComplex; } const VirtualTourWrapper = ({ appartment }: VirtualTourWrapperProps) => { const orbitRef = useRef(null); const { setCurrentCompassRotate } = useCompass(); const { selectedSphere, setSelectedSphere } = useSphere(); const handleOnRotating = () => { const radian = orbitRef.current?.getAzimuthalAngle(); if (radian) { const currentCompasDegrees = (radian * 180) / Math.PI + 180; setCurrentCompassRotate(currentCompasDegrees); } }; useEffect(() => { setSelectedSphere(appartment.spheres[0]); }, [appartment.spheres, setSelectedSphere]); return ( <> {appartment.spheres.map((sphere) => { const isLabelContains = selectedSphere && sphere.id === selectedSphere.id; return ( {isLabelContains && sphere.links.map((sphereLink) => ( ))} ); })} ); }; export default VirtualTourWrapper;