diff --git a/website/client/src/components/groups/questSidebarSection.vue b/website/client/src/components/groups/questSidebarSection.vue index 74126fc5fb..ee4628519e 100644 --- a/website/client/src/components/groups/questSidebarSection.vue +++ b/website/client/src/components/groups/questSidebarSection.vue @@ -149,7 +149,13 @@
- {{ Math.ceil(parseFloat(group.quest.progress.hp) * 100) / 100 }} / {{ parseFloat(questData.boss.hp).toFixed(2) }} + {{ + (Math.ceil(parseFloat(group.quest.progress.hp) * 100) / 100) + | localizeNumber(user.preferences.language, { toFixed:2 }) + }} / {{ + parseFloat(questData.boss.hp) + | localizeNumber(user.preferences.language, { toFixed:2 }) + }} @@ -160,9 +166,13 @@ > - {{ (user.party.quest.progress.up || 0) | floor(10) }} {{ $t('pendingDamageLabel') }} + + {{ + (user.party.quest.progress.up || 0) + | floor(10) + | localizeNumber(user.preferences.language, { toFixed:1 }) + }} {{ $t('pendingDamageLabel') }} +
diff --git a/website/client/src/filters/localizeNumber.js b/website/client/src/filters/localizeNumber.js new file mode 100644 index 0000000000..f086306f1c --- /dev/null +++ b/website/client/src/filters/localizeNumber.js @@ -0,0 +1,14 @@ +export default function localizeNumber (valIn, lang, optIn) { + // Extra catch just incase non number + const val = (typeof valIn === 'number') ? valIn : parseFloat(valIn); + + // Options Management + const { toFixed } = optIn; + const optOut = {}; + if (typeof toFixed !== 'undefined') { + optOut.maximumFractionDigits = toFixed; + optOut.minimumFractionDigits = toFixed; + } + + return val.toLocaleString(lang, optOut); +} diff --git a/website/client/src/filters/registerGlobals.js b/website/client/src/filters/registerGlobals.js index a6ae6e2d4e..57ddf1d63a 100644 --- a/website/client/src/filters/registerGlobals.js +++ b/website/client/src/filters/registerGlobals.js @@ -3,8 +3,10 @@ import round from './round'; import floor from './floor'; import roundBigNumber from './roundBigNumber'; import floorWholeNumber from './floorWholeNumber'; +import localizeNumber from './localizeNumber'; Vue.filter('round', round); Vue.filter('floor', floor); Vue.filter('roundBigNumber', roundBigNumber); Vue.filter('floorWholeNumber', floorWholeNumber); +Vue.filter('localizeNumber', localizeNumber);