Task: Add noscript fallback to image upload components #484

Open
opened 2026-04-16 07:11:29 +00:00 by jjalangtry · 0 comments
jjalangtry commented 2026-04-16 07:11:29 +00:00 (Migrated from github.com)

Problem

`ImageUpload` uses `FileReader`, `Canvas.toBlob()`, drag-and-drop events, and `fetch()` to upload to S3 presigned URLs — all requiring JS. Without JS the upload UI appears but is completely non-functional, with no indication to the user why.

Affected Files

  • `next/components/common/ImageUpload.tsx`
  • `next/app/(main)/purchasing/ReceiptForm.tsx` (receipt photo upload)

Fix

Add inside the upload component:

```html
\`\`\`

## Problem \`ImageUpload\` uses \`FileReader\`, \`Canvas.toBlob()\`, drag-and-drop events, and \`fetch()\` to upload to S3 presigned URLs — all requiring JS. Without JS the upload UI appears but is completely non-functional, with no indication to the user why. ## Affected Files - \`next/components/common/ImageUpload.tsx\` - \`next/app/(main)/purchasing/ReceiptForm.tsx\` (receipt photo upload) ## Fix Add inside the upload component: \`\`\`html <noscript> <p>Image upload requires JavaScript to be enabled.</p> </noscript> \`\`\`
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
SSE/WebsiteTheSSEquel#484
No description provided.