"use client"; import { Carousel, CarouselContent, CarouselItem, } from "@/components/ui/carousel"; import { useEffect, useState } from "react"; import { RiArrowLeftLine, RiArrowRightLine } from "react-icons/ri"; import Autoplay from "embla-carousel-autoplay"; import { userSignUpData } from "@/redux/reducer/authSlice"; import { useSelector } from "react-redux"; import CustomLink from "@/components/Common/CustomLink"; import { getIsRtl } from "@/redux/reducer/languageSlice"; import CustomImage from "@/components/Common/CustomImage"; const OfferSlider = ({ Slider }) => { const [api, setApi] = useState(); const [current, setCurrent] = useState(0); const userData = useSelector(userSignUpData); const isRTL = useSelector(getIsRtl); useEffect(() => { if (!api) { return; } setCurrent(api.selectedScrollSnap()); api.on("select", () => { setCurrent(api.selectedScrollSnap()); }); }, [api]); return (
{Slider.map((ele, index) => { let href; if (ele?.model_type === "App\\Models\\Item") { if (userData && userData?.id === ele?.model?.user_id) { href = `/my-listing/${ele?.model?.slug}`; } else { href = `/ad-details/${ele?.model?.slug}`; } } else if (ele?.model_type === null) { href = ele?.third_party_link; } else if (ele?.model_type === "App\\Models\\Category") { href = `/ads?category=${ele.model.slug}`; } else { href = "/"; } // First 2 images load with eager loading and priority for Lighthouse performance const isPriorityImage = index < 2; return ( ); })} {Slider && Slider?.length > 1 && ( <> )}
); }; export default OfferSlider;