import moment from 'moment'; import { motion } from 'framer-motion'; import { IMAGE_ROOT } from '@/shared/constants/common'; import { useNavigate } from '@/shared/lib/hooks/use-navigate'; import { StorageKeys } from '@/shared/constants/local-storage'; import { setLocalStorage } from '@/shared/lib/web-view-bridge'; import { HomeBottomBannerProps } from '../model/types'; import { useStore } from '@/shared/model/store'; import { BottomSheetMotionDuration, BottomSheetMotionVaiants } from '@/entities/common/model/constant'; import { useEffect, useState } from 'react'; import { Swiper, SwiperSlide } from 'swiper/react'; import 'swiper/css'; import { Autoplay, Pagination } from 'swiper/modules'; import { useTranslation } from 'react-i18next'; export const HomeBottomBanner = ({ setBottomBannerOn, bottomBannerOn, bannerList }: HomeBottomBannerProps) => { const { navigate } = useNavigate(); const { t } = useTranslation(); const [isFirstOpen, setIsFirstOpen] = useState(false); const [currentSlide, setCurrentSlide] = useState(1); const onClickToClose = () => { setBottomBannerOn(false); useStore.getState().BannerStore.setBannerInfo({ HomneBottomBanner: true }); }; const onClickToCloseDay = () => { // 오늘 날짜 기록 const today = moment().format('YYYYMMDD'); setLocalStorage(StorageKeys.BottomBannerClose, today); onClickToClose(); }; const swiperPagination = { type: 'fraction', currentClass: 'current', totalClass: 'total', el: '.banner-page' }; useEffect(() => { let bannerInfo = useStore.getState().BannerStore.bannerInfo; if(!!bannerInfo.HomneBottomBanner){ setIsFirstOpen(false); } else{ setIsFirstOpen(true); } }, [bottomBannerOn]); return ( <> { bottomBannerOn && isFirstOpen &&
}
{ bannerList.map((value, index) => ( { )) }
/
onClickToCloseDay() }>{t('home.banner.doNotShowToday')} onClickToClose() }>{t('home.banner.close')}
); };