summaryrefslogtreecommitdiff
path: root/schemas.py
diff options
context:
space:
mode:
authorTyler Hoang <tyler@tylerhoang.xyz>2026-05-09 02:31:10 -0700
committerTyler Hoang <tyler@tylerhoang.xyz>2026-05-09 02:31:10 -0700
commit360eadf78fb001e947f3850603152adc413bb3a8 (patch)
tree2d67065890ce195bc2c0f2f6e430e86c241b2424 /schemas.py
parentaba03fd72df5729a86d21c6866761b43a8abad68 (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.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/schemas.py b/schemas.py
index b21c1f0..e6d926f 100644
--- a/schemas.py
+++ b/schemas.py
@@ -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