From 4e506614833f59f65704b2cd1c2b153d513ab058 Mon Sep 17 00:00:00 2001 From: pyr0ball Date: Mon, 11 May 2026 12:41:58 -0700 Subject: [PATCH] =?UTF-8?q?feat(find):=20invert=20flow=20=E2=80=94=20auto-?= =?UTF-8?q?suggest=20on=20tab=20open,=20collapsible=20Refine=20panel=20(cl?= =?UTF-8?q?oses=20#132)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Auto-suggest (L1/L2 only): When the Find tab is activated with a non-empty pantry and no existing results, suggestion fires immediately without user action. L3/L4 are excluded to avoid unintended VRAM allocation and AI quota charges. After the first auto-suggest completes, the Refine panel collapses so the results are the first thing the user sees. Live re-suggest (L1/L2 only): A single filterKey computed wraps all filter state as JSON. Any filter change while on the Find tab with existing results triggers a debounced (1.2s) re-suggest, keeping the result list live without button clicks. Refine collapsible: Time budget, Dietary preferences, and Nutrition/Advanced filters are wrapped in a v-show panel controlled by filtersOpen (persisted to localStorage under kiwi:find_filters_open, default open). Level selector, Hard Day Mode, and the Suggest button remain always visible. Toggle button shows active filter count badge when any filter is set. --- frontend/src/components/RecipesView.vue | 112 ++++++++++++++++++++++++ 1 file changed, 112 insertions(+) diff --git a/frontend/src/components/RecipesView.vue b/frontend/src/components/RecipesView.vue index eb996ab..b946918 100644 --- a/frontend/src/components/RecipesView.vue +++ b/frontend/src/components/RecipesView.vue @@ -147,6 +147,19 @@ Tap "Find recipes" again to apply.

+ + + +
+
@@ -400,6 +413,8 @@
+
+