diff --git a/components/modules/stats/SquareSizeCard.vue b/components/modules/stats/SquareSizeCard.vue
index feda887a..8930d48d 100644
--- a/components/modules/stats/SquareSizeCard.vue
+++ b/components/modules/stats/SquareSizeCard.vue
@@ -47,18 +47,22 @@ const getSquareSizes = async () => {
squareSize.value.forEach((item, index) => {
item.color = color(index)
- let share = Math.floor((item.value / total.value * 100))
+ let share = Math.round((item.value / total.value * 100))
totalSquares += Math.max(share, 1)
item.share = share
item.squares = Math.max(share, 1)
})
- if (totalSquares > 100) {
+ if (totalSquares !== 100) {
let maxSquaresIndex = squareSize.value.reduce((maxIndex, current, index, array) => {
return (current.squares > array[maxIndex].squares) ? index : maxIndex
}, 0)
- squareSize.value[maxSquaresIndex].squares = squareSize.value[maxSquaresIndex].squares - (totalSquares - 100)
+ if (totalSquares > 100) {
+ squareSize.value[maxSquaresIndex].squares = squareSize.value[maxSquaresIndex].squares - (totalSquares - 100)
+ } else {
+ squareSize.value[maxSquaresIndex].squares = squareSize.value[maxSquaresIndex].squares + (100 - totalSquares)
+ }
}
squareSize.value.forEach(item => {
@@ -166,7 +170,7 @@ onMounted(async () => {
{{ `${s.size} x ${s.size}` }}
- {{ `${s.share === 0 ? '<1' : s.share}%` }}
+ {{ `${s.share <= 1 ? '<1' : s.share}%` }}
{{ comma(s.value) }}