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 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';
import { bannerApi } from '../../../../src/api/bannerApi';
interface IPromotionProgram {
headlineBanner: string;
descriptionBanner: string;
image: string;
name: string;
}
const swiperBanner: SwiperProps = {
modules: [Navigation, Pagination, Autoplay],
autoplay: {
delay: 6000,
disableOnInteraction: false,
},
loop: true,
className: 'h-auto w-full',
slidesPerView: 1,
spaceBetween: 0,
pagination: { clickable: true },
};
const swiperBannerMob = {
autoplay: {
delay: 6000,
disableOnInteraction: false,
},
modules: [Pagination, Autoplay],
loop: true,
className: 'mobile-swiper w-full',
slidesPerView: 1,
};
const Hero = () => {
const heroBanner = useQuery(
'allPromo',
bannerApi({ type: 'banner-semua-promo' })
);
const banners: IPromotionProgram[] = useMemo(
() => heroBanner?.data || [],
[heroBanner.data]
);
const swiperBannerMobile = {
...swiperBannerMob,
pagination: { dynamicBullets: false, clickable: true },
};
return (
<>
{banners?.map((banner, index) => (
{/*
*/}
))}
{banners?.map((banner, index) => (
))}
>
);
};
export default Hero;