diff options
| author | Sebastien Castiel <sebastien@castiel.me> | 2024-02-06 10:19:57 -0500 |
|---|---|---|
| committer | Sebastien Castiel <sebastien@castiel.me> | 2024-02-06 10:19:57 -0500 |
| commit | 0e6a2bdc6c45cf96fabb27aa3b1b41861c808636 (patch) | |
| tree | eee4798f590ba754d642087853f72ac459b776f3 /src/lib | |
| parent | be0964d9e1d110ff647d3d6433835786b88f9435 (diff) | |
Limit file upload size on the client (#84)
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/utils.ts | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/lib/utils.ts b/src/lib/utils.ts index 2ce486c..06d1989 100644 --- a/src/lib/utils.ts +++ b/src/lib/utils.ts @@ -29,3 +29,16 @@ export function formatCurrency(currency: string, amount: number) { const formattedAmount = format.format(amount / 100) return `${currency} ${formattedAmount}` } + +export function formatFileSize(size: number) { + const formatNumber = (num: number) => + num.toLocaleString('en-US', { + minimumFractionDigits: 0, + maximumFractionDigits: 1, + }) + + if (size > 1024 ** 3) return `${formatNumber(size / 1024 ** 3)} GB` + if (size > 1024 ** 2) return `${formatNumber(size / 1024 ** 2)} MB` + if (size > 1024) return `${formatNumber(size / 1024)} kB` + return `${formatNumber(size)} B` +} |
