Fix formatting of money values (#784)

Fixes https://github.com/modrinth/knossos/issues/736
This commit is contained in:
beansquared
2022-12-23 13:35:55 -06:00
committed by GitHub
parent 6d9dfb5deb
commit c536f7d342

View File

@@ -18,7 +18,7 @@ export default (ctx, inject) => {
})
inject('formatNumber', formatNumber)
inject('capitalizeString', capitalizeString)
inject('formatMoney', (number) => '$' + formatNumber(number.toFixed(2)))
inject('formatMoney', formatMoney)
inject('formatVersion', (versionsArray) =>
formatVersions(versionsArray, ctx.store)
)
@@ -189,6 +189,23 @@ export const formatNumber = (number) => {
}
}
export const formatMoney = (number) => {
const x = +number
if (x >= 1000000) {
return '$' + (x / 1000000).toFixed(2).toString() + 'M'
} else if (x >= 10000) {
return '$' + (x / 1000).toFixed(1).toString() + 'K'
} else {
return (
'$' +
x
.toFixed(2)
.toString()
.replace(/\B(?=(\d{3})+(?!\d))/g, ',')
)
}
}
export const formatBytes = (bytes, decimals = 2) => {
if (bytes === 0) return '0 Bytes'