From 1b179f9d16b83bffcb65e0849191b2092b412eb7 Mon Sep 17 00:00:00 2001 From: Drake Date: Mon, 29 Jun 2026 16:21:40 -0500 Subject: [PATCH] downscale pre-ai --- .../custom/submit-item-dialog.svelte | 38 ++++- src/routes/create/+page.server.ts | 0 src/routes/create/+page.svelte | 143 ------------------ src/routes/test/+page.svelte | 21 --- 4 files changed, 36 insertions(+), 166 deletions(-) delete mode 100644 src/routes/create/+page.server.ts delete mode 100644 src/routes/create/+page.svelte delete mode 100644 src/routes/test/+page.svelte diff --git a/src/lib/components/custom/submit-item-dialog.svelte b/src/lib/components/custom/submit-item-dialog.svelte index a878993..2491c48 100644 --- a/src/lib/components/custom/submit-item-dialog.svelte +++ b/src/lib/components/custom/submit-item-dialog.svelte @@ -17,13 +17,47 @@ let description: string | undefined = $state(); let isGenerating = $state(false); - async function onSelect(file: File) { + async function resizeImage( + file: File, + maxWidth = 300, + maxHeight = 300, + quality = 0.8 + ): Promise { + const bitmap = await createImageBitmap(file); + let { width, height } = bitmap; + + const scale = Math.min(maxWidth / width, maxHeight / height, 1); + + width = Math.round(width * scale); + height = Math.round(height * scale); + + const canvas = document.createElement("canvas"); + canvas.width = width; + canvas.height = height; + + const ctx = canvas.getContext("2d")!; + ctx.drawImage(bitmap, 0, 0, width, height); + + const blob = await new Promise((resolve) => + canvas.toBlob((blob) => resolve(blob!), "image/jpeg", quality) + ); + + return new File([blob], file.name, { + type: "image/jpeg", + lastModified: Date.now() + }); + } + + async function onSelect(file: File) { isGenerating = true; - const base64 = await fileToBase64(file); + const resized = await resizeImage(file, 300, 300, 0.8); + + const base64 = await fileToBase64(resized); description = await genDescription(base64); + isGenerating = false; } diff --git a/src/routes/create/+page.server.ts b/src/routes/create/+page.server.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src/routes/create/+page.svelte b/src/routes/create/+page.svelte deleted file mode 100644 index 3f30ad2..0000000 --- a/src/routes/create/+page.svelte +++ /dev/null @@ -1,143 +0,0 @@ - - -
-
- - - Submit Found Item - Your item will need to be approved before becoming public - - - - - Image - - - - - Name on Card - - - -
- - - Card Number - - - Enter your 16-digit number. - - - CVV - - -
-
- - Month - - - - {month || "MM"} - - - - 01 - 02 - 03 - 04 - 05 - 06 - 07 - 08 - 09 - 10 - 11 - 12 - - - - - Year - - - - {year || "YYYY"} - - - - 2024 - 2025 - 2026 - 2027 - 2028 - 2029 - - - -
-
-
- - - Billing Address - - The billing address associated with your payment method - - - - - - Same as shipping address - - - - - - - - - Comments - -