feat: smart use-all context, scale baseline reset, freezer-ok alert suppression, conf qty fix, low-stock finish button
- submitUseAll() now detects opened packages: if current location has an opened pack, finishes only that; if exactly one opened pack exists elsewhere, uses it automatically; multiple opened packs → disambiguation modal - quickUse() resets scale baseline on page open so stale weight doesn't immediately trigger auto-fill - Expired alerts (dashboard + banner) now filter out freezer items within their safety window (level='ok') - Review banner: conf unit quantity displayed as sub-unit total (e.g. 800g) instead of raw pack count; high-qty threshold evaluated on sub-unit volume to prevent '400 confezioni' nonsense - Low-stock review banner gains 'È finito tutto' button → new bannerFinishAll() handler - New _submitUseAllAt() helper and _showUseAllDisambiguation() modal - New translation keys: toast_opened_finished, disambiguation_hint, disambiguation_all, banner_review_action_finish (it/en/de)
This commit is contained in:
@@ -87,6 +87,7 @@
|
||||
"quick_recipe": "🍳 Schnelles Rezept mit ablaufenden Produkten",
|
||||
"banner_review_title": "Ungewöhnliche Menge",
|
||||
"banner_review_action_ok": "Ist korrekt",
|
||||
"banner_review_action_finish": "🗑️ Alles aufgebraucht",
|
||||
"banner_review_action_edit": "Korrigieren",
|
||||
"banner_review_action_weigh": "Wiegen",
|
||||
"banner_review_dismiss": "Ignorieren",
|
||||
@@ -238,7 +239,10 @@
|
||||
"when_tomorrow": "läuft <strong>morgen</strong> ab",
|
||||
"when_days": "läuft in <strong>{n} Tagen</strong> ab",
|
||||
"toast_used": "📤 {qty} von {name} verwendet",
|
||||
"toast_bring": "🛒 Produkt aufgebraucht → zu Bring! hinzugefügt"
|
||||
"toast_bring": "🛒 Produkt aufgebraucht → zu Bring! hinzugefügt",
|
||||
"toast_opened_finished": "🔓 Geöffnete Packung von {name} aufgebraucht!",
|
||||
"disambiguation_hint": "Was meinst du mit \"alles aufgebraucht\"?",
|
||||
"disambiguation_all": "🗑️ ALLES aufgebraucht ({qty})"
|
||||
},
|
||||
"product": {
|
||||
"title_new": "Neues Produkt",
|
||||
|
||||
@@ -87,6 +87,7 @@
|
||||
"quick_recipe": "🍳 Quick recipe with expiring products",
|
||||
"banner_review_title": "Anomalous quantity",
|
||||
"banner_review_action_ok": "It's correct",
|
||||
"banner_review_action_finish": "🗑️ All gone",
|
||||
"banner_review_action_edit": "Correct",
|
||||
"banner_review_action_weigh": "Weigh",
|
||||
"banner_review_dismiss": "Dismiss",
|
||||
@@ -237,7 +238,10 @@
|
||||
"when_tomorrow": "expires <strong>tomorrow</strong>",
|
||||
"when_days": "expires in <strong>{n} days</strong>",
|
||||
"toast_used": "📤 Used {qty} of {name}",
|
||||
"toast_bring": "🛒 Product finished → added to Bring!"
|
||||
"toast_bring": "🛒 Product finished → added to Bring!",
|
||||
"toast_opened_finished": "🔓 Opened package of {name} finished!",
|
||||
"disambiguation_hint": "What do you mean by \"all done\"?",
|
||||
"disambiguation_all": "🗑️ Finish EVERYTHING ({qty})"
|
||||
},
|
||||
"product": {
|
||||
"title_new": "New Product",
|
||||
|
||||
@@ -87,6 +87,7 @@
|
||||
"quick_recipe": "🍳 Ricetta veloce con prodotti in scadenza",
|
||||
"banner_review_title": "Quantità anomala",
|
||||
"banner_review_action_ok": "È corretto",
|
||||
"banner_review_action_finish": "🗑️ È finito tutto",
|
||||
"banner_review_action_edit": "Correggi",
|
||||
"banner_review_action_weigh": "Pesa",
|
||||
"banner_review_dismiss": "Ignora",
|
||||
@@ -237,7 +238,10 @@
|
||||
"when_tomorrow": "scade <strong>domani</strong>",
|
||||
"when_days": "scade tra <strong>{n} giorni</strong>",
|
||||
"toast_used": "📤 Usato {qty} di {name}",
|
||||
"toast_bring": "🛒 Prodotto finito → aggiunto a Bring!"
|
||||
"toast_bring": "🛒 Prodotto finito → aggiunto a Bring!",
|
||||
"toast_opened_finished": "🔓 Confezione aperta di {name} finita!",
|
||||
"disambiguation_hint": "Cosa intendi con \"finito tutto\"?",
|
||||
"disambiguation_all": "🗑️ Finito TUTTO ({qty})"
|
||||
},
|
||||
"product": {
|
||||
"title_new": "Nuovo Prodotto",
|
||||
|
||||
Reference in New Issue
Block a user