diff --git a/src/components/Related-Resources/index.js b/src/components/Related-Resources/index.js index ba73eabb6f99..8dd227b07530 100644 --- a/src/components/Related-Resources/index.js +++ b/src/components/Related-Resources/index.js @@ -1,4 +1,4 @@ -import React from "react"; +import React, { useState, useEffect } from "react"; import { Link } from "gatsby"; import { IoIosArrowRoundForward } from "@react-icons/all-files/io/IoIosArrowRoundForward"; import Card from "../Card"; @@ -11,9 +11,28 @@ import useHasMounted from "../../utils/useHasMounted"; const RelatedResources = props => { - const { resourceType , relatedResources , mainHead , lastCardHead , linkToAllItems } = props; + const { resourceType, relatedResources, mainHead, lastCardHead, linkToAllItems } = props; const hasMounted = useHasMounted(); + const [slidesToShow, setSlidesToShow] = useState(3); + + const updateSlidesToShow = () => { + if (window.innerWidth <= 700) { + setSlidesToShow(1); + } else if (window.innerWidth <= 991) { + setSlidesToShow(2); + } else if (window.innerWidth <= 1400) { + setSlidesToShow(3); + } + }; + + useEffect(() => { + updateSlidesToShow(); + window.addEventListener("resize", updateSlidesToShow); + return () => { + window.removeEventListener("resize", updateSlidesToShow); + }; + }, []); return ( @@ -22,41 +41,41 @@ const RelatedResources = props => { { hasMounted && - = 992 } - infinite= {false} - speed= "500" - slidesToShow= {window.innerWidth <= 720 ? 1 : window.innerWidth <= 991 ? 2 : 3} - slidesToScroll= {1} - > - { - resourceType === "resources" ? relatedResources.map(({ resource }) => { - return ( - - - - ); - }) : relatedResources.map((resource) => { - return ( - - - - ); - }) - } - -
- -

{lastCardHead}

- - -
- -
+ = 992} + infinite={false} + speed="500" + slidesToShow={slidesToShow} + slidesToScroll={1} + > + { + resourceType === "resources" ? relatedResources.map(({ resource }) => { + return ( + + + + ); + }) : relatedResources.map((resource) => { + return ( + + + + ); + }) + } + +
+ +

{lastCardHead}

+ + +
+ +
}
); }; -export default RelatedResources; \ No newline at end of file +export default RelatedResources;