Explore.js
5.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
import Link from "next/link";
import React from "react";
import { Col, Container, Row } from "react-bootstrap";
import Image from "next/image"; // ✅ MISSING IMPORT
import Heading from "@/components/Heading";
import { cleanImage } from "../services/imageHandling";
import { Swiper, SwiperSlide } from "swiper/react";
import "swiper/css";
import "swiper/css/navigation";
import "swiper/css/pagination";
import { Autoplay, Navigation, Pagination } from "swiper/modules";
const exploreData = [
{
id: 1,
image: "/image/explore/01.png",
name: "ABS",
slug: "abs",
},
{
id: 2,
image: "/image/explore/02.png",
name: "Laminate",
slug: "laminate",
},
];
const Explore = ({productData}) => {
return (
<section className="explore-section sec_padd collection-section">
<Container className="custom_container">
<Row className="text-center justify-content-center">
<Col md={8}>
<Heading el="h2" heading={productData?.title} />
</Col>
</Row>
<Row>
<Col md={12} className="position-relative explore-swiper">
<Swiper
slidesPerView={4}
spaceBetween={30}
pagination={{ clickable: true }}
// autoplay={{ delay: 5000, disableOnInteraction: false }}
autoplay={false}
speed={1000}
loop={true}
// pagination={{ clickable: true }}
navigation={{
nextEl: ".cust-swiper-button-next",
prevEl: ".cust-swiper-button-prev",
}}
modules={[Navigation, Autoplay, Pagination]}
className="projectSwiper pb-1"
breakpoints={{
320: { slidesPerView: 1, spaceBetween: 15 },
640: { slidesPerView: 2, spaceBetween: 20 },
992: { slidesPerView: 2, spaceBetween: 25 },
1200: { slidesPerView: 2, spaceBetween: 30 },
}}
>
{productData?.item?.map((item, index) => (
<SwiperSlide key={index}>
<div className="collections-item">
<Link href={`/collections/${item.slug}`} className="d-block">
<Image
src={cleanImage(item.image.url)}
width={868}
height={560}
alt={item.name}
className="img-fluid"
/>
<div className="title">{item?.title}</div>
</Link>
</div>
</SwiperSlide>
))}
</Swiper>
{/* Swiper buttons outside container */}
<div className="position-absolute swiperbtn1 d-lg-flex justify-content-center justify-content-md-between align-items-center w-100 d-none">
{/* Attach refs to buttons */}
<button className="cust-swiper-button-prev">
<svg
xmlns="http://www.w3.org/2000/svg"
width="48"
height="48"
viewBox="0 0 48 48"
fill="none"
>
<rect
y="48"
width="48"
height="48"
rx="24"
transform="rotate(-90 0 48)"
fill="white"
fill-opacity="0.25"
/>
<rect
x="0.5"
y="47.5"
width="47"
height="47"
rx="23.5"
transform="rotate(-90 0.5 47.5)"
stroke="black"
stroke-opacity="0.2"
/>
<path
d="M20.6667 31L22.4375 29.1406L18.7917 25.3125H34V22.6875H18.7917L22.4375 18.8594L20.6667 17L14 24L20.6667 31Z"
fill="black"
/>
</svg>
</button>
<button className="cust-swiper-button-next">
<svg
xmlns="http://www.w3.org/2000/svg"
width="48"
height="48"
viewBox="0 0 48 48"
fill="none"
>
<rect
width="48"
height="48"
rx="24"
transform="matrix(0 -1 -1 0 48 48)"
fill="white"
fill-opacity="0.25"
/>
<rect
x="-0.5"
y="-0.5"
width="47"
height="47"
rx="23.5"
transform="matrix(0 -1 -1 0 47 47)"
stroke="black"
stroke-opacity="0.2"
/>
<path
d="M27.3333 31L25.5625 29.1406L29.2083 25.3125H14V22.6875H29.2083L25.5625 18.8594L27.3333 17L34 24L27.3333 31Z"
fill="black"
/>
</svg>
</button>
</div>
</Col>
</Row>
{/* <Row>
<Col>
<div className="text-center">
<button className="btn3">View More <i className="fa-solid fa-arrow-right"></i></button>
</div>
</Col>
</Row> */}
</Container>
</section>
);
};
export default Explore;