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 /static/index.html | |
| 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 'static/index.html')
| -rw-r--r-- | static/index.html | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/static/index.html b/static/index.html index ae36a4f..7db0a86 100644 --- a/static/index.html +++ b/static/index.html @@ -5,11 +5,11 @@ <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Commis</title> <link rel="stylesheet" href="style.css"> - <link rel="icon" href="favicon.svg" type="image/svg+xml"> + <link rel="icon" href="logo.png" type="image/png"> </head> <body> <header> - <div class="header-title">🔪 Commis</div> + <div class="header-title"><img src="logo.png" alt="Commis" style="height:32px;width:32px;object-fit:contain;vertical-align:middle;margin-right:0.4rem;border-radius:6px;">Commis</div> <div id="ollama-status" class="status-badge">Checking...</div> </header> @@ -90,6 +90,14 @@ </div> </div> <div id="menu-notes" class="info-banner hidden"></div> + <div class="import-url-form" id="import-url-form" style="display:flex;gap:0.5rem;margin-top:0.75rem;"> + <input type="url" id="import-url-input" placeholder="Paste recipe URL…" style="flex:1;" /> + <button class="btn btn-secondary" id="btn-import-recipe" onclick="importRecipe()">Import</button> + </div> + <div style="display:flex;gap:0.5rem;margin-top:0.5rem;"> + <input type="text" id="add-dish-input" placeholder="Describe a dish to add… e.g. a quick pasta for tonight" style="flex:1;" /> + <button class="btn btn-secondary" id="btn-add-dish" onclick="addSingleDish()">Add Dish</button> + </div> <div id="recipe-list" class="recipe-list"></div> <div id="menu-empty" class="empty-state hidden">No menu generated yet. Click "Generate Menu" to create one.</div> </div> |
