Blame view

components/home/Testimonial.js 5.93 KB
Ravindra Kanojiya committed
1
import Image from "next/image";
Ravindra Kanojiya committed
2
import React, { useState } from "react";
Ravindra Kanojiya committed
3 4 5 6

import { Swiper, SwiperSlide } from "swiper/react";

import { Navigation, Autoplay } from "swiper/modules";
Ravindra Kanojiya committed
7 8
import StarRatings from 'react-star-ratings';

Ravindra Kanojiya committed
9 10 11 12 13 14 15
import { fadeIn, zoomIn, slideFromLeft, slideFromRight } from "../animationvariants.js";
import { motion } from "framer-motion";
// Import Swiper styles
import "swiper/css";
import "swiper/css/pagination";
import "swiper/css/navigation";

16
const Testimonial = ({ testimonial }) => {
Ravindra Kanojiya committed
17 18 19 20 21
  const [rating, setRating] = useState(0);

  const handleRatingChange = (newRating) => {
    setRating(newRating);
  };
Ravindra Kanojiya committed
22 23 24 25 26 27
  return (
    <>
      <section className="testimonial-session">
        <div className="container">
          <div className="row">
            <div className="col-12">
Ravindra Kanojiya committed
28
              <div className="testimonial-carousal position-relative">
29
                <Swiper
Ravindra Kanojiya committed
30 31 32 33 34 35 36 37 38 39
                  slidesPerView={1}
                  autoplay={{
                    delay: 9000,
                    disableOnInteraction: false
                  }}
                  autoHeight={true}
                  spaceBetween={10}
                  navigation={{ nextEl: ".testimonial-arrow-left", prevEl: ".testimonial-arrow-right" }}
                  modules={[Navigation, Autoplay]}
                  className="mySwiper01 mySwiper02"
Ravindra Kanojiya committed
40
                >
41 42
                  {testimonial?.data &&
                    testimonial?.data.map((data, index) => {
Ravindra Kanojiya committed
43
                      return (
Ravindra Kanojiya committed
44
                        <SwiperSlide>
45 46 47
                          <motion.div variants={zoomIn("left", 0.3)} initial={"hidden"} whileInView={"show"} viewport={{ once: false, amount: 0.2 }}>
                            <div className="testimonial-item">
                              <div className="img">
Ravindra Kanojiya committed
48
                                <span className="image-container">
49
                                  <Image layout="fill" alt="" className="image img-fluid" src="/images/testimonial/01.png" />
Ravindra Kanojiya committed
50
                                </span>
51 52
                              </div>
                              <div className="rating">
Ravindra Kanojiya committed
53 54 55 56 57 58 59 60 61 62 63
                              <StarRatings
                                rating={rating}
                                starRatedColor="yellow" // Set the rated color to yellow
                                starHoverColor="yellow" // Set the hover color to yellow
                                changeRating={handleRatingChange}
                                numberOfStars={5}
                                name='rating'
                                starDimension="16px" // Set star width and height
                              />
                              {/* <p>You rated this: {rating} stars</p> */}
                                {/* <a href="">
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
                                  <span className="image-container">
                                    <Image layout="fill" className="image img-fluid" alt="" src="/images/icons/star.svg" />
                                  </span>
                                </a>
                                <a href="">
                                  <span className="image-container">
                                    <Image layout="fill" className="image img-fluid" alt="" src="/images/icons/star.svg" />
                                  </span>
                                </a>
                                <a href="">
                                  <span className="image-container">
                                    <Image layout="fill" className="image img-fluid" alt="" src="/images/icons/star.svg" />
                                  </span>
                                </a>
                                <a href="">
                                  <span className="image-container">
                                    <Image layout="fill" className="image img-fluid" alt="" src="/images/icons/star.svg" />
                                  </span>
                                </a>
                                <a href="">
                                  <span className="image-container">
                                    <Image layout="fill" className="image img-fluid" alt="" src="/images/icons/star.svg" />
                                  </span>
Ravindra Kanojiya committed
87
                                </a> */}
88
                                {/* <a href="">
Ravindra Kanojiya committed
89 90 91 92
                            <span className='fa fa-star'>
                                <Image layout='fill' alt='' src="/images/icons/star.svg" />
                            </span>
                        </a> */}
93 94 95
                              </div>
                              <div className="disc">{data?.attributes?.description}</div>
                              <div className="name">{data?.attributes?.title}</div>
Ravindra Kanojiya committed
96
                            </div>
Ravindra Kanojiya committed
97
                          </motion.div>
98
                        </SwiperSlide>
Ravindra Kanojiya committed
99 100
                      );
                    })}
Ravindra Kanojiya committed
101 102
                </Swiper>
                <div className="swiper-nav">
103
                  <div className="navbutton d-flex  justify-content-between justify-content-md-between ">
Ravindra Kanojiya committed
104
                    <button className="testimonial-arrow-right arrow" id="testimonial-arrow-right" aria-label="testimonial-arrow-right">
Ravindra Kanojiya committed
105 106 107 108
                      <span className="image-container">
                        <Image layout="fill" alt="" className="image img-fluid" src="/images/icons/arrow-left.svg" />
                      </span>
                    </button>
Ravindra Kanojiya committed
109
                    <button className="testimonial-arrow-left arrow" id="testimonial-arrow-left" aria-label="testimonial-arrow-left">
Ravindra Kanojiya committed
110 111 112 113 114 115
                      <span className="image-container">
                        <Image layout="fill" alt="" className="image img-fluid" src="/images/icons/arrow-right.svg" />
                      </span>
                    </button>
                  </div>
                </div>
Ravindra Kanojiya committed
116 117 118 119 120 121 122 123 124 125
              </div>
            </div>
          </div>
        </div>
      </section>
    </>
  );
};

export default Testimonial;