From ae893cfc556eb7c2f31eefdc495e306891a829e0 Mon Sep 17 00:00:00 2001 From: FIN-IT_AndriFP Date: Wed, 11 Feb 2026 14:02:31 +0700 Subject: (andri) banner promo full --- src-migrate/modules/promo/components/Hero.tsx | 86 ++++++++++++++++----------- 1 file changed, 50 insertions(+), 36 deletions(-) (limited to 'src-migrate/modules/promo/components') diff --git a/src-migrate/modules/promo/components/Hero.tsx b/src-migrate/modules/promo/components/Hero.tsx index 7d0aad11..e1b31184 100644 --- a/src-migrate/modules/promo/components/Hero.tsx +++ b/src-migrate/modules/promo/components/Hero.tsx @@ -26,11 +26,12 @@ const swiperBanner: SwiperProps = { disableOnInteraction: false, }, loop: true, - className: 'h-[400px] w-full', + className: 'h-auto w-full', slidesPerView: 1, - spaceBetween: 10, - pagination: true, + spaceBetween: 0, + pagination: { clickable: true }, }; + const swiperBannerMob = { autoplay: { delay: 6000, @@ -38,7 +39,7 @@ const swiperBannerMob = { }, modules: [Pagination, Autoplay], loop: true, - className: 'border border-gray_r-6 min-h-full', + className: 'mobile-swiper w-full', slidesPerView: 1, }; @@ -60,32 +61,42 @@ const Hero = () => { return ( <> + -
- +
+ {banners?.map((banner, index) => ( + + {/*
- {banner?.headlineBanner - ? banner?.headlineBanner - : 'Pasti Hemat & Untung Selama Belanja di Indoteknik.com!'} -
-
-
- {banner?.descriptionBanner - ? banner?.descriptionBanner - : 'Cari paket yang kami sediakan dengan penawaran harga & Nikmati kemudahan dalam setiap transaksi dengan fitur lengkap Pembayaran hingga barang sampai!'} + ...
-
-
+
+ */} + +
{banner.name}
@@ -94,23 +105,26 @@ const Hero = () => {
- - {banners?.map((banner, index) => ( - - {banner?.name} - - ))} - +
+ + {banners?.map((banner, index) => ( + +
+ {banner?.name} +
+
+ ))} +
+
); }; -export default Hero; +export default Hero; \ No newline at end of file -- cgit v1.2.3 From d6ccc6bc33c13d792aa99e57eb6b137eac142e43 Mon Sep 17 00:00:00 2001 From: FIN-IT_AndriFP Date: Wed, 11 Feb 2026 18:01:02 +0700 Subject: (andri) fix slider banner promo --- src-migrate/modules/promo/components/Hero.tsx | 35 +++++++++++++++------------ 1 file changed, 20 insertions(+), 15 deletions(-) (limited to 'src-migrate/modules/promo/components') diff --git a/src-migrate/modules/promo/components/Hero.tsx b/src-migrate/modules/promo/components/Hero.tsx index e1b31184..1004932b 100644 --- a/src-migrate/modules/promo/components/Hero.tsx +++ b/src-migrate/modules/promo/components/Hero.tsx @@ -39,7 +39,7 @@ const swiperBannerMob = { }, modules: [Pagination, Autoplay], loop: true, - className: 'mobile-swiper w-full', + className: 'mobile-swiper w-full', slidesPerView: 1, }; @@ -54,10 +54,24 @@ const Hero = () => { [heroBanner.data] ); - const swiperBannerMobile = { + const isSingleSlide = banners.length <= 1; + + const swiperSettingsDesktop = useMemo(() => ({ + ...swiperBanner, + loop: !isSingleSlide, + allowTouchMove: !isSingleSlide, + autoplay: isSingleSlide ? false : swiperBanner.autoplay, + pagination: isSingleSlide ? false : swiperBanner.pagination, + }), [isSingleSlide]); + + + const swiperSettingsMobile = useMemo(() => ({ ...swiperBannerMob, - pagination: { dynamicBullets: false, clickable: true }, - }; + loop: !isSingleSlide, + allowTouchMove: !isSingleSlide, + autoplay: isSingleSlide ? false : swiperBannerMob.autoplay, + pagination: isSingleSlide ? false : { dynamicBullets: false, clickable: true }, + }), [isSingleSlide]); return ( <> @@ -77,18 +91,9 @@ const Hero = () => { `}
- + {banners?.map((banner, index) => ( - - {/* -
-
- ... -
-
- */} -
{
- + {banners?.map((banner, index) => (
-- cgit v1.2.3