Commit Graph

3 Commits

Author SHA1 Message Date
Jeff Emmett 4b75464b93 fix: handle non-JSON error responses in design pipeline
Frontend was crashing with "Unexpected token 'I'" when the backend
returned plain text errors (e.g. "Internal Server Error" from proxy).
Now safely falls back to response.text() when JSON parsing fails.
Also prevents backend from swallowing HTTPException in catch-all.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 17:48:14 -08:00
Jeff Emmett 54ccbbc350 feat: add Upload Swag page with product mockup previews
Users can upload their own logo/design, see instant mockup previews on
shirts, stickers, and art prints via client-side Canvas compositing,
then save and activate the design to the store for ordering.

- Backend: POST /api/design/upload with file validation (type, size,
  dimensions), Pillow processing, saves to designs/uploads/
- Frontend: /upload page with drag-and-drop, real-time mockup gallery,
  activate/discard flow matching existing Design Swag pattern
- Fix: activate/delete endpoints now scan all category dirs instead of
  hardcoding stickers/
- Nav: "Upload Swag" button added to header and homepage CTAs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 12:38:58 -07:00
Jeff Emmett 72f072f233 Initial commit: rSwag - merch store for the rSpace ecosystem
Forked from mycopunk-swag-store and rebranded for rSpace:
- Next.js 15 + FastAPI + PostgreSQL + Stripe
- Printful + Prodigi POD integration
- AI design generation via Gemini API
- rSpace color scheme (cyan/orange) and branding
- In-repo designs directory (stickers, shirts, misc)

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