diff --git a/src/components/modules/downloads/TotalDownloadsModule.tsx b/src/components/modules/downloads/TotalDownloadsModule.tsx index 41b5b5413..80fd072c9 100644 --- a/src/components/modules/downloads/TotalDownloadsModule.tsx +++ b/src/components/modules/downloads/TotalDownloadsModule.tsx @@ -8,6 +8,7 @@ import { Datum, ResponsiveLine } from '@nivo/line'; import { useListState } from '@mantine/hooks'; import { AddItemShelfButton } from '../../AppShelf/AddAppShelfItem'; import { useConfig } from '../../../tools/state'; +import { humanFileSize } from '../../../tools/humanFileSize'; import { IModule } from '../modules'; import { useSetSafeInterval } from '../../../tools/hooks/useSetSafeInterval'; @@ -21,27 +22,6 @@ import { useSetSafeInterval } from '../../../tools/hooks/useSetSafeInterval'; * * @return Formatted string. */ -function humanFileSize(initialBytes: number, si = true, dp = 1) { - const thresh = si ? 1000 : 1024; - let bytes = initialBytes; - - if (Math.abs(bytes) < thresh) { - return `${bytes} B`; - } - - const units = si - ? ['kb', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] - : ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB']; - let u = -1; - const r = 10 ** dp; - - do { - bytes /= thresh; - u += 1; - } while (Math.round(Math.abs(bytes) * r) / r >= thresh && u < units.length - 1); - - return `${bytes.toFixed(dp)} ${units[u]}`; -} export const TotalDownloadsModule: IModule = { title: 'Download Speed',