Commit Graph

7 Commits

Author SHA1 Message Date
Jeff Emmett 51529e4dad feat: Support multi-file uploads with batch progress and results
Frontend now accepts multiple files via drag-drop or browse, uploads
them sequentially with per-file progress tracking, and shows batch
results with "Copy all URLs". Includes 429 rate-limit auto-retry.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 15:09:13 -04:00
Jeff Emmett abdf1b2f65 fix: Constrain thumbnails to actual thumbnail size (160px)
Prevents large images from pushing metadata and buttons off-screen.
Uses object-fit: cover for clean cropping. Also shrink PDF preview.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-23 12:12:46 -07:00
Jeff Emmett e938f6d9a9 feat: Native previews for video, audio, and PDF files
Use presigned R2 URLs with native HTML elements instead of generic
icons for all previewable file types on the download page.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-23 11:16:18 -07:00
Jeff Emmett 18442a7564 feat: Allow custom URL slugs for uploads
Uploaders can optionally set a custom path via the "slug" field.
Slug appears before the file in multipart form so it's available
before streaming begins. Validated: alphanumeric + hyphens/dots/
underscores, 1-64 chars, checked for uniqueness.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-23 10:54:44 -07:00
Jeff Emmett 9ab1cb3349 feat: Add file thumbnails and fix download page layout
- Images show actual thumbnail from R2 (presigned inline URL)
- Video/audio/PDF show type-specific icons
- Use flexbox gap for consistent spacing (no overlap)
- Move filename into card as h2, remove top-level h1

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-23 10:47:44 -07:00
Jeff Emmett 86edcbdc21 feat: Add download page with view/download buttons
GET /f/{id} now shows a file info page with metadata and action buttons
instead of redirecting directly. Previewable files (images, video, audio,
text, PDF) get a "View" button (inline disposition). All files get a
"Download" button. Actual redirects moved to /f/{id}/dl and /f/{id}/view.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-23 10:36:05 -07:00
Jeff Emmett 374c55770d feat: Initial upload-service implementation
Go service streaming file uploads to Cloudflare R2 with SQLite metadata.
Features: drag-and-drop web UI, presigned URL downloads, password protection,
expiry with cleanup, rate limiting, CLI tool, Infisical secret injection.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-22 18:21:57 -07:00