<feed xmlns='http://www.w3.org/2005/Atom'>
<title>home-sveltekit/src/routes/categories, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.kagamino.dev/home-sveltekit/atom?h=main</id>
<link rel='self' href='https://git.kagamino.dev/home-sveltekit/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/home-sveltekit/'/>
<updated>2026-09-07T08:55:06Z</updated>
<entry>
<title>Split groceries domain out of the app root</title>
<updated>2026-09-07T08:55:06Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2026-09-07T08:55:06Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/home-sveltekit/commit/?id=113415ce357a9cea1759d0452ebae6352f8fe36b'/>
<id>urn:sha1:113415ce357a9cea1759d0452ebae6352f8fe36b</id>
<content type='text'>
Move the grocery list, catalog, and categories routes under /groceries/
so the app home can host the projects/routines overview next. Update
nav to exact-path matching, login redirect default, and layout title.
</content>
</entry>
<entry>
<title>fix: type page state arrays (svelte-check 0 errors)</title>
<updated>2026-08-21T14:15:09Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2026-08-21T14:15:09Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/home-sveltekit/commit/?id=8cd634e51b79200848068ef45bd3fb700758c394'/>
<id>urn:sha1:8cd634e51b79200848068ef45bd3fb700758c394</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: eliminate Svelte state_referenced_locally build warnings</title>
<updated>2026-07-29T13:09:20Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2026-07-29T13:09:20Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/home-sveltekit/commit/?id=910977ccfaa520486b0cbdf863a764c0c388f4a2'/>
<id>urn:sha1:910977ccfaa520486b0cbdf863a764c0c388f4a2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: single-line category add form with + button</title>
<updated>2026-07-29T13:05:18Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2026-07-29T13:05:18Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/home-sveltekit/commit/?id=a9303b475d79a9a770d66c58edb8d73c5cdeeab9'/>
<id>urn:sha1:a9303b475d79a9a770d66c58edb8d73c5cdeeab9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: drag-to-reorder categories with persistent order</title>
<updated>2026-07-29T13:01:38Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2026-07-29T13:01:38Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/home-sveltekit/commit/?id=63e003a718782e2ca3ffcb2d11b0be97560a7259'/>
<id>urn:sha1:63e003a718782e2ca3ffcb2d11b0be97560a7259</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: sticky form and navbar layout with consistent nav-height</title>
<updated>2026-07-28T17:31:13Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2026-07-28T17:30:07Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/home-sveltekit/commit/?id=1e720925e2ef690d455927c2f9e802571304982a'/>
<id>urn:sha1:1e720925e2ef690d455927c2f9e802571304982a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor: services layer, valibot validation, shared CSS utilities, aria labels, and drizzle migrate</title>
<updated>2026-07-28T13:07:57Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2026-07-28T13:07:57Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/home-sveltekit/commit/?id=04fabf115ccea31ac504b06cc51d78423b697f60'/>
<id>urn:sha1:04fabf115ccea31ac504b06cc51d78423b697f60</id>
<content type='text'>
- 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
</content>
</entry>
<entry>
<title>feat: warm redesign, full French localization, compact sticky form, fixed row heights, and show quality score in list</title>
<updated>2026-07-28T10:13:31Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2026-07-28T10:13:31Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/home-sveltekit/commit/?id=45cc0afb734a422ee7765dc5c60dccbcc6721367'/>
<id>urn:sha1:45cc0afb734a422ee7765dc5c60dccbcc6721367</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: navbar + split list/catalog into separate pages</title>
<updated>2026-07-27T18:44:10Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2026-07-27T18:44:10Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/home-sveltekit/commit/?id=5f423e365ada8aae63ad07099031a23252f47514'/>
<id>urn:sha1:5f423e365ada8aae63ad07099031a23252f47514</id>
<content type='text'>
- 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)
</content>
</entry>
<entry>
<title>feat: separate categories table + /categories management page</title>
<updated>2026-07-27T16:31:26Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2026-07-27T16:31:26Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/home-sveltekit/commit/?id=e14717b2e7853705469275d64023bb902b195ebb'/>
<id>urn:sha1:e14717b2e7853705469275d64023bb902b195ebb</id>
<content type='text'>
- Categories table (id, name unique) with FK from groceries.category_id
- /categories page for add/delete categories
- Main page uses native &lt;select&gt; dropdown for category
- Categories grouped by name in list/catalog views
- Regenerated drizzle migrations from scratch
</content>
</entry>
</feed>
