HomeBanner.js 3.12 KB
import React, { useState, useEffect } from "react";
import { Swiper, SwiperSlide } from "swiper/react";
import "swiper/css";
import "swiper/css/navigation";
import "swiper/css/pagination";
import { Navigation, Pagination, Autoplay } from "swiper/modules";
import SwiperBtn from "@/components/Layout/SwiperBtn";
import { cleanImage } from "@/components/services/imageHandling";
import Link from "next/link";

// const BannerData = [
//   {
//     desktopImage: "/image/banner/banner1.png",
//     mobileImage: "/image/banner/mb2.png",
//     title: "KITCHENS",
//     description:
//       "Transform your cooking space into a modern kitchen oasis. With sleek cabinetry and state-of-the-art appliances, you can create a functional yet stylish environment.",
//       url:""
//   },
//   {
//     desktopImage: "/image/banner/banner1.png",
//     mobileImage: "/image/banner/mb2.png",
//     title: "LIVING ROOMS",
//     description:
//       "Experience comfort and elegance in your living space. Designed with premium furniture and modern décor to elevate your lifestyle.",
//       url:""
//   },
//   {
//     desktopImage: "/image/banner/banner1.png",
//     mobileImage: "/image/banner/mb2.png",
//     title: "BEDROOMS",
//     description:
//       "Create your dream retreat with cozy and stylish bedroom designs. A perfect balance of comfort, elegance, and tranquility.",
//       url:""
//   },
// ];

const HomeBanner = ({banner}) => {
  const [isMobile, setIsMobile] = useState(false);

  // Detect screen width
  useEffect(() => {
    const handleResize = () => setIsMobile(window.innerWidth <= 767);
    handleResize();
    window.addEventListener("resize", handleResize);
    return () => window.removeEventListener("resize", handleResize);
  }, []);

  return (
    <Swiper
      navigation={{
        nextEl: ".cust-swiper-button-next",
        prevEl: ".cust-swiper-button-prev",
      }}
      pagination={{ clickable: true }}
      autoplay={false}
      // autoplay={{ delay: 5000, disableOnInteraction: false, }}
      loop
      modules={[Navigation, Pagination, Autoplay]}
      className="homeBannerSwiper"
    >
      <div className="position-absolute swiperbtn1 d-lg-flex d-none  justify-content-md-between  wrapper-full align-items-center w-100">
        <SwiperBtn />
      </div>

      {banner?.map((item, index) => (
        <SwiperSlide key={index}>
          <div className="slide-container">
            <img
              src={cleanImage(isMobile ? item?.mobileBanner?.url : item.desktopBanner?.url)}
              alt={item.title}
              className="slide-bg"
            />
            <div className="slide-overlay">
              <div className="slide-content">
                <h2>{item.title}</h2>
                <div className="text-btn-row">
                  <div className="banner-title" dangerouslySetInnerHTML={{__html:item?.description}}></div>
                  <Link href={item?.url || "#"} className="btn1">Explore More <i className="fa-solid fa-arrow-right"></i></Link>
                </div>
              </div>
            </div>
          </div>
        </SwiperSlide>
      ))}
    </Swiper>
  );
};

export default HomeBanner;