kiwi/app/db
pyr0ball 1ac7e3d76a feat(browse): sort recipes by pantry match percentage
Adds 'Best match' sort button to the recipe browser. When selected, recipes are
ordered by the fraction of their ingredients that are in the user's pantry.

- store.py: _browse_by_match() pushes match_pct computation into SQL via json_each()
  so ORDER BY can sort the full result set before LIMIT/OFFSET pagination
- recipes.py: extends sort pattern validation to accept 'match'; falls back to
  default when no pantry_items provided
- RecipeBrowserPanel.vue: adds 'Best match' button (disabled when pantry empty);
  watcher auto-engages match sort when pantry goes from empty to non-empty
2026-04-21 15:04:34 -07:00
..
migrations feat(recipes): async L3/L4 recipe job queue with poll endpoint 2026-04-19 21:44:27 -07:00
__init__.py chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
base.py chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
models.py chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
session.py chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
store.py feat(browse): sort recipes by pantry match percentage 2026-04-21 15:04:34 -07:00