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 |
||
|---|---|---|
| .. | ||
| .vscode | ||
| public | ||
| src | ||
| .env | ||
| .gitignore | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| THEMING_SYSTEM.md | ||
| tsconfig.app.json | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||