feat: add media upload pipeline with multipart support, blurhash generation, and R2 storage

- Add project_media table with image/video variants, ordering, and metadata
- Implement multipart upload handlers with 50MB limit
- Generate blurhash placeholders and resize images to thumb/medium/full variants
- Update ProjectCard to use media carousel instead of mock gradients
- Add MediaManager component for drag-drop upload and reordering
This commit is contained in:
2026-01-14 22:34:15 -06:00
parent 39a4e702fd
commit e83133cfcc
33 changed files with 3462 additions and 226 deletions
+2
View File
@@ -26,12 +26,14 @@
"@logtape/logtape": "^1.3.5",
"@resvg/resvg-js": "^2.6.2",
"@xevion/satori-html": "^0.4.1",
"blurhash": "^2.0.5",
"clsx": "^2.1.1",
"overlayscrollbars": "^2.13.0",
"overlayscrollbars-svelte": "^0.5.5",
"posthog-js": "^1.321.1",
"posthog-node": "^5.21.0",
"satori": "^0.18.3",
"svelte-dnd-action": "^0.9.69",
"tailwind-merge": "^3.3.1"
},
"devDependencies": {