From 249b5b0b978b56dc23ed5a5489353164e5f5346f Mon Sep 17 00:00:00 2001 From: Lanskikh Date: Thu, 22 May 2025 13:09:23 +0500 Subject: [PATCH] upd --- .env | 2 +- src/components/FloorSelect.tsx | 6 +- src/components/Footer.tsx | 18 +++--- src/components/Slider.tsx | 64 +++++++++++++--------- src/components/modals/UnitFiltersModal.tsx | 7 --- src/pages/SearchPage.tsx | 2 +- 6 files changed, 53 insertions(+), 46 deletions(-) delete mode 100644 src/components/modals/UnitFiltersModal.tsx diff --git a/.env b/.env index 9c07060..e9d4e84 100644 --- a/.env +++ b/.env @@ -1 +1 @@ -VITE_API_URL=http://192.168.1.170:3000 \ No newline at end of file +VITE_API_URL=http://194.26.138.94:4002 \ No newline at end of file diff --git a/src/components/FloorSelect.tsx b/src/components/FloorSelect.tsx index e82ce5b..62b0efd 100644 --- a/src/components/FloorSelect.tsx +++ b/src/components/FloorSelect.tsx @@ -56,11 +56,11 @@ function FloorSelect({ complexName }: { complexName: string }) { > {Object.entries( floorsMasks[complexName as keyof typeof floorsMasks] - ).map(([floor, d]) => ( + ).map(([floorTitle, d]) => ( setHoveredFloor(floor)} + onMouseEnter={() => setHoveredFloor(floorTitle)} onMouseLeave={() => setHoveredFloor(null)} - key={floor} + key={floorTitle} d={d} className="fill-[#00BED7] cursor-pointer transition-opacity duration-300 opacity-20 hover:opacity-60 peer" /> diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx index cca910a..6823077 100644 --- a/src/components/Footer.tsx +++ b/src/components/Footer.tsx @@ -4,23 +4,23 @@ import InstagramIcon from "./icons/InstagramIcon"; import FacebookIcon from "./icons/FacebookIcon"; import LinkedInIcon from "./icons/LinkedInIcon"; import TwitterIcon from "./icons/TwitterIcon"; -import ChevronDownIcon from "./icons/ChevronDownIcon"; +// import ChevronDownIcon from "./icons/ChevronDownIcon"; import { useFavoritesUnitsStore } from "../stores/useFavoritesUnitsStore"; -import { AnimatePresence, motion } from "motion/react"; -import { useState } from "react"; -import { BrochureButton } from "./Header"; -import clsx from "clsx"; -import { useClickAway } from "@uidotdev/usehooks"; -import Button from "./ui/Button"; +// import { AnimatePresence, motion } from "motion/react"; +// import { useState } from "react"; +// import { BrochureButton } from "./Header"; +// import clsx from "clsx"; +// import { useClickAway } from "@uidotdev/usehooks"; +// import Button from "./ui/Button"; import useModalStore from "../stores/useModalStore"; import PrivacyPolicyModal from "./modals/PrivacyPolicyModal"; function Footer() { const { favoriteUnits } = useFavoritesUnitsStore(); - const [opened, setOpened] = useState(false); + // const [opened, setOpened] = useState(false); - const ref = useClickAway(() => setOpened(false)); + // const ref = useClickAway(() => setOpened(false)); const { setModal } = useModalStore(); diff --git a/src/components/Slider.tsx b/src/components/Slider.tsx index 02963c9..2b63d31 100644 --- a/src/components/Slider.tsx +++ b/src/components/Slider.tsx @@ -1,13 +1,14 @@ -import { useEffect, useState } from 'react'; -import ArrowLeftIcon from './icons/ArrowLeftIcon'; -import ArrowRightIcon from './icons/ArrowRightIcon'; -import { dubaiMarinaSlider } from '../data/aboutDubaiMarina'; -import { AnimatePresence, motion } from 'motion/react'; +import { useEffect, useState } from "react"; +import ArrowLeftIcon from "./icons/ArrowLeftIcon"; +import ArrowRightIcon from "./icons/ArrowRightIcon"; +import { dubaiMarinaSlider } from "../data/aboutDubaiMarina"; +import { AnimatePresence, motion } from "motion/react"; +import { useSwipeable } from "react-swipeable"; function Slider({ categoryName, }: { - categoryName: 'Wellness' | 'Fitness' | 'Community' | 'Convenience'; + categoryName: "Wellness" | "Fitness" | "Community" | "Convenience"; }) { const [currentSlide, setCurrentSlide] = useState(0); const [direction, setDirection] = useState(-1); @@ -26,34 +27,47 @@ function Slider({ } }; + const handlers = useSwipeable({ + onSwipedLeft: handleNextSlide, + onSwipedRight: handlePreviousSlide, + preventScrollOnSwipe: true, + touchEventOptions: { + passive: false, + }, + trackMouse: true, + }); + useEffect(() => { setCurrentSlide(0); }, [categoryName]); return ( -
- +
+ 0 ? '100%' : '-100%' }} - animate={{ x: 0, transition: { duration: 0.5, ease: 'easeInOut' } }} + initial={{ x: direction > 0 ? "100%" : "-100%" }} + animate={{ x: 0, transition: { duration: 0.5, ease: "easeInOut" } }} exit={{ - x: direction > 0 ? '100%' : '-100%', - transition: { duration: 0.8, ease: 'easeInOut' }, + x: direction > 0 ? "100%" : "-100%", + transition: { duration: 0.8, ease: "easeInOut" }, }} /> -
-
- +
+
+ - +
-
+
- +
-
+
{currentSlide + 1}/{dubaiMarinaSlider[categoryName].length}
- +
diff --git a/src/components/modals/UnitFiltersModal.tsx b/src/components/modals/UnitFiltersModal.tsx deleted file mode 100644 index 5d131ba..0000000 --- a/src/components/modals/UnitFiltersModal.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import SearchFilters from "../SearchFilters"; - -function UnitFiltersModal() { - return ; -} - -export default UnitFiltersModal; diff --git a/src/pages/SearchPage.tsx b/src/pages/SearchPage.tsx index 0a28231..0cfceff 100644 --- a/src/pages/SearchPage.tsx +++ b/src/pages/SearchPage.tsx @@ -227,7 +227,7 @@ function SearchPage() { {showButtons && (