A lot of refectoring

This commit is contained in:
Hein
2025-10-21 14:10:59 +02:00
parent 4186219c50
commit c92cabc569
24 changed files with 756 additions and 626 deletions

View File

@@ -1,8 +1,7 @@
import React, { useEffect } from 'react';
import { range } from '../utils/range';
import { useGridlerStore } from './Store';
import { useGridlerStore } from './GridlerStore';
//The computer component does not need to be recalculated on every render, so we use React.memo to prevent unnecessary re-renders.
export const Pager = React.memo(() => {
@@ -14,7 +13,7 @@ export const Pager = React.memo(() => {
pageSize,
loadPage,
_loadingList,
hasLocalData
hasLocalData,
] = useGridlerStore((s) => [
s.setState,
s._glideref,
@@ -24,17 +23,21 @@ export const Pager = React.memo(() => {
s.loadPage,
s._loadingList,
s.hasLocalData
s.hasLocalData,
]);
useEffect(() => {
if (!glideref) {return;}
if (!glideref) {
return;
}
setState('mounted', true);
}, [setState]);
//Maybe move this into a computer component.
useEffect(() => {
if (!glideref) {return;}
if (!glideref) {
return;
}
if (hasLocalData) {
//using local data, no need to load pages
return;
@@ -56,7 +59,7 @@ export const Pager = React.memo(() => {
for (const page of range(firstPage, lastPage + 1, 1)) {
loadPage(page);
}
}, [loadPage, pageSize, visiblePages, glideref, _loadingList,hasLocalData]);
}, [loadPage, pageSize, visiblePages, glideref, _loadingList, hasLocalData]);
return <></>;
});