import 'swiper/css'; import Image from 'next/image'; import { useEffect, useMemo } from 'react'; import { useQuery } from 'react-query'; import { Swiper, SwiperProps, SwiperSlide } from 'swiper/react'; import { getBanner } from '~/services/banner'; import style from '../styles/hero.module.css'; import 'swiper/css/navigation'; import 'swiper/css/pagination'; import { Navigation, Pagination, Autoplay } from 'swiper'; import MobileView from '../../../../src/core/components/views/MobileView'; import DesktopView from '@/core/components/views/DesktopView'; const swiperBanner: SwiperProps = { modules:[Navigation, Pagination, Autoplay], autoplay: { delay: 6000, disableOnInteraction: false }, loop: true, className: 'h-[400px] w-full', slidesPerView: 1, spaceBetween: 10, pagination:true, } const swiperBannerMob = { autoplay: { delay: 6000, disableOnInteraction: false, }, modules: [Pagination, Autoplay], loop: true, className: 'border border-gray_r-6 min-h-full', slidesPerView: 1, }; const Hero = () => { const bannerQuery = useQuery({ queryKey: ['banner.all-promo'], queryFn: () => getBanner({ type: 'banner-promotion' }) }) const banners = useMemo(() => bannerQuery.data || [], [bannerQuery.data]); useEffect(() => { if (banners.length > 1) { swiperBanner.slidesPerView = 1.1; swiperBanner.loop = true; swiperBannerMobile.loop = true; } }, [banners]); const swiperBannerMobile = { ...swiperBannerMob, pagination: { dynamicBullets: false, clickable: true }, }; return ( <>
Pasti Hemat & Untung Selama Belanja di Indoteknik.com!
Cari paket yang kami sediakan dengan penawaran harga & Nikmati kemudahan dalam setiap transaksi dengan fitur lengkap Pembayaran hingga barang sampai!
{banners.map((banner, index) => ( {banner.name} ))}
{banners?.map((banner, index) => ( {banner.name} ))} ) } export default Hero