aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorSebastien Castiel <sebastien@castiel.me>2024-02-06 10:19:57 -0500
committerSebastien Castiel <sebastien@castiel.me>2024-02-06 10:19:57 -0500
commit0e6a2bdc6c45cf96fabb27aa3b1b41861c808636 (patch)
treeeee4798f590ba754d642087853f72ac459b776f3 /src/lib
parentbe0964d9e1d110ff647d3d6433835786b88f9435 (diff)
Limit file upload size on the client (#84)
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/utils.ts13
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`
+}