refactoring-backend #3
@@ -151,7 +151,7 @@ export function MapPage(): React.JSX.Element {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setPage(1);
|
setPage(1);
|
||||||
}, [range, originFilter, selectedCountry, bans, pageSize]);
|
}, [range, originFilter, selectedCountry, pageSize]);
|
||||||
|
|
||||||
/** Bans visible in the companion table (filtered by selected country). */
|
/** Bans visible in the companion table (filtered by selected country). */
|
||||||
const visibleBans = useMemo(() => {
|
const visibleBans = useMemo(() => {
|
||||||
@@ -164,6 +164,14 @@ export function MapPage(): React.JSX.Element {
|
|||||||
: null;
|
: null;
|
||||||
|
|
||||||
const totalPages = Math.max(1, Math.ceil(visibleBans.length / pageSize));
|
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 hasPrev = page > 1;
|
||||||
const hasNext = page < totalPages;
|
const hasNext = page < totalPages;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user