aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* feat: show best reference (by quality score) on each item in list viewMartin Kagamino Lehoux2026-07-27
|
* feat: product references + grocery detail pageMartin Kagamino Lehoux2026-07-27
| | | | | | | | - references table (brand, price, unit, quality_score) with FK to groceries - /grocery/[id] page for managing references per item - Unit dropdown (€/kg, €/L, €/u) defaulting to €/kg - → link on all items navigates to detail page - Delete item moved from catalog to detail page
* chore: seed script for dev data (30 items, 6 categories)Martin Kagamino Lehoux2026-07-27
|
* feat: separate categories table + /categories management pageMartin Kagamino Lehoux2026-07-27
| | | | | | | | - Categories table (id, name unique) with FK from groceries.category_id - /categories page for add/delete categories - Main page uses native <select> dropdown for category - Categories grouped by name in list/catalog views - Regenerated drizzle migrations from scratch
* feat: delete items from catalogMartin Kagamino Lehoux2026-07-27
| | | | | | - Delete action removes item from grocery list permanently - Delete button (x) on catalog items, positioned inline with name - Unified button heights (2rem) across list and catalog sections
* feat: catalog section + deduplicate items by nameMartin Kagamino Lehoux2026-07-27
| | | | | | | | - Show all items split into List (unchecked) and Catalog (checked) sections - Tapping a catalog item unchecks it (returns to list) - Add action now upserts: unchecks existing item instead of creating duplicate - UNIQUE constraint on groceries.name as defense-in-depth - Tests for dedup behavior (insert, re-add from catalog, no-op on list)
* chore: add TypeScript ESLint parser for .svelte filesMartin Kagamino Lehoux2026-07-27
|
* feat: minimal grocery list — add items, check them offMartin Kagamino Lehoux2026-07-27
| | | | | | | | - 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
* bootstrap: SvelteKit + adapter-node + plain CSS + VitestMartin Kagamino Lehoux2026-07-27
@libsql/client + Drizzle ORM for SQLite, Prettier + ESLint flat config. Multi-stage Dockerfile (node:26-slim) for Caddy-backed deployment.