diff --git a/frontend/src/pages/MapPage.tsx b/frontend/src/pages/MapPage.tsx index cc5483c..997d23a 100644 --- a/frontend/src/pages/MapPage.tsx +++ b/frontend/src/pages/MapPage.tsx @@ -151,7 +151,7 @@ export function MapPage(): React.JSX.Element { useEffect(() => { setPage(1); - }, [range, originFilter, selectedCountry, bans, pageSize]); + }, [range, originFilter, selectedCountry, pageSize]); /** Bans visible in the companion table (filtered by selected country). */ const visibleBans = useMemo(() => { @@ -164,6 +164,14 @@ export function MapPage(): React.JSX.Element { : null; const totalPages = Math.max(1, Math.ceil(visibleBans.length / pageSize)); + + // Clamp page to totalPages when data shrinks below current page offset + useEffect(() => { + if (page > totalPages) { + setPage(totalPages); + } + }, [totalPages, page]); + const hasPrev = page > 1; const hasNext = page < totalPages;