feat: native shopping list — decouple from Bring! (#105)
- New shopping_list SQLite table (migration in migrateDB) - shoppingGetList/Add/Remove — delegates to Bring! or internal DB based on SHOPPING_MODE env var (default: internal) - isShoppingBringMode() guard: requires mode=bring + BRING credentials - bringQuickSyncProduct updated to support both modes - All bring_* JS calls replaced with shopping_* (bring_migrate_names kept) - New settings tab 'Lista spesa' (tab-bring) with: - Enable/disable shopping list toggle - Provider radio: internal vs Bring! - Bring! sub-section (shown only when mode=bring) - AI smart suggestions toggle - Forecast toggle - Auto-add threshold (qty slider) - Price estimation section - _applyShoppingSettingsUI, onShoppingEnabledChange, onShoppingModeChange - SHOPPING_* env vars documented in .env.example - cron_smart_shopping respects SHOPPING_MODE and SHOPPING_SMART_SUGGESTIONS - Translations: 12 new keys in all 5 languages (it/en/de/fr/es) - DB busy_timeout=5000ms + WAL pragma in getDB() (fixes #95)
This commit is contained in:
+16
-1
@@ -849,7 +849,22 @@
|
||||
"currency_title": "Currency",
|
||||
"currency_hint": "The currency used for all costs and prices in the app."
|
||||
},
|
||||
"tab_general": "General"
|
||||
"tab_general": "General",
|
||||
"shopping": {
|
||||
"tab": "Shopping list",
|
||||
"title": "Shopping list",
|
||||
"hint": "Configure the built-in shopping list or connect Bring!.",
|
||||
"enable_label": "Enable shopping list",
|
||||
"mode_label": "Provider",
|
||||
"mode_internal": "Built-in (no Bring!)",
|
||||
"mode_bring": "Bring! (external app)",
|
||||
"bring_section_title": "Bring! configuration",
|
||||
"ai_section_title": "AI assistance",
|
||||
"smart_suggestions_label": "AI suggestions",
|
||||
"forecast_label": "Forecast low-stock products",
|
||||
"auto_add_label": "Auto-add to list when",
|
||||
"auto_add_suffix": "remaining in stock (0 = only when empty)"
|
||||
}
|
||||
},
|
||||
"expiry": {
|
||||
"today": "TODAY",
|
||||
|
||||
Reference in New Issue
Block a user