diff --git a/app/javascript/components/widgets/widgets/forest-change/fao-deforest/selectors.js b/app/javascript/components/widgets/widgets/forest-change/fao-deforest/selectors.js index 2d55f9b029..65924f7611 100644 --- a/app/javascript/components/widgets/widgets/forest-change/fao-deforest/selectors.js +++ b/app/javascript/components/widgets/widgets/forest-change/fao-deforest/selectors.js @@ -67,17 +67,14 @@ export const getSentence = createSelector( sentence = humdef ? globalHuman : globalInitial; } else if (!deforest) sentence = noDeforest; + const rateFormat = rate < 1 ? '.3r' : '.3s'; + const humanFormat = humdef < 1 ? '.3r' : '.3s'; + const params = { location: currentLabel, year: period && period.label, - rate: - rate < 1 - ? `${format('.3r')(rate)}ha/yr` - : `${format('.3s')(rate)}ha/yr`, - human: - humdef < 1 - ? `${format('.3r')(humdef)}ha/yr` - : `${format('.3s')(humdef)}ha/yr` + rate: `${format(rateFormat)(rate)}ha/yr`, + human: `${format(humanFormat)(humdef)}ha/yr` }; return { diff --git a/app/javascript/components/widgets/widgets/forest-change/fao-reforest/selectors.js b/app/javascript/components/widgets/widgets/forest-change/fao-reforest/selectors.js index 09187d2a8b..aeaceeab22 100644 --- a/app/javascript/components/widgets/widgets/forest-change/fao-reforest/selectors.js +++ b/app/javascript/components/widgets/widgets/forest-change/fao-reforest/selectors.js @@ -72,12 +72,12 @@ export const getSentence = createSelector( if (currentLabel !== 'global') { sentence = countryData && countryData.value > 0 ? initial : noReforest; } + const formatType = rate < 1 ? '.3r' : '.3s'; const params = { location: currentLabel, year: period && period.label, - rate: - rate < 1 ? `${format('.3r')(rate)}ha/yr` : `${format('.3s')(rate)}ha/yr` + rate: `${format(formatType)(rate)}ha/yr` }; return { diff --git a/app/javascript/components/widgets/widgets/forest-change/glad-ranked/selectors.js b/app/javascript/components/widgets/widgets/forest-change/glad-ranked/selectors.js index 1e47404e49..038a4d8dc9 100644 --- a/app/javascript/components/widgets/widgets/forest-change/glad-ranked/selectors.js +++ b/app/javascript/components/widgets/widgets/forest-change/glad-ranked/selectors.js @@ -123,13 +123,11 @@ export const getSentence = createSelector( } const topCount = percentileCount / totalCount * 100; const countArea = sumBy(data, 'area'); + const formatType = countArea < 1 ? '.3r' : '.3s'; const params = { timeframe: options.weeks.find(w => w.value === settings.weeks).label, count: format(',')(sumBy(data, 'count')), - area: - countArea < 1 - ? `${format('.3r')(countArea)}ha` - : `${format('.3s')(countArea)}ha`, + area: `${format(formatType)(countArea)}ha`, topPercent: `${format('.2r')(topCount)}%`, topRegions: percentileLength, location: currentLabel, diff --git a/app/javascript/components/widgets/widgets/forest-change/tree-gain-located/selectors.js b/app/javascript/components/widgets/widgets/forest-change/tree-gain-located/selectors.js index f3afe24c60..8c4ce6d69f 100644 --- a/app/javascript/components/widgets/widgets/forest-change/tree-gain-located/selectors.js +++ b/app/javascript/components/widgets/widgets/forest-change/tree-gain-located/selectors.js @@ -92,15 +92,6 @@ export const getSentence = createSelector( percentileGain += data[percentileLength].gain; percentileLength += 1; } - const value = - topRegion.percentage > 0 && settings.unit === '%' - ? `${format('.2r')(topRegion.percentage)}%` - : `${format('.3s')(topRegion.gain)}ha`; - - const average = - topRegion.percentage > 0 && settings.unit === '%' - ? `${format('.2r')(avgGainPercentage)}%` - : `${format('.3s')(avgGain)}ha`; const topGain = percentileGain / totalGain * 100; let sentence = !indicator ? initialPercent : withIndicatorPercent; @@ -108,6 +99,9 @@ export const getSentence = createSelector( sentence = !indicator ? initial : withIndicator; } + const valueFormat = topRegion.gain < 1 ? '.3r' : '.3s'; + const aveFormat = avgGain < 1 ? '.3r' : '.3s'; + const params = { indicator: indicator && indicator.value.toLowerCase(), location: currentLabel, @@ -115,13 +109,13 @@ export const getSentence = createSelector( percentileLength, region: percentileLength > 1 ? topRegion.label : 'This region', value: - topRegion.gain < 1 && settings.unit === 'ha' - ? `${format('.3r')(topRegion.gain)}ha` - : value, + topRegion.percentage > 0 && settings.unit === '%' + ? `${format('.2r')(topRegion.percentage)}%` + : `${format(valueFormat)(topRegion.gain)}ha`, average: - avgGain < 1 && settings.unit === 'ha' - ? `${format('.3r')(avgGain)}ha` - : average + topRegion.percentage > 0 && settings.unit === '%' + ? `${format('.2r')(avgGainPercentage)}%` + : `${format(aveFormat)(avgGain)}ha` }; return { diff --git a/app/javascript/components/widgets/widgets/forest-change/tree-loss-located/selectors.js b/app/javascript/components/widgets/widgets/forest-change/tree-loss-located/selectors.js index 95f1e00fdc..d91694977f 100644 --- a/app/javascript/components/widgets/widgets/forest-change/tree-loss-located/selectors.js +++ b/app/javascript/components/widgets/widgets/forest-change/tree-loss-located/selectors.js @@ -107,15 +107,6 @@ export const getSentence = createSelector( } const topLoss = percentileLoss / totalLoss * 100 || 0; let sentence = !indicator ? initialPercent : withIndicatorPercent; - const value = - topRegion.percentage > 0 && settings.unit === '%' - ? `${format('.2r')(topRegion.percentage)}%` - : `${format('.3s')(topRegion.loss)}ha`; - - const average = - topRegion.percentage > 0 && settings.unit === '%' - ? `${format('.2r')(avgLossPercentage)}%` - : `${format('.3s')(avgLoss)}ha`; if (settings.unit !== '%') { sentence = !indicator ? initial : withIndicator; @@ -124,6 +115,9 @@ export const getSentence = createSelector( sentence = noLoss; } + const valueFormat = topRegion.loss < 1 ? '.3r' : '.3s'; + const aveFormat = avgLoss < 1 ? '.3r' : '.3s'; + const params = { indicator: indicator && indicator.label.toLowerCase(), location: currentLabel, @@ -133,13 +127,13 @@ export const getSentence = createSelector( percentileLength, region: percentileLength > 1 ? topRegion.label : 'This region', value: - topRegion.loss < 1 && settings.unit === 'ha' - ? `${format('.3r')(topRegion.loss)}ha` - : value, + topRegion.percentage > 0 && settings.unit === '%' + ? `${format('.2r')(topRegion.percentage)}%` + : `${format(valueFormat)(topRegion.loss)}ha`, average: - avgLoss < 1 && settings.unit === 'ha' - ? `${format('.3r')(avgLoss)}ha` - : average + topRegion.percentage > 0 && settings.unit === '%' + ? `${format('.2r')(avgLossPercentage)}%` + : `${format(aveFormat)(avgLoss)}ha` }; return {