From 57677fa0d07d380c7f7b52173b8921f4bbf42a14 Mon Sep 17 00:00:00 2001 From: dadaloop82 Date: Sat, 4 Apr 2026 15:35:07 +0000 Subject: [PATCH] fix: keep previous settings (meal, persons, options) on regenerate --- assets/js/app.js | 14 +++----------- data/cron.log | 1 + data/dispensa.db | Bin 319488 -> 319488 bytes data/smart_shopping_cache.json | 2 +- 4 files changed, 5 insertions(+), 12 deletions(-) diff --git a/assets/js/app.js b/assets/js/app.js index 34bd7fa..862ad47 100644 --- a/assets/js/app.js +++ b/assets/js/app.js @@ -7032,21 +7032,13 @@ function _renderMealPlanHint(mealSlot) { function regenerateRecipe() { _cachedRecipe = null; - const meal = getMealType(); + // Use the meal the user currently has selected (not the auto-detected one) + const meal = getSelectedMealType(); // increment variation counter for this meal slot _recipeVariationCount[meal] = (_recipeVariationCount[meal] || 0) + 1; document.getElementById('recipe-result').style.display = 'none'; document.getElementById('recipe-loading').style.display = 'none'; - // Rebuild meal selector with auto-detected default - const mealGrid = document.getElementById('recipe-meal-grid'); - if (mealGrid) { - mealGrid.innerHTML = MEAL_TYPES.map(m => { - const checked = m.id === meal ? ' checked' : ''; - return ``; - }).join(''); - } - updateRecipeMealTitle(); - document.getElementById('recipe-persons').value = 1; + // Keep all existing form settings (persons, chips, meal) — just show the form again document.getElementById('recipe-ask').style.display = ''; } diff --git a/data/cron.log b/data/cron.log index ace9477..37c9d2a 100644 --- a/data/cron.log +++ b/data/cron.log @@ -978,3 +978,4 @@ [2026-04-04 15:20:01] OK — 11 items cached [2026-04-04 15:25:02] OK — 11 items cached [2026-04-04 15:30:02] OK — 11 items cached +[2026-04-04 15:35:01] OK — 11 items cached diff --git a/data/dispensa.db b/data/dispensa.db index 6b12f6377c371ea986b929dd508dafe35535abc3..527cd0c9ed40e2cd57bd05ce7bcbe320fd557936 100644 GIT binary patch delta 1343 zcmZuxTTEP46lKmiv`B+Od1JAsqrhN*-eG2dK^l}MCNAC-ipyJ~`u*tEqoYEsiGkMLb%(GQKWmY8UxY0{+rSic(goq>v`$=u0IviI6+ zt-bc0S}vVhF8%CUcj(+}E8VZJbcgUE_|VHM-K=doKksZ_-r1Q`54~47`_ie}&3QY@ z7mmU=-?M6?Pg|De%I2=HT){=!(J5`2lAGG*j&e007H&p(ic6l6mVl*?X$>^|N*;k@ zmuNZUQ&Q3}8i0hG!uPxJ_r_lQo9+D$NL@(4@?KU`q`0RYPo*uTZ3SQdz+&5;_1$2M ztH&H+Y8OeQ6whMw2z-8=ls$RKHwY2 zXH9)%_Y3_8_Vn)=*w+Z#Z<1O#dWAdzwXd=TXzyU9@XlrGfbkqHKmAmw4rYI&k3waV z6~mk7XeqpPDO3P+loY~+J2VMJbF33S`jJh*nXhOq+~^|P;HP<7SimDOgJ-NpnE0E< zVCOFKbSMrVo@N#BOOiE^cmk$>r)4lbPalJ+yQBa9c1++k%YI8(@N+&fDPNPuuaf& zm4*X>33&f1?ShjYmfkr?>)_sXb{B>gNq)$I!3>frzQNkSxP{}4MOp>d7wN-c+^9&W zm2an|V`0K9{4!OrR?)(D``VN+v_vZEN0eZSl77idh7tCc_!81r%8G>=F}2e~qZZ6kr_ zrE6+SIFb)bTVmOWaNyo8x?|?V#j36AC;^95O4_b~6N9)8^EN4|;ew9}$CFLm3{)V5 zvT|{q8M;{ZBI?mtlG2Xwdi&Yl0CVwTj}5D2Z}T1KwX z;;!{+S(mcLb>KNA z=z7q50%iF&$C)?@ZT%0<{!d8-9NxzY0d8X)b{?ixCd@*Ua2d)GXE z5!2JAiR@kN;Yv|O+IKyTCn?rk&O(ej(v|i&`YeNBWmB^rH$I|N%%|;wQJeuf?B|44ve*lQO)6xI{ delta 782 zcmYk4O=uHA6vvyL3Ds)9NE@tab((%yWm`AfCNV*cxrhf_3)132Dbvkl8QJW{-Ho6k zviYlNnfULmJ&w#scBMJe1LYs>z7hBObwuVP;TN{f1Wxnh1CJ1Zg(x) z<+{NwlgqI15eI8>R5;9GB7^B=g6HeF8z#qaT~LiHL=Vg1bMA#9vydBRb~vfV;l?v5 z3@;v{!_YB}ufg~u)QF-=97cah0bhJ_eWnGfW^e*Ny~CH_7@#UxO`;fF2Xqk36%>RY zr%*dQUP09mxQ+JtW1Y%@Fq{eD7Ac~F&p`p0Euv;9hHx53x)KTa{8I`-RU_Wx_uLr7 z8gUf&bgBtRzd|j=-|z8#U&!VzwHe8BljWG{GGb7o@w{ai6qY{V7$_%j#a=Z@(z?zI zrq0A=ab*Kqz-Or~JV)b}kVnMe&S~6H*Cp^h!7b9AB!kR$Ls{iNqvNGu|!} zhZ-UzlRV3NT`-~*EX^xHNmiUJlCcbpiLfo2vNcK~u=@+DZ|!3S$=cL)SuStM|6Xyj z>8GG6hueHn7~F*u)!ZOXLASa{FBOm)3@r+6ddG1^Wo$DVEL2K?t)h>dm=eo?(pS_F zGKgDnUF$zoJV{P6`#cv=hnA!^nD~aup=}P;wwndl=AMi)(QSH>3lNW2vvR}S6uy`l zlHo99iLtyphqja-|0^YwzDsp*ZwYN{)#wJ7%^jC(qUdE+QN>^Ph(#jNq}rWSlt1Y2 B4XywH diff --git a/data/smart_shopping_cache.json b/data/smart_shopping_cache.json index ef5387d..fd2b072 100644 --- a/data/smart_shopping_cache.json +++ b/data/smart_shopping_cache.json @@ -1 +1 @@ -{"success":true,"items":[{"product_id":151,"name":"Arance Tarocco","brand":"","category":"frutta","unit":"pz","current_qty":0,"default_qty":0,"package_unit":"","pct_left":0,"use_count":9,"buy_count":2,"daily_rate":0.55,"uses_per_month":13.6,"days_since_last_use":2,"days_left":0,"expiry_date":null,"days_to_expiry":999,"is_opened":false,"urgency":"critical","reasons":["Esaurito","Uso frequente (9x)"],"score":135,"on_bring":true,"locations":""},{"product_id":70,"name":"Latte Parzialmente Scremato Uht","brand":"Latteria","category":"bevande","unit":"conf","current_qty":0,"default_qty":500,"package_unit":"ml","pct_left":0,"use_count":13,"buy_count":3,"daily_rate":6.73,"uses_per_month":15.5,"days_since_last_use":9,"days_left":0,"expiry_date":null,"days_to_expiry":999,"is_opened":false,"urgency":"critical","reasons":["Esaurito","Uso frequente (13x)"],"score":135,"on_bring":true,"locations":""},{"product_id":129,"name":"Latte di Montagna","brand":"Mila","category":"en:dairies","unit":"conf","current_qty":0,"default_qty":1000,"package_unit":"ml","pct_left":0,"use_count":9,"buy_count":3,"daily_rate":0.2,"uses_per_month":13.6,"days_since_last_use":1,"days_left":0,"expiry_date":null,"days_to_expiry":999,"is_opened":false,"urgency":"critical","reasons":["Esaurito","Uso frequente (9x)"],"score":135,"on_bring":true,"locations":""},{"product_id":47,"name":"Lenticchie","brand":"Primia","category":"en:plant-based-foods-and-beverages","unit":"g","current_qty":0,"default_qty":400,"package_unit":"","pct_left":0,"use_count":5,"buy_count":3,"daily_rate":35.82,"uses_per_month":6,"days_since_last_use":0,"days_left":0,"expiry_date":null,"days_to_expiry":999,"is_opened":false,"urgency":"critical","reasons":["Esaurito","Uso frequente (5x)"],"score":130,"on_bring":true,"locations":""},{"product_id":115,"name":"Aglio rosso","brand":"Duoccio","category":"condimenti","unit":"pz","current_qty":0,"default_qty":0,"package_unit":"","pct_left":0,"use_count":2,"buy_count":2,"daily_rate":0.14,"uses_per_month":2.7,"days_since_last_use":15,"days_left":0,"expiry_date":null,"days_to_expiry":999,"is_opened":false,"urgency":"critical","reasons":["Esaurito"],"score":100,"on_bring":true,"locations":""},{"product_id":152,"name":"Muesli Frutta Secca","brand":"Crownfield","category":"altro","unit":"g","current_qty":0,"default_qty":750,"package_unit":"","pct_left":0,"use_count":4,"buy_count":2,"daily_rate":33.93,"uses_per_month":6.9,"days_since_last_use":9,"days_left":0,"expiry_date":null,"days_to_expiry":999,"is_opened":false,"urgency":"critical","reasons":["Esaurito"],"score":100,"on_bring":false,"locations":""},{"product_id":3,"name":"Cracker integrali","brand":"Barilla,Mulino Bianco","category":"en:snacks","unit":"conf","current_qty":2,"default_qty":25,"package_unit":"g","pct_left":12,"use_count":6,"buy_count":1,"daily_rate":0.56,"uses_per_month":7.1,"days_since_last_use":6,"days_left":4,"expiry_date":"2026-04-28","days_to_expiry":23,"is_opened":true,"urgency":"high","reasons":["Quasi finito (12%)"],"score":90,"on_bring":true,"locations":"dispensa"},{"product_id":132,"name":"Noci sgusciate","brand":"Fruttbella","category":"conserve","unit":"g","current_qty":60,"default_qty":200,"package_unit":"","pct_left":30,"use_count":4,"buy_count":1,"daily_rate":7.03,"uses_per_month":6,"days_since_last_use":0,"days_left":9,"expiry_date":"2026-04-29","days_to_expiry":24,"is_opened":true,"urgency":"medium","reasons":["Finisce tra ~9gg"],"score":50,"on_bring":true,"locations":"dispensa"},{"product_id":69,"name":"Cipolla Dorata","brand":"","category":"verdura","unit":"pz","current_qty":4,"default_qty":0,"package_unit":"","pct_left":44,"use_count":12,"buy_count":1,"daily_rate":0.32,"uses_per_month":14.3,"days_since_last_use":0,"days_left":12,"expiry_date":"2026-04-13","days_to_expiry":8,"is_opened":false,"urgency":"low","reasons":["Previsto esaurimento tra ~12gg"],"score":40,"on_bring":true,"locations":"frigo"},{"product_id":154,"name":"Mela Rossa","brand":"","category":"frutta","unit":"pz","current_qty":7,"default_qty":1,"package_unit":"","pct_left":32,"use_count":5,"buy_count":1,"daily_rate":0.87,"uses_per_month":8.7,"days_since_last_use":0,"days_left":8,"expiry_date":"2026-04-15","days_to_expiry":10,"is_opened":false,"urgency":"low","reasons":["Previsto esaurimento tra ~8gg"],"score":35,"on_bring":false,"locations":"frigo"},{"product_id":136,"name":"Biscotti Pastefrolle","brand":"Balocco","category":"snack","unit":"g","current_qty":350,"default_qty":700,"package_unit":"","pct_left":67,"use_count":4,"buy_count":2,"daily_rate":35.16,"uses_per_month":6,"days_since_last_use":0,"days_left":10,"expiry_date":null,"days_to_expiry":999,"is_opened":false,"urgency":"low","reasons":["Previsto esaurimento tra ~10gg"],"score":25,"on_bring":false,"locations":"dispensa"}],"cached_at":"2026-04-04T15:30:02+00:00","cached_ts":1775316602} \ No newline at end of file +{"success":true,"items":[{"product_id":151,"name":"Arance Tarocco","brand":"","category":"frutta","unit":"pz","current_qty":0,"default_qty":0,"package_unit":"","pct_left":0,"use_count":9,"buy_count":2,"daily_rate":0.55,"uses_per_month":13.6,"days_since_last_use":2,"days_left":0,"expiry_date":null,"days_to_expiry":999,"is_opened":false,"urgency":"critical","reasons":["Esaurito","Uso frequente (9x)"],"score":135,"on_bring":true,"locations":""},{"product_id":70,"name":"Latte Parzialmente Scremato Uht","brand":"Latteria","category":"bevande","unit":"conf","current_qty":0,"default_qty":500,"package_unit":"ml","pct_left":0,"use_count":13,"buy_count":3,"daily_rate":6.73,"uses_per_month":15.5,"days_since_last_use":9,"days_left":0,"expiry_date":null,"days_to_expiry":999,"is_opened":false,"urgency":"critical","reasons":["Esaurito","Uso frequente (13x)"],"score":135,"on_bring":true,"locations":""},{"product_id":129,"name":"Latte di Montagna","brand":"Mila","category":"en:dairies","unit":"conf","current_qty":0,"default_qty":1000,"package_unit":"ml","pct_left":0,"use_count":9,"buy_count":3,"daily_rate":0.2,"uses_per_month":13.6,"days_since_last_use":1,"days_left":0,"expiry_date":null,"days_to_expiry":999,"is_opened":false,"urgency":"critical","reasons":["Esaurito","Uso frequente (9x)"],"score":135,"on_bring":true,"locations":""},{"product_id":47,"name":"Lenticchie","brand":"Primia","category":"en:plant-based-foods-and-beverages","unit":"g","current_qty":0,"default_qty":400,"package_unit":"","pct_left":0,"use_count":5,"buy_count":3,"daily_rate":35.82,"uses_per_month":6,"days_since_last_use":0,"days_left":0,"expiry_date":null,"days_to_expiry":999,"is_opened":false,"urgency":"critical","reasons":["Esaurito","Uso frequente (5x)"],"score":130,"on_bring":true,"locations":""},{"product_id":115,"name":"Aglio rosso","brand":"Duoccio","category":"condimenti","unit":"pz","current_qty":0,"default_qty":0,"package_unit":"","pct_left":0,"use_count":2,"buy_count":2,"daily_rate":0.14,"uses_per_month":2.7,"days_since_last_use":15,"days_left":0,"expiry_date":null,"days_to_expiry":999,"is_opened":false,"urgency":"critical","reasons":["Esaurito"],"score":100,"on_bring":true,"locations":""},{"product_id":152,"name":"Muesli Frutta Secca","brand":"Crownfield","category":"altro","unit":"g","current_qty":0,"default_qty":750,"package_unit":"","pct_left":0,"use_count":4,"buy_count":2,"daily_rate":33.93,"uses_per_month":6.9,"days_since_last_use":9,"days_left":0,"expiry_date":null,"days_to_expiry":999,"is_opened":false,"urgency":"critical","reasons":["Esaurito"],"score":100,"on_bring":false,"locations":""},{"product_id":3,"name":"Cracker integrali","brand":"Barilla,Mulino Bianco","category":"en:snacks","unit":"conf","current_qty":2,"default_qty":25,"package_unit":"g","pct_left":12,"use_count":6,"buy_count":1,"daily_rate":0.56,"uses_per_month":7.1,"days_since_last_use":6,"days_left":4,"expiry_date":"2026-04-28","days_to_expiry":23,"is_opened":true,"urgency":"high","reasons":["Quasi finito (12%)"],"score":90,"on_bring":true,"locations":"dispensa"},{"product_id":132,"name":"Noci sgusciate","brand":"Fruttbella","category":"conserve","unit":"g","current_qty":60,"default_qty":200,"package_unit":"","pct_left":30,"use_count":4,"buy_count":1,"daily_rate":7.03,"uses_per_month":6,"days_since_last_use":0,"days_left":9,"expiry_date":"2026-04-29","days_to_expiry":24,"is_opened":true,"urgency":"medium","reasons":["Finisce tra ~9gg"],"score":50,"on_bring":true,"locations":"dispensa"},{"product_id":69,"name":"Cipolla Dorata","brand":"","category":"verdura","unit":"pz","current_qty":4,"default_qty":0,"package_unit":"","pct_left":44,"use_count":12,"buy_count":1,"daily_rate":0.32,"uses_per_month":14.3,"days_since_last_use":0,"days_left":12,"expiry_date":"2026-04-13","days_to_expiry":8,"is_opened":false,"urgency":"low","reasons":["Previsto esaurimento tra ~12gg"],"score":40,"on_bring":true,"locations":"frigo"},{"product_id":154,"name":"Mela Rossa","brand":"","category":"frutta","unit":"pz","current_qty":7,"default_qty":1,"package_unit":"","pct_left":32,"use_count":5,"buy_count":1,"daily_rate":0.87,"uses_per_month":8.7,"days_since_last_use":0,"days_left":8,"expiry_date":"2026-04-15","days_to_expiry":10,"is_opened":false,"urgency":"low","reasons":["Previsto esaurimento tra ~8gg"],"score":35,"on_bring":false,"locations":"frigo"},{"product_id":136,"name":"Biscotti Pastefrolle","brand":"Balocco","category":"snack","unit":"g","current_qty":350,"default_qty":700,"package_unit":"","pct_left":67,"use_count":4,"buy_count":2,"daily_rate":35.15,"uses_per_month":6,"days_since_last_use":0,"days_left":10,"expiry_date":null,"days_to_expiry":999,"is_opened":false,"urgency":"low","reasons":["Previsto esaurimento tra ~10gg"],"score":25,"on_bring":false,"locations":"dispensa"}],"cached_at":"2026-04-04T15:35:01+00:00","cached_ts":1775316901} \ No newline at end of file