| Commit message (Collapse) | Author | Age | |
|---|---|---|---|
| * | Allow granular routine frequencies like 5/2w | Martin Kagamino Lehoux | 2026-09-30 |
| | | |||
| * | Compress comments to terse single lines within line width | Martin Kagamino Lehoux | 2026-09-25 |
| | | |||
| * | Deduplicate routine actions and badges across project routes | Martin Kagamino Lehoux | 2026-09-08 |
| | | | | | | | | | | - Share edit/complete/archive form actions in routine-actions.ts; route servers become thin wrappers (strictest guard semantics in one place) - Move parseFrequencyDays into validation.ts - Extract ScoreBadge/StatusBadge components; use on project pages and the home page instead of duplicated scoreClass/statusClass helpers - Fix archiveProject calling the routine archive with the project id | ||
| * | refactor: services layer, valibot validation, shared CSS utilities, aria ↵ | Martin Kagamino Lehoux | 2026-07-28 |
| 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 | |||
