diff --git a/app/(pages)/(home)/page.jsx b/app/(pages)/(home)/page.jsx index 7693fd7..86617a1 100644 --- a/app/(pages)/(home)/page.jsx +++ b/app/(pages)/(home)/page.jsx @@ -69,9 +69,44 @@ async function getHomeCards() { } } +async function getHomepageCarouselCards() { + try { + const res = await fetch( + `${process.env.CMS_BASE_URL}/api/content/homepage-carousel-cards?_published=true`, + { next: { tag: "cms" } } + ); + const data = await res.json(); + if (!data.ok || !data.body || data.body.length === 0) { + throw new Error(data.error); + } + console.log(data); + const parsedData = data.body.map((card) => { + let button_text, button_link; + if (card.button_text_and_link) { + [button_text, button_link] = card.button_text_and_link.split(","); + } + return { + title: card.title, + hours: card.hours, + appointment_instruction: card.appointment_instruction, + image: card.image[0], + image_alt_text: card.image_alt_text, + button_text: button_text, + button_link: button_link, + }; + }); + console.log(parsedData); + return parsedData; + } catch (e) { + console.error(`Failed to fetch homepage-carousel-cards: ${e.message}`); + return HomeCardsFallbackData; + } +} + export default async function Home() { const generalData = await getHomeGeneralInfo(); const homeData = await getHomeCards(); + const homeCarouselData = await getHomepageCarouselCards(); return (
@@ -151,7 +186,7 @@ export default async function Home() { - +
diff --git a/app/(pages)/_components/HomepageCarousel/HomepageCarousel.jsx b/app/(pages)/_components/HomepageCarousel/HomepageCarousel.jsx index 072b4e4..9b18735 100644 --- a/app/(pages)/_components/HomepageCarousel/HomepageCarousel.jsx +++ b/app/(pages)/_components/HomepageCarousel/HomepageCarousel.jsx @@ -12,7 +12,13 @@ import "swiper/css"; import "swiper/css/free-mode"; export default function HomepageCarousel({ data }) { - const slides = Object.values(data); + let slides = Object.values(data); + if (Object.keys(data).length < 4) { + slides = Object.values([...data, ...data]) + } + + console.log(slides); + const swiperRef = useRef(null); const [activeIndex, setActiveIndex] = useState(1); const numSlides = 4; @@ -65,8 +71,8 @@ export default function HomepageCarousel({ data }) { >
image -

{slideinfo.time}

+

{slideinfo.hours}

-

{slideinfo.info}

+

{slideinfo.appointment_instruction}

- - Schedule Now + + {slideinfo.button_text}
diff --git a/app/(pages)/_components/HomepageCarousel/HomepageCarousel.module.scss b/app/(pages)/_components/HomepageCarousel/HomepageCarousel.module.scss index b8e7b9f..53bfb78 100644 --- a/app/(pages)/_components/HomepageCarousel/HomepageCarousel.module.scss +++ b/app/(pages)/_components/HomepageCarousel/HomepageCarousel.module.scss @@ -23,13 +23,13 @@ color: var(--dark-grey); } -.swiper { - width: calc(8px * 123); - display: flex; - justify-content: center; - align-items: center; - margin: auto; - overflow: visible !important; +.swiper{ + width: calc(8px * 123); + // display: flex; + justify-content: center; + align-items: center; + margin: auto; + overflow: visible !important; } .swiperslide { @@ -68,7 +68,8 @@ } .unshown { - display: none; + opacity: 1; + pointer-events: none !important; } .imageContainer {