feat: recipe management page — browse, search, edit, delete recipes

New /recipes page with backend switching (Mealie/Tandoor), full-text
search, tag filtering, multi-select bulk delete, per-recipe edit/delete
buttons, and a full recipe editor reusing the import preview form.

New API client methods: list_recipes, get_recipe, update_recipe,
delete_recipe for both MealieClient and TandoorClient.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-26 08:30:26 +01:00
parent 98d1e3b45a
commit 19cbd505d4
8 changed files with 1618 additions and 1 deletions
+3 -1
View File
@@ -4,7 +4,7 @@ Docker container for importing recipes from Hungarian websites into [Mealie](htt
**Problem**: Mealie's and Tandoor's built-in URL import cannot parse ingredients and instructions from Hungarian recipe sites like mindmegette.hu.
**Solution**: This container provides a web UI that scrapes Hungarian recipe pages with site-specific parsers, lets you review and edit the extracted data, then pushes it to Mealie and/or Tandoor via their REST APIs. Supports both single recipe import and bulk import of multiple URLs.
**Solution**: This container provides a web UI that scrapes Hungarian recipe pages with site-specific parsers, lets you review and edit the extracted data, then pushes it to Mealie and/or Tandoor via their REST APIs. Supports single recipe import, bulk import, and recipe management (browse, search, edit, delete).
## Architecture
@@ -15,10 +15,12 @@ Docker container for importing recipes from Hungarian websites into [Mealie](htt
│ Flask + Gunicorn │
│ ├── /settings → Configure Mealie & Tandoor │
│ ├── /import → Single or bulk import │
│ ├── /recipes → Browse, search, edit, delete │
│ ├── /scrape → AJAX: parse recipe HTML │
│ ├── /send → AJAX: push to Mealie API │
│ ├── /send-tandoor → AJAX: push to Tandoor API │
│ ├── /tags → AJAX: list tags from both │
│ ├── /api/recipes/* → AJAX: recipe CRUD endpoints │
│ └── /health → Health check │
│ │
│ Modules: │