From c871c2a331a68d8d20512db9315aa3101833f439 Mon Sep 17 00:00:00 2001 From: Clinton Date: Mon, 21 Jun 2021 17:33:22 -0700 Subject: [PATCH] feat: add slide dots. add liz's sliding transformation config --- .../gatsby-theme-newrelic/icons/feather.js | 5 ++ src/components/ImageSlider/ImageSlider.js | 62 ++++++++++++++++--- 2 files changed, 57 insertions(+), 10 deletions(-) diff --git a/src/@newrelic/gatsby-theme-newrelic/icons/feather.js b/src/@newrelic/gatsby-theme-newrelic/icons/feather.js index 8ee0deb57..8ecbc4d52 100644 --- a/src/@newrelic/gatsby-theme-newrelic/icons/feather.js +++ b/src/@newrelic/gatsby-theme-newrelic/icons/feather.js @@ -44,6 +44,11 @@ export default { ), + circle: ( + <> + + + ), clock: ( <> diff --git a/src/components/ImageSlider/ImageSlider.js b/src/components/ImageSlider/ImageSlider.js index f82abde0c..ca43b2a93 100644 --- a/src/components/ImageSlider/ImageSlider.js +++ b/src/components/ImageSlider/ImageSlider.js @@ -6,10 +6,12 @@ import { Transition, animated, config } from 'react-spring'; const ImageSlider = ({ images, height }) => { const [selectedImageIndex, setSelectedImageIndex] = useState(0); + const [forward, setForward] = useState(true); const handleClickNext = () => { const nextImageIndex = selectedImageIndex + 1; setSelectedImageIndex(nextImageIndex % images.length); + setForward(true); }; const handleClickPrev = () => { @@ -19,6 +21,11 @@ const ImageSlider = ({ images, height }) => { } else { setSelectedImageIndex(prevImageIndex % images.length); } + setForward(false); + }; + + const handleClickSpecificSlide = (indexValue) => { + setSelectedImageIndex(indexValue); }; return ( @@ -27,6 +34,7 @@ const ImageSlider = ({ images, height }) => { position: relative; height: ${height}px; margin-bottom: 2rem; + overflow: hidden; `} > {images.length > 1 && ( @@ -68,19 +76,19 @@ const ImageSlider = ({ images, height }) => { { {(styles, item) => ( - + { )} } +
+
+ {images.map((_, index) => ( + + ))} +
+
); };