From 8af1ee8bd4fa14e4d5a09f49951f981d81bd3133 Mon Sep 17 00:00:00 2001 From: eewing Date: Thu, 19 Feb 2026 11:27:56 -0600 Subject: [PATCH] Refactor image upload handling in ReceiptForm and +page components by removing direct input element clicks and replacing them with accessible labels. Update styles for improved user experience and maintainability. --- src/routes/receipts/ReceiptForm.svelte | 26 ++++++++++---------------- src/routes/receipts/[id]/+page.svelte | 19 +++++++++++-------- 2 files changed, 21 insertions(+), 24 deletions(-) diff --git a/src/routes/receipts/ReceiptForm.svelte b/src/routes/receipts/ReceiptForm.svelte index a8734736..5a732d45 100644 --- a/src/routes/receipts/ReceiptForm.svelte +++ b/src/routes/receipts/ReceiptForm.svelte @@ -20,14 +20,9 @@ defaultType?: string; } = $props(); - let imageInputEl = $state(null); let imageFileName = $state(null); let imageConverting = $state(false); - function openScanReceipt() { - imageInputEl?.click(); - } - async function onImageChange(e: Event) { const input = e.currentTarget as HTMLInputElement; const file = input.files?.[0]; @@ -79,25 +74,24 @@
-
- +
+ {#if imageConverting}

Converting to WebP…

{:else if imageFileName} diff --git a/src/routes/receipts/[id]/+page.svelte b/src/routes/receipts/[id]/+page.svelte index 41314fbb..0be20dd8 100644 --- a/src/routes/receipts/[id]/+page.svelte +++ b/src/routes/receipts/[id]/+page.svelte @@ -133,9 +133,6 @@ imageOpen = mq.matches; }); - function openReplaceImage() { - imageInputEl?.click(); - } async function onImageChange() { const input = imageInputEl; const file = input?.files?.[0] ?? null; @@ -237,19 +234,25 @@ class="flex flex-col gap-4" > -
- +
+ {#if imageFileName} New: {imageFileName} {/if}