diff --git a/src/routes/clients.index.tsx b/src/routes/clients.index.tsx index b945d3c..299dab8 100644 --- a/src/routes/clients.index.tsx +++ b/src/routes/clients.index.tsx @@ -35,11 +35,25 @@ function ClientsList() { const [busy, setBusy] = useState(false); const load = async () => { - const [{ data: cli }, { data: usr }] = await Promise.all([ - supabase.from("clients").select("*").order("name", { ascending: true }), - supabase.from("profiles").select("id, full_name, email").order("full_name", { ascending: true }), - ]); - setClients(cli ?? []); + // Page through clients so we never silently hit Supabase's 1000-row cap. + const pageSize = 1000; + const all: any[] = []; + for (let from = 0; ; from += pageSize) { + const { data, error } = await supabase + .from("clients") + .select("*") + .order("name", { ascending: true }) + .range(from, from + pageSize - 1); + if (error) { toast.error(error.message); break; } + const batch = data ?? []; + all.push(...batch); + if (batch.length < pageSize) break; + } + const { data: usr } = await supabase + .from("profiles") + .select("id, full_name, email") + .order("full_name", { ascending: true }); + setClients(all); setUsers(usr ?? []); };