diff --git a/local.db.old b/local.db.old new file mode 100644 index 0000000..530b2f1 Binary files /dev/null and b/local.db.old differ diff --git a/src/routes/admin/beneficiarios/+page.server.ts b/src/routes/admin/beneficiarios/+page.server.ts index f1adbdf..5ac2531 100644 --- a/src/routes/admin/beneficiarios/+page.server.ts +++ b/src/routes/admin/beneficiarios/+page.server.ts @@ -1,6 +1,6 @@ import { db } from '$lib/server/db'; import * as schema from '$lib/server/db/schema'; -import { asc, eq, or, like } from 'drizzle-orm'; +import { asc, eq, or, like, sql } from 'drizzle-orm'; import type { PageServerLoad } from './$types'; export const load: PageServerLoad = async ({ url }) => { @@ -8,6 +8,19 @@ export const load: PageServerLoad = async ({ url }) => { const status = url.searchParams.get('status') || ''; try { + const totalFamiliesResult = db + .select({ count: sql`count(*)` }) + .from(schema.beneficiaries) + .where(eq(schema.beneficiaries.isParent, true)) + .get(); + const totalFamilies = totalFamiliesResult?.count ?? 0; + + const totalBeneficiariesResult = db + .select({ count: sql`count(*)` }) + .from(schema.beneficiaries) + .get(); + const totalBeneficiaries = totalBeneficiariesResult?.count ?? 0; + let query = db .select() .from(schema.beneficiaries) @@ -33,6 +46,8 @@ export const load: PageServerLoad = async ({ url }) => { return { beneficiaries: list, + totalFamilies, + totalBeneficiaries, search, status: status || 'todos' }; @@ -40,6 +55,8 @@ export const load: PageServerLoad = async ({ url }) => { console.error('Error loading beneficiaries:', err); return { beneficiaries: [], + totalFamilies: 0, + totalBeneficiaries: 0, search, status: status || 'todos', error: 'Erro ao carregar a lista de beneficiários.' diff --git a/src/routes/admin/beneficiarios/+page.svelte b/src/routes/admin/beneficiarios/+page.svelte index bc50852..c01a20f 100644 --- a/src/routes/admin/beneficiarios/+page.svelte +++ b/src/routes/admin/beneficiarios/+page.svelte @@ -113,6 +113,41 @@ + +
+
+
+
+ + + + + +
+
+ Famílias + {data.totalFamilies} + Número de famílias (IsParent=true) +
+
+
+ +
+
+
+ + + +
+
+ Total de Beneficiários + {data.totalBeneficiaries} + Todos os registos na base de dados +
+
+
+
+