From 0e6a2bdc6c45cf96fabb27aa3b1b41861c808636 Mon Sep 17 00:00:00 2001 From: Sebastien Castiel Date: Tue, 6 Feb 2024 10:19:57 -0500 Subject: Limit file upload size on the client (#84) --- src/lib/utils.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/lib') 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` +} -- cgit v1.3