Changes
Co-authored-by: renee-png <262607627+renee-png@users.noreply.github.com>
This commit is contained in:
co-authored by
renee-png
parent
a5e9acdbf3
commit
f8ededeba7
@@ -159,9 +159,16 @@ function CasesList() {
|
||||
if (await setArchived("cases", id, archived)) load();
|
||||
};
|
||||
|
||||
// Pagination — reset when filters/view change.
|
||||
useEffect(() => { setPage(1); }, [view, q, statusFilter, sortKey, sortDir]);
|
||||
const totalPages = Math.max(1, Math.ceil(sorted.length / PAGE_SIZE));
|
||||
const currentPage = Math.min(page, totalPages);
|
||||
const pageStart = (currentPage - 1) * PAGE_SIZE;
|
||||
const paged = useMemo(() => sorted.slice(pageStart, pageStart + PAGE_SIZE), [sorted, pageStart]);
|
||||
|
||||
// Selection helpers — clear when switching views.
|
||||
useEffect(() => { setSelected(new Set()); }, [view]);
|
||||
const visibleIds = useMemo(() => sorted.map((c) => c.id), [sorted]);
|
||||
const visibleIds = useMemo(() => paged.map((c) => c.id), [paged]);
|
||||
const allSelected = visibleIds.length > 0 && visibleIds.every((id) => selected.has(id));
|
||||
const someSelected = selected.size > 0 && !allSelected;
|
||||
const toggleAll = () => setSelected(allSelected ? new Set() : new Set(visibleIds));
|
||||
|
||||
Reference in New Issue
Block a user