| Commit message (Collapse) | Author | Age |
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
labels, and drizzle migrate
- Extract groceries/categories/references services with db injection
- Add valibot for form validation and safe numeric id parsing
- Fix category delete FK behavior with onDelete: set null + migration
- Replace custom migrate.js with drizzle-orm/libsql/migrator
- Add shared CSS utility classes in app.css (forms, lists, buttons)
- Add aria-pressed and aria-label on interactive elements
- Remove redundant app.css imports and unused /stores import
- Add integration tests for all services using drizzle migrate helper
- Remove smoke test; add db:migrate and db:studio scripts
|
| |
|
|
| |
row heights, and show quality score in list
|
| |
|
|
|
|
| |
- Non-root user (node), data volume at /app/data
- Startup migration script applies drizzle SQL before server starts
- HEALTHCHECK on port 3000 every 30s
|
| |
|
|
|
|
|
| |
- Sticky navbar + sticky add bar on list page
- Add button: quick add to list
- Edit button: add + redirect to detail page for references
- Removed layout top padding for seamless sticky behavior
|
| |
|
|
|
|
|
|
| |
- Navbar component with List, Catalog, Categories tabs
- / = shopping list (unchecked items with add form)
- /catalog = full catalog with toggle
- /categories = category management
- Removed page titles (navbar indicates context)
|
| | |
|
| |
|
|
|
|
|
|
| |
- 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
|
|
|
@libsql/client + Drizzle ORM for SQLite, Prettier + ESLint flat config.
Multi-stage Dockerfile (node:26-slim) for Caddy-backed deployment.
|