diff options
| author | Tyler Hoang <tyler@tylerhoang.xyz> | 2026-05-09 02:31:10 -0700 |
|---|---|---|
| committer | Tyler Hoang <tyler@tylerhoang.xyz> | 2026-05-09 02:31:10 -0700 |
| commit | 360eadf78fb001e947f3850603152adc413bb3a8 (patch) | |
| tree | 2d67065890ce195bc2c0f2f6e430e86c241b2424 /schemas.py | |
| parent | aba03fd72df5729a86d21c6866761b43a8abad68 (diff) | |
Recipe detail page, menu revamp, and UX improvements
- Add recipe detail page (recipe.html) with full ingredients and instructions
- Simplify menu tab: cards show name + description only, click through for full recipe
- Add description field to Recipe model with DB migration
- Add AI-generated descriptions to menu, swap, and import prompts
- Add single dish by description (POST /api/menus/current/recipes)
- Add grocery item delete without pantry add (DELETE /api/grocery/{id}/items)
- Persist grocery checked state server-side (PATCH /api/grocery/{id}/check-item)
- Hash-based tab routing — refresh stays on current tab
- Logo branding in header and favicon
- Dark theme fixes: URL/text inputs, amber accent, muted danger/warning colors
- Markdown rendering in chat (bold, italic, code blocks, lists, headers)
- Fix instruction step splitting for inline-numbered steps (1. 2. 3.)
- Import recipe from URL with JSON-LD structured data + AI fallback
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'schemas.py')
| -rw-r--r-- | schemas.py | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -95,6 +95,7 @@ class RecipeCreate(BaseModel): estimated_time_minutes: Optional[int] = None servings: int = 2 source: str = "ai" + description: Optional[str] = None class RecipeRead(BaseModel): @@ -107,6 +108,7 @@ class RecipeRead(BaseModel): servings: int source: str created_at: datetime + description: Optional[str] = None model_config = ConfigDict(from_attributes=True) @@ -119,6 +121,7 @@ class RecipeUpdate(BaseModel): estimated_time_minutes: Optional[int] = None servings: Optional[int] = None source: Optional[str] = None + description: Optional[str] = None # MenuPlan Schemas |
