From 71ca66bcba70f7a463df6ee9bdcb0e14b8e60595 Mon Sep 17 00:00:00 2001 From: Martin Kagamino Lehoux Date: Mon, 27 Jul 2026 16:54:28 +0200 Subject: feat: minimal grocery list — add items, check them off MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Groceries DB schema (id, name, checked, created_at) with Drizzle + libsql - /+page.server.ts: load (unchecked items, newest first), add & toggle actions - /+page.svelte: text input + Add button, item list with toggle buttons - Mobile-first styling with scoped CSS classes - AGENTS.md: project-specific rules including UI validation --- src/lib/server/db/index.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 src/lib/server/db/index.ts (limited to 'src/lib/server/db/index.ts') diff --git a/src/lib/server/db/index.ts b/src/lib/server/db/index.ts new file mode 100644 index 0000000..cfbbe66 --- /dev/null +++ b/src/lib/server/db/index.ts @@ -0,0 +1,10 @@ +import { drizzle } from 'drizzle-orm/libsql'; +import { createClient } from '@libsql/client'; +import { env } from '$env/dynamic/private'; +import * as schema from './schema'; + +const client = createClient({ + url: env.DATABASE_URL ?? 'file:./data.db', +}); + +export const db = drizzle(client, { schema }); -- cgit v1.3