From 8e755b3e26c52d0d83e947709e037a805ae81524 Mon Sep 17 00:00:00 2001 From: naomitzhao <116607148+naomitzhao@users.noreply.github.com> Date: Wed, 2 Apr 2025 22:43:07 -0700 Subject: [PATCH 1/2] Fix carousel bug for calculating shown slides --- app/(pages)/_components/HomepageCarousel/HomepageCarousel.jsx | 2 +- .../_components/HomepageCarousel/HomepageCarousel.module.scss | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/(pages)/_components/HomepageCarousel/HomepageCarousel.jsx b/app/(pages)/_components/HomepageCarousel/HomepageCarousel.jsx index 9b18735..365db42 100644 --- a/app/(pages)/_components/HomepageCarousel/HomepageCarousel.jsx +++ b/app/(pages)/_components/HomepageCarousel/HomepageCarousel.jsx @@ -21,7 +21,7 @@ export default function HomepageCarousel({ data }) { const swiperRef = useRef(null); const [activeIndex, setActiveIndex] = useState(1); - const numSlides = 4; + const numSlides = slides.length; const handleSwiperInit = (swiper) => { swiperRef.current = swiper; diff --git a/app/(pages)/_components/HomepageCarousel/HomepageCarousel.module.scss b/app/(pages)/_components/HomepageCarousel/HomepageCarousel.module.scss index 53bfb78..baf2b53 100644 --- a/app/(pages)/_components/HomepageCarousel/HomepageCarousel.module.scss +++ b/app/(pages)/_components/HomepageCarousel/HomepageCarousel.module.scss @@ -68,8 +68,8 @@ } .unshown { - opacity: 1; - pointer-events: none !important; + opacity: 0; + pointer-events: none !important; } .imageContainer { From a264f1f0e9f7617eeb035e729c6819b4044e3a91 Mon Sep 17 00:00:00 2001 From: naomitzhao <116607148+naomitzhao@users.noreply.github.com> Date: Wed, 2 Apr 2025 22:44:45 -0700 Subject: [PATCH 2/2] Duplicate slides when not enough content --- .../_components/HomepageCarousel/HomepageCarousel.jsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/(pages)/_components/HomepageCarousel/HomepageCarousel.jsx b/app/(pages)/_components/HomepageCarousel/HomepageCarousel.jsx index 365db42..cc958a0 100644 --- a/app/(pages)/_components/HomepageCarousel/HomepageCarousel.jsx +++ b/app/(pages)/_components/HomepageCarousel/HomepageCarousel.jsx @@ -13,12 +13,14 @@ import "swiper/css/free-mode"; export default function HomepageCarousel({ data }) { let slides = Object.values(data); + + if (Object.keys(data).length === 1) { + slides = Object.values([...data, ...data, ...data, ...data]); + } if (Object.keys(data).length < 4) { - slides = Object.values([...data, ...data]) + slides = Object.values([...data, ...data]); } - console.log(slides); - const swiperRef = useRef(null); const [activeIndex, setActiveIndex] = useState(1); const numSlides = slides.length;