BrowseExperiences.js 7.81 KB
import dynamic from "next/dynamic";
import Image from "next/image";
import { fadeIn, zoomIn, slideFromLeft, slideFromRight } from "../animationvariants.js";
import React from "react";
import { Button } from "react-bootstrap";
import { Swiper, SwiperSlide } from "swiper/react";

import { Navigation, Autoplay } from "swiper/modules";
import { motion } from "framer-motion";
// Import Swiper styles
import "swiper/css";
import "swiper/css/pagination";
import "swiper/css/navigation";
const BrowseExperiences = () => {
  
  const ListingData = [
    {
      image: "/images/Browse-Experiences/01.png",
      topRated: "Top Rated",
      title: "City Climb",
      discription: "Lorem ipsum dolor sit amet, consectetur adipiscing elit,",
      price: "200",
      offPrice: "40%",
      days: "For 1 Night",
      taxes: "Includes taxes & Fees"
    },
    {
      image: "/images/Browse-Experiences/02.png",
      topRated: "Top Rated",
      title: "City Climb",
      discription: "Lorem ipsum dolor sit amet, consectetur adipiscing elit,",
      price: "200",
      offPrice: "40%",
      days: "For 1 Night",
      taxes: "Includes taxes & Fees"
    },
    {
      image: "/images/Browse-Experiences/03.png",
      topRated: "Top Rated",
      title: "City Climb",
      discription: "Lorem ipsum dolor sit amet, consectetur adipiscing elit,",
      price: "200",
      offPrice: "40%",
      days: "For 1 Night",
      taxes: "Includes taxes & Fees"
    },
    {
      image: "/images/Browse-Experiences/04.png",
      topRated: "Top Rated",
      title: "City Climb",
      discription: "Lorem ipsum dolor sit amet, consectetur adipiscing elit,",
      price: "200",
      offPrice: "40%",
      days: "For 1 Night",
      taxes: "Includes taxes & Fees"
    },
    {
      image: "/images/Browse-Experiences/01.png",
      topRated: "Top Rated",
      title: "City Climb",
      discription: "Lorem ipsum dolor sit amet, consectetur adipiscing elit,",
      price: "200",
      offPrice: "40%",
      days: "For 1 Night",
      taxes: "Includes taxes & Fees"
    }
  ];

  return (
    <>
      <section className="browse-experiences-session">
        <div className="container">
          <div className="row">
            <div className="col-12">
              <div className="head-btn">
                <motion.div variants={slideFromRight(0.4)} initial={"hidden"} whileInView={"show"} viewport={{ once: false, amount: 0.2 }}>
                  <div className="head01">
                    <div className="title">Browse Experiences</div>
                    <h2>In New York</h2>
                  </div>
                </motion.div>
                <div className="view-all-btn">
                  <Button variant="primary">View All</Button>
                </div>
              </div>
            </div>
          </div>
          <div className="row">
            <div className="col-12">
              <div className="browse-experiences-carousal position-relative">
                <Swiper
                  slidesPerView={1}
                  // autoplay={{
                  //   delay: 2500,
                  //   disableOnInteraction: false
                  // }}
                  autoHeight={true}
                  navigation={{ nextEl: ".BrowseExperiences-left", prevEl: ".BrowseExperiences-right" }}
                  breakpoints={{
                    640: {
                      slidesPerView: 1,
                      spaceBetween: 20
                    },
                    768: {
                      slidesPerView: 2,
                      spaceBetween: 40
                    },
                    1024: {
                      slidesPerView: 4,
                      spaceBetween: 20
                    }
                  }}
                  modules={[Navigation, Autoplay]}
                  className="mySwiper01 mySwiper02"
                >
                  {ListingData &&
                    ListingData.map(data => {
                      return (
                        <SwiperSlide>
                        <motion.div
                            variants={zoomIn("left", 0.3)}
                            initial={"hidden"}
                            whileInView={"show"}
                            viewport={{ once: false, amount: 0.2 }}
                          >
                          <div className="browse-experiences-item">
                            <div className="img-wrapper">
                              <span className="image-container">
                                <Image layout="fill" alt="" className="image img-fluid" src={data.image} />
                              </span>
                              <div className="top-rated">{data.topRated}</div>
                            </div>
                            <div className="info">
                              <div className="top-name">
                                <div className="title">{data.title}</div>
                                <div className="rating-wishlist">
                                  <div className="rating">
                                    8.8
                                    <span className="image-container">
                                      <Image layout="fill" alt="" className="image img-fluid" src="/images/icons/star.svg" />
                                    </span>
                                  </div>
                                  <div className="wishlist">
                                    <span className="image-container">
                                      <Image layout="fill" alt="" className="image img-fluid" src="/images/icons/wishlist.svg" />
                                    </span>
                                  </div>
                                </div>
                              </div>
                              <div className="discription">
                                {data.discription} <a href="">Read More</a>
                              </div>
                              <div className="price">
                                ${data.price} <span className="off">{data.offPrice} OFF</span>
                              </div>
                              <div className="detail">
                                <div className="">{data.days}</div>
                                <div className="">{data.taxes}</div>
                              </div>
                              <div className="explore-now">
                                <Button href="/listing" variant="primary">Explore Now</Button>
                              </div>
                            </div>
                          </div>
                          </motion.div>
                        </SwiperSlide>
                      );
                    })}
                </Swiper>
                <div className="swiper-nav">
                  <div className="navbutton d-flex justify-content-between ">
                    <button className="BrowseExperiences-right arrow">
                      <span className="image-container">
                        <Image layout="fill" alt="" className="image img-fluid" src="/images/icons/arrow-left.svg" />
                      </span>
                    </button>
                    <button className="BrowseExperiences-left arrow">
                      <span className="image-container">
                        <Image layout="fill" alt="" className="image img-fluid" src="/images/icons/arrow-right.svg" />
                      </span>
                    </button>
                  </div>
                </div>
              </div>
            </div>
          </div>
          <div className="row">
            <div className="col-12">
              <div className="btn-center">
                <Button variant="outline-secondary">Sign In for Member Price</Button>
              </div>
            </div>
          </div>
        </div>
      </section>
    </>
  );
};

export default BrowseExperiences;