summaryrefslogtreecommitdiff
path: root/src/pages/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages/index.js')
-rw-r--r--src/pages/index.js51
1 files changed, 50 insertions, 1 deletions
diff --git a/src/pages/index.js b/src/pages/index.js
index b91c99e7..899626f5 100644
--- a/src/pages/index.js
+++ b/src/pages/index.js
@@ -1,12 +1,61 @@
import { useEffect, useState } from "react";
+import { LazyLoadImage } from "react-lazy-load-image-component";
+import { Swiper, SwiperSlide } from "swiper/react";
+import { Pagination, Autoplay } from "swiper";
import Header from "../components/Header";
+import { getOdoo } from "../helpers/apiOdoo";
+import "react-lazy-load-image-component/src/effects/blur.css";
+
+import "swiper/css";
+import "swiper/css/pagination";
+import "swiper/css/autoplay";
export default function Home() {
- const [product, setProduct] = useState({});
+ const [heroBanners, setHeroBanners] = useState([]);
+ const [manufactures, setManufactures] = useState([]);
+
+ useEffect(() => {
+ setHeroBanners([]);
+ const getHeroBanners = async () => {
+ const dataHeroBanners = await getOdoo(`/api/v1/banner?type=index-a-1`);
+ setHeroBanners(dataHeroBanners);
+ }
+ getHeroBanners();
+
+ setManufactures([]);
+ const getManufactures = async () => {
+ const dataManufactures = await getOdoo(`/api/v1/manufacture?level=prioritas`);
+ setManufactures(dataManufactures);
+ }
+ getManufactures();
+ }, []);
return (
<>
<Header />
+ <Swiper slidesPerView={1} pagination={{dynamicBullets: true}} modules={[Pagination, Autoplay]}>
+ {
+ heroBanners?.map((banner, index) => (
+ <SwiperSlide key={index}>
+ <LazyLoadImage effect="blur" src={banner.image} alt={banner.name} className="w-full h-auto" />
+ </SwiperSlide>
+ ))
+ }
+ </Swiper>
+ <div className="mt-5 px-4">
+ <h2 className="text-gray-900 font-medium mb-3">Brand Pilihan</h2>
+ <Swiper slidesPerView={4} freeMode={true} spaceBetween={16}>
+ {
+ manufactures?.manufactures?.map((manufacture, index) => (
+ <SwiperSlide key={index}>
+ <div className="border border-gray-300 p-2 rounded h-full">
+ <LazyLoadImage effect="blur" src={manufacture.logo} alt={manufacture.name} className="w-full h-full object-contain object-center" />
+ </div>
+ </SwiperSlide>
+ ))
+ }
+ </Swiper>
+ </div>
</>
)
}