diff --git a/src/pages/SlidePage.tsx b/src/pages/SlidePage.tsx index db581152..f221daf5 100644 --- a/src/pages/SlidePage.tsx +++ b/src/pages/SlidePage.tsx @@ -22,10 +22,15 @@ export default function SlidePage() { pollingIntervalMs: 15000, }); - const currentSlide = slides?.find((s) => s.slideId === routeSlideId) ?? slides?.[0]; - const currentIndex = currentSlide - ? (slides?.findIndex((s) => s.slideId === currentSlide.slideId) ?? -1) - : -1; + const currentIndexFromRoute = slides?.findIndex((s) => s.slideId === routeSlideId) ?? -1; + const effectiveIndex = + slides && slides.length > 0 + ? currentIndexFromRoute >= 0 + ? currentIndexFromRoute + : 0 + : -1; + const currentSlide = effectiveIndex >= 0 && slides ? slides[effectiveIndex] : undefined; + const currentIndex = effectiveIndex; const hasPrev = currentIndex > 0; const hasNext = !!slides && currentIndex >= 0 && currentIndex < slides.length - 1; @@ -132,12 +137,7 @@ export default function SlidePage() { -