diff --git a/metadata/en-US/changelogs/30405.txt b/metadata/en-US/changelogs/30405.txt index 3ba085551..c81450602 100644 --- a/metadata/en-US/changelogs/30405.txt +++ b/metadata/en-US/changelogs/30405.txt @@ -1,5 +1,6 @@ - added ability to export diary as CSV file - improved Open Food Facts search integration +- carbs values of items imported from USDA no longer include fiber - added support for Serbian language (Cyrillic and Latin) - various bugfixes diff --git a/www/activities/foodlist/js/usda.js b/www/activities/foodlist/js/usda.js index 7600ef862..3044307cb 100644 --- a/www/activities/foodlist/js/usda.js +++ b/www/activities/foodlist/js/usda.js @@ -182,15 +182,25 @@ app.USDA = { let value = app.Utils.convertUnit(n.value, n.unitName, units[x]); result.nutrition[x] = Math.round(value * multiplier * 100) / 100; - if (x == "sodium") - result.nutrition.salt = result.nutrition.sodium * 0.0025; - break; } } } }); + // The USDA db only contains values for sodium, but not for salt + if (result.nutrition.sodium !== undefined) { + result.nutrition.salt = result.nutrition.sodium * 0.0025; + } + + // The carbs values in the USDA db include fiber, but we don't want that + if (result.nutrition.carbohydrates && result.nutrition.fiber) { + let correctedCarbs = result.nutrition.carbohydrates - result.nutrition.fiber; + if (correctedCarbs < result.nutrition.sugars || 0) + correctedCarbs = result.nutrition.sugars || 0; + result.nutrition.carbohydrates = correctedCarbs; + } + return result; },