kiwi/frontend/src/components
pyr0ball 9350719516
Some checks failed
CI / Backend (Python) (push) Waiting to run
CI / Frontend (Vue) (push) Waiting to run
Mirror / mirror (push) Has been cancelled
Release / release (push) Has been cancelled
feat(recipes): LLM style classifier (#27) + cooked leftovers shelf-life (#112)
Style classifier (kiwi#27):
- app/services/recipe/style_classifier.py: LLM prompt with curated vocab,
  cf-orch/LLMRouter fallback, JSON + regex tag extraction
- POST /recipes/saved/{recipe_id}/classify-style: Paid/BYOK tier gate,
  fetches recipe from corpus, returns {suggested_tags:[...]}
- SaveRecipeModal.vue: "Suggest tags" button with loading state; merges
  LLM suggestions into existing tags without overwriting user's choices
- 403/empty list silently ignored — button is a no-op when tier not met

Cooked leftovers shelf-life (kiwi#112):
- app/services/leftovers_predictor.py: deterministic FDA/USDA lookup table
  with shortest-component-wins for proteins and dish-type override for
  assembled dishes; special entries for ceviche (2d, acid != heat),
  fermented/cured (kimchi 14d, confit/lardo 7d), soups, rice, pasta, etc.
- POST /recipes/{recipe_id}/leftovers: free tier, no gate
- RecipeDetailPanel.vue: shelf-life section appears after "I cooked this"
  with fridge/freeze days, freeze-by advice, per-instance dismiss; calm
  framing per no-panic UX policy
- LeftoversResponse Pydantic schema added to recipe.py
2026-04-25 23:18:16 -07:00
..
ActionDialog.vue feat: partial consumption tracking and waste/disposal logging (#12 #60) 2026-04-16 07:28:21 -07:00
BuildYourOwnTab.vue fix: save, shopping list, and route ordering for Build Your Own 2026-04-14 14:48:30 -07:00
CommunityFeedPanel.vue fix: community module integration fixes -- slots payload + ForkResult type 2026-04-13 14:21:33 -07:00
CommunityPostCard.vue fix: community feed a11y -- reduced-motion guards + tablist focus management 2026-04-13 11:38:17 -07:00
ConfirmDialog.vue chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
EditItemModal.vue feat(frontend): warm organic design overhaul — Fraunces/DM fonts, saffron accent, compact inventory shelf view 2026-04-01 22:29:55 -07:00
FeedbackButton.vue feat: screenshot attachment in feedback form (#82) 2026-04-15 23:08:02 -07:00
HallOfChaosView.vue fix: Hall of Chaos quality fixes -- timer cleanup, aria-live, reduced-motion 2026-04-13 12:34:23 -07:00
HelloWorld.vue chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
InventoryList.vue feat: visual label capture for unenriched barcodes (kiwi#79) 2026-04-24 17:57:25 -07:00
MealPlanGrid.vue feat: remove and reorder meal types in weekly planner 2026-04-16 15:13:59 -07:00
MealPlanView.vue feat: remove and reorder meal types in weekly planner 2026-04-16 15:13:59 -07:00
OrchUsagePill.vue feat(kiwi-fe): add OrchUsagePill component with calm low-budget state 2026-04-14 15:46:58 -07:00
PrepSessionView.vue feat(frontend): add PrepSessionView with editable task durations 2026-04-12 13:57:48 -07:00
PublishOutcomeModal.vue fix: publish modal a11y -- dialog-scoped Tab guard + correct first-focus in OutcomeModal 2026-04-13 11:48:57 -07:00
PublishPlanModal.vue fix: community module integration fixes -- slots payload + ForkResult type 2026-04-13 14:21:33 -07:00
ReceiptsView.vue fix: frontend concurrent-mount errors, nginx routing, and browser UX (#98 #106 #107) 2026-04-18 17:12:34 -07:00
RecipeBrowserPanel.vue feat: time & effort signals — active/passive split, effort cards, annotated steps (kiwi#50) 2026-04-24 09:29:54 -07:00
RecipeDetailPanel.vue feat(recipes): LLM style classifier (#27) + cooked leftovers shelf-life (#112) 2026-04-25 23:18:16 -07:00
RecipesView.vue fix(saved-recipes): resolve FK constraint, null title, and load reliability 2026-04-25 21:44:10 -07:00
SavedRecipesPanel.vue feat: pantry intel cluster — #61 expiry display, #64 cook log, #66 scaling, #59 open-package tracking 2026-04-16 06:01:25 -07:00
SaveRecipeModal.vue feat(recipes): LLM style classifier (#27) + cooked leftovers shelf-life (#112) 2026-04-25 23:18:16 -07:00
SettingsView.vue chore: bump to v0.6.0, fix TS build errors, remove cf-orch sidecar 2026-04-24 21:19:44 -07:00
ShoppingItemRow.vue fix: recipe enrichment backfill, main_ingredient browser domain, bug batch 2026-04-18 15:38:56 -07:00
ShoppingListPanel.vue feat(frontend): add ShoppingListPanel with pantry diff and affiliate links 2026-04-12 13:57:48 -07:00
ShoppingView.vue fix: recipe enrichment backfill, main_ingredient browser domain, bug batch 2026-04-18 15:38:56 -07:00
ToastNotification.vue chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00