Skip to content

Polaroid frame component with editable captions and adjustable frame size#17

Merged
ankitsejwal merged 7 commits into
mainfrom
feat/polaroid-component
Jun 28, 2026
Merged

Polaroid frame component with editable captions and adjustable frame size#17
ankitsejwal merged 7 commits into
mainfrom
feat/polaroid-component

Conversation

@ankitsejwal

Copy link
Copy Markdown
Member

What

Implements the Polaroid component (#3) — each uploaded photo now renders as a classic polaroid.

  • White frame with a thicker bottom band (classic look) + drop shadow
  • Two editable caption lines per photo, stored per-photo (captionTop / captionBottom); auto-fill from EXIF comes in EXIF auto-caption — date + city via exifr (headline feature) #4
  • Adjustable frame size via a slider (settings store), applied live to every polaroid
  • Graceful "preview unavailable" fallback inside the frame (e.g. HEIC in Chrome)
  • The grid now shows polaroids; remove-on-hover retained

Built as 7 granular commits (model → store action → settings store → font token → component → slider → grid wiring).

Verification

Check Result
pnpm lint ✅ oxlint 0/0
pnpm typecheck ✅ tsc 7.0.1-rc
pnpm build ✅ Vite 8

Visual: runs live on the dev server. A browser screenshot wasn't captured this round (the shared browser session was locked) — happy to attach one from a fresh isolated session if you want it on the PR.

Notes

  • Captions use a handwriting font token with a system-cursive fallback stack (Caveat → Segoe Print → Bradley Hand → cursive) — no external/Google font fetch, keeping the app fully offline/private.

Closes #3

@ankitsejwal ankitsejwal merged commit 2eae506 into main Jun 28, 2026
1 check passed
@ankitsejwal ankitsejwal deleted the feat/polaroid-component branch June 28, 2026 12:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Polaroid component — image + captions + adjustable frame

1 participant