import Link from '@/core/components/elements/Link/Link'; import Image from 'next/image'; import { bannerApi } from '@/api/bannerApi'; import useDevice from '@/core/hooks/useDevice'; import { Swiper, SwiperSlide } from 'swiper/react'; import BannerPromoSkeleton from '../components/Skeleton/BannerPromoSkeleton'; import { useEffect, useState } from 'react'; const { useQuery } = require('react-query'); const BannerSection = () => { const { isMobile, isDesktop } = useDevice(); const [data, setData] = useState(null); const [shouldFetch, setShouldFetch] = useState(false); const [ isLoading, setIsLoading] = useState(true); useEffect(() => { const fetchData = async () => { try { const res = await fetch(`/api/hero-banner?type=banner-promotion`); const { data } = await res.json(); if (data) { setData(data); } } catch (e) { console.log(e); } finally { setIsLoading(false); } }; fetchData(); }, []); const promotionProgram = data; if (isLoading) { return ; } return (

{' '} Promo Tersedia

{isDesktop && ( Lihat Semua )} {isMobile && ( Lihat Semua )}
{isDesktop && promotionProgram && promotionProgram?.length > 0 && (
{promotionProgram?.map((banner) => ( {banner.name} ))}
)} {isMobile && ( {promotionProgram?.map((banner) => ( {banner.name} ))} )}
); }; export default BannerSection;