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 |
||
|---|---|---|
| .. | ||
| endpoints | ||
| __init__.py | ||
| routes.py | ||