tia/public
Mannu 51e36633b9 Add step-by-step upload progress UI across all three upload points
Each upload now shows a persistent card with 3 labelled steps and their
live status (pending → active → done / error). Errors include the exact
HTTP status code + raw response body (handles non-JSON from Traefik,
nginx, etc. that return HTML error pages). The card stays visible after
failure so the user can read the diagnostic before dismissing.

Changes per surface:
- src/components/UploadProgress.tsx — new shared step-tracker component
- profile/page.tsx — step card rendered below avatar; safeResponseText()
  reads raw body so a Traefik 413 shows "HTTP 413: <html>..." not just
  "Upload failed"
- memories/page.tsx — fixed toast expands to show all 3 steps; dismissible
  after done/error; same safeResponseText pattern
- home/page.tsx (baby photo) — same fixed toast as memories; 3 steps with
  HTTP codes and raw body on error

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 11:17:01 +05:30
..
icons feat(pwa): add Serwist service worker, manifest, icons, install prompt 2026-05-27 23:20:48 +05:30
file.svg chore: initial setup 2026-05-10 03:33:32 +05:30
globe.svg chore: initial setup 2026-05-10 03:33:32 +05:30
icon.svg polish(marketing): favicon, scroll-reveal nav, Google button, font + hovers 2026-05-26 00:05:10 +05:30
next.svg chore: initial setup 2026-05-10 03:33:32 +05:30
sw.js Add step-by-step upload progress UI across all three upload points 2026-05-28 11:17:01 +05:30
vercel.svg chore: initial setup 2026-05-10 03:33:32 +05:30
window.svg chore: initial setup 2026-05-10 03:33:32 +05:30