import { useEffect, useState } from "react"; import { SwipeEventData, useSwipeable } from "react-swipeable"; import ButtonSwipperIcon from "../../../icons/ButtonSwipperIcon"; import { Parameters as ParametersType } from "../../../types/appartment"; import Parameters from "./Parameters"; // import LayoutSlider from "./LayoutSlider"; // import LayoutSlider from "./ImageSlider"; import LayoutSlider from "./LayoutSlider"; import ImageSlider from "./ImageSlider"; import ViewToggle from "../../ViewToggle"; type ViewControllerModalProps = { parameters: ParametersType; }; const ViewControllerModal = ({ parameters }: ViewControllerModalProps) => { const { sliders } = parameters; const [offset, setOffset] = useState(1); const [isTouchable, setIsTouchable] = useState(true); const [scrollY, setScrollY] = useState(0); useEffect(() => { if (offset === 1 || scrollY === 0) { setIsTouchable(true); } else { setIsTouchable(false); } }, [scrollY, offset]); const handleOnSwiped = (eventData: SwipeEventData) => { if (eventData.dir === "Down") { setOffset(1); } if (eventData.dir === "Up") { setOffset(0); } }; const handleOnBackClick = () => { setOffset(1); }; const handleOnScroll = (event: React.UIEvent) => { setScrollY(event.currentTarget.scrollTop); }; const handlers = useSwipeable({ onSwiped: handleOnSwiped, preventScrollOnSwipe: offset === 1, trackTouch: isTouchable, }); return (
); }; export default ViewControllerModal;