summaryrefslogtreecommitdiff
path: root/static/favicon.svg
diff options
context:
space:
mode:
authorTyler Hoang <tyler@tylerhoang.xyz>2026-05-08 03:24:36 -0700
committerTyler Hoang <tyler@tylerhoang.xyz>2026-05-08 03:24:36 -0700
commit3de7c5eed5ba262abf0d746211e33800db6d66df (patch)
tree6fddb5381fb178423eac34894add5b611babe300 /static/favicon.svg
parentf361e7599d9a11ad3397b7b6bffee151ab9bdde9 (diff)
Add recipe suggestions, chat tab, and major workflow improvements
- Replace 7-day grid menu with browsable recipe suggestion cards (swap, remove, make this) - Add Chat tab: conversational AI with full pantry/menu/grocery context - Grocery list works without a menu (pantry-only mode) - Individual grocery checkboxes auto-add items to pantry - Swap modal with optional preference input - User notes textarea on menu and grocery generation - Clear button for menu and grocery list - LLM notes/summary displayed after generation, persisted to DB - Favicon linked in HTML - Category dropdown styled for dark theme - System prompt configurable via SYSTEM_PROMPT in .env - Fix startup error (ollama_timeout default), DB migration for menu_plans.notes - Simplify: batch N+1 queries, extract _current_monday(), merge chat sync fns, asyncio.get_running_loop(), fix currentGroceryId bug, cap chat history Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'static/favicon.svg')
-rw-r--r--static/favicon.svg34
1 files changed, 34 insertions, 0 deletions
diff --git a/static/favicon.svg b/static/favicon.svg
new file mode 100644
index 0000000..7122059
--- /dev/null
+++ b/static/favicon.svg
@@ -0,0 +1,34 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
+ <!-- Background circle -->
+ <circle cx="32" cy="32" r="32" fill="#FF6B35"/>
+
+ <!-- Chef hat (white puff top) -->
+ <ellipse cx="32" cy="18" rx="13" ry="11" fill="white"/>
+ <!-- Hat brim -->
+ <rect x="19" y="24" width="26" height="7" rx="3" fill="white"/>
+
+ <!-- Hat shine -->
+ <ellipse cx="27" cy="14" rx="4" ry="3" fill="rgba(255,255,255,0.4)"/>
+
+ <!-- Face -->
+ <circle cx="32" cy="42" r="13" fill="#FDDBB4"/>
+
+ <!-- Rosy cheeks -->
+ <circle cx="24" cy="44" r="3.5" fill="#FFB3A7" opacity="0.7"/>
+ <circle cx="40" cy="44" r="3.5" fill="#FFB3A7" opacity="0.7"/>
+
+ <!-- Eyes (cute closed/happy) -->
+ <path d="M27 40 Q28.5 38 30 40" stroke="#5C3317" stroke-width="1.8" fill="none" stroke-linecap="round"/>
+ <path d="M34 40 Q35.5 38 37 40" stroke="#5C3317" stroke-width="1.8" fill="none" stroke-linecap="round"/>
+
+ <!-- Smile -->
+ <path d="M27 46 Q32 51 37 46" stroke="#5C3317" stroke-width="1.8" fill="none" stroke-linecap="round"/>
+
+ <!-- Little nose dot -->
+ <circle cx="32" cy="43.5" r="1" fill="#C68642"/>
+
+ <!-- Tiny sparkle top right -->
+ <g fill="white" opacity="0.9">
+ <polygon points="56,10 57,13 60,13 57.5,15 58.5,18 56,16 53.5,18 54.5,15 52,13 55,13" transform="scale(0.6) translate(38, 4)"/>
+ </g>
+</svg>