diff --git a/app/src/lang/translations/en-US.yaml b/app/src/lang/translations/en-US.yaml index de6fdc0f54..fe8e220943 100644 --- a/app/src/lang/translations/en-US.yaml +++ b/app/src/lang/translations/en-US.yaml @@ -437,6 +437,7 @@ system_collections: System Collections placeholder: Placeholder icon_left: Icon Left icon_right: Icon Right +count_other_revisions: '{count} Other Revisions' font: Font sans_serif: Sans Serif serif: Serif diff --git a/app/src/utils/abbreviate-number.ts b/app/src/utils/abbreviate-number.ts new file mode 100644 index 0000000000..39b2dca2dc --- /dev/null +++ b/app/src/utils/abbreviate-number.ts @@ -0,0 +1,23 @@ +export function abbreviateNumber(value: number) { + if (value >= 1000) { + const suffixes = ['', 'K', 'M', 'B', 'T']; + const suffixNum = Math.floor(('' + value).length / 3); + let shortValue: number = value; + + for (let precision = 2; precision >= 1; precision--) { + shortValue = parseFloat((suffixNum != 0 ? value / Math.pow(1000, suffixNum) : value).toPrecision(precision)); + const dotLessShortValue = (shortValue + '').replace(/[^a-zA-Z 0-9]+/g, ''); + if (dotLessShortValue.length <= 2) break; + } + + let valueAsString: string = String(shortValue); + + if (shortValue % 1 != 0) { + valueAsString = shortValue.toFixed(1); + } + + return shortValue + suffixes[suffixNum]; + } + + return value; +} diff --git a/app/src/views/private/components/revisions-drawer-detail/revisions-drawer-detail.vue b/app/src/views/private/components/revisions-drawer-detail/revisions-drawer-detail.vue index 19fa2fa690..2c93855b77 100644 --- a/app/src/views/private/components/revisions-drawer-detail/revisions-drawer-detail.vue +++ b/app/src/views/private/components/revisions-drawer-detail/revisions-drawer-detail.vue @@ -2,28 +2,39 @@ -