From ed75859efa972a4c873bb95cf9b3bbf0f67a3d18 Mon Sep 17 00:00:00 2001 From: Marijn van der Werf Date: Tue, 22 Oct 2024 17:22:46 +0200 Subject: [PATCH] Update ticker and slide simultaneously (#17) * Update ticker and slide simultaneously --- src/App.tsx | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index be727aa..c2438b8 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -175,8 +175,19 @@ function App() { } return nextSlide }) + + setTickerIndex((prevIndex) => { + const nextIndex = (prevIndex + 1) % tickerItems.length + if (nextIndex === 0 && nextTickerItems.length > 0) { + setTickerItems(nextTickerItems) + setNextTickerItems([]) + return 0 + } + return nextIndex + }) }) } else { + // Fallback for browsers that don't support startViewTransition setCurrentSlide((prevSlide) => { const nextSlide = (prevSlide + 1) % slides.length if (nextSlide === 0 && nextSlides.length > 0) { @@ -186,17 +197,17 @@ function App() { } return nextSlide }) - } - setTickerIndex((prevIndex) => { - const nextIndex = (prevIndex + 1) % tickerItems.length - if (nextIndex === 0 && nextTickerItems.length > 0) { - setTickerItems(nextTickerItems) - setNextTickerItems([]) - return 0 - } - return nextIndex - }) + setTickerIndex((prevIndex) => { + const nextIndex = (prevIndex + 1) % tickerItems.length + if (nextIndex === 0 && nextTickerItems.length > 0) { + setTickerItems(nextTickerItems) + setNextTickerItems([]) + return 0 + } + return nextIndex + }) + } }, slides[currentSlide].duration) return () => clearInterval(timer)