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); useEffect(() => { const fetchData = async () => { const res = await fetch(`/api/hero-banner?type=banner-promotion`); const { data } = await res.json(); if (data) { setData(data); } }; fetchData(); }, []); // useEffect(() => { // const localData = localStorage.getItem('Homepage_promotionProgram'); // if (localData) { // setData(JSON.parse(localData)); // } else { // setShouldFetch(true); // } // }, []); // const getPromotionProgram = useQuery( // 'promotionProgram', // bannerApi({ type: 'banner-promotion' }), // { // enabled: shouldFetch, // onSuccess: (data) => { // if (data) { // localStorage.setItem( // 'Homepage_promotionProgram', // JSON.stringify(data) // ); // setData(data); // } // }, // } // ); const promotionProgram = data; // if (getPromotionProgram?.isLoading && !data) { // return ; // } if (!data) { 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;