Commit Graph

2852 Commits

Author SHA1 Message Date
Sam Becker
91091b63a5 Bump deps 2026-05-02 16:05:08 -05:00
John
86d4f3dfca
Add masonry layout for photo grids (#390)
* add masonry layout for photo grids

- NEXT_PUBLIC_MASONRY_GRID env variable to turn masonry layout on and
off
- added PhotoGridMasonry.tsx to handle masonry layout

* fixed albums showing all photos when masonry grid is enabled

* only render infinite photo scroll for masonry grid when total photo count is greater than loaded photos

* fixed masonry grid lcp warnings

* add NEXT_PUBLIC_MASONRY_GRID description to README

* Use custom icon for masonry layout

* Add masonry to in-app config

* Simplify masonry architecture

---------

Co-authored-by: Sam Becker <sam@sambecker.com>
2026-05-02 16:01:08 -05:00
Sam Becker
af48b8d6d2 Bump deps 2026-04-20 17:44:14 -05:00
Sam Becker
b8bc4c7491 Bump deps 2026-04-10 19:14:57 -05:00
Sam Becker
f3b3b82c6c Improve rate limit config compatibility 2026-04-10 19:12:36 -05:00
Sam Becker
c062795f75 Bump deps 2026-04-07 09:23:38 -05:00
Sam Becker
d505dfa092 Merge remote-tracking branch 'refs/remotes/origin/main' 2026-04-07 09:20:42 -05:00
Sam Becker
b9494272f0 Add database dump to .gitignore 2026-04-06 10:21:18 -05:00
Ni Z.H.
a8b7c05e0c
Handle null exif.tags in getOffsetFromExif (#389)
Handle null exif.tags in getOffsetFromExif

`Object.values()` throws "Cannot convert undefined or null to object"
when `exif.tags` or `exifr` is null/undefined. This occurs when
uploading images that lack EXIF data (e.g., AI-generated images,
screenshots, or graphics). The issue is reproducible on Chrome but
not on Safari, likely due to differences in how each browser's
EXIF parsing pipeline populates these values.

This fix adds nullish coalescing fallbacks (`?? {}`) so that
`Object.values()` always receives a valid object.

* Fix optional chaining in getOffsetFromExif

If `exif` itself is null/undefined,
accessing `exif.tags` would throw before the `??` fallback kicks in.
2026-03-26 17:39:18 -05:00
Sam Becker
da6c6ef09c Bump deps 2026-03-21 11:30:13 -05:00
Sam Becker
58f8f17011 Bump deps 2026-03-15 18:47:29 -05:00
Sam Becker
2e017f0a51 Refine photo chooser 2026-03-13 22:01:13 -05:00
Sam Becker
2919f44a47 Add "manage albums" to cmd-k 2026-03-13 21:47:54 -05:00
Sam Becker
440c7b3f03 Add places to about page 2026-03-13 21:45:34 -05:00
Sam Becker
d3b1339c69 Increase time inputs to prevent iOS form zooming 2026-03-13 21:10:59 -05:00
Sam Becker
002124b161 Fix floating thumbnail on large screens 2026-03-13 21:09:05 -05:00
Sam Becker
cdb6130345 Extract date utility logic 2026-03-12 09:08:10 -05:00
Brandon
397d70c0a3
Add datetime picker to Taken At fields (#388)
* Add DateTimePicker component and integrate into PhotoForm for date selection
2026-03-12 08:39:29 -05:00
Sam Becker
ac96350849 Update package manager 2026-03-11 08:58:02 -05:00
Sam Becker
2f94d79746 Improve about grid layout when there's less content 2026-03-08 16:59:43 -05:00
Sam Becker
8fe3e81bde Allow about photos to be cleared 2026-03-08 16:56:38 -05:00
Sam Becker
58fac5c81b Add 'clear cache' to cmdk menu 2026-03-08 16:22:10 -05:00
Sam Becker
4ab56b603f Stop displaying 0ev exposure compensation by default 2026-03-08 13:03:56 -05:00
Sam Becker
bc4fe9b7a2 Update ISO field to integer 2026-03-06 09:13:03 -06:00
Sam Becker
691a39c85c
Fix config flag 2026-03-05 21:38:46 -06:00
Sam Becker
f7ef89e1c0 Bump deps 2026-03-05 18:33:30 -08:00
Sam Becker
e18af1a07d Update Vercel storage docs 2026-03-05 18:32:07 -08:00
Sam Becker
5e6e13ea09 Fix es-es locale import 2026-03-02 09:27:12 -06:00
Sam Becker
514be4de4a Fix about edit caching issue 2026-03-02 08:57:20 -06:00
Sam Becker
2f99f8f558 Fix about default description behavior 2026-03-01 23:29:16 -06:00
Sam Becker
4f5461e327 Refine default about description 2026-03-01 23:19:26 -06:00
Sam Becker
8569347c27 Leverage adjacent meta for about description 2026-03-01 22:36:11 -06:00
Sam Becker
be859f380e Merge branch 'photo-chooser' 2026-03-01 21:15:44 -06:00
João Pedro Sconetto
50999f2af3
chore(locales): add Spanish i18n translation (#381)
* chore(locales): add Spanish i18n translation

* chore(locales): rename spanish translation to es-es.ts

* docs: add key for new spanish translation
2026-03-01 21:04:50 -06:00
Sam Becker
5940bee86a
Photo Chooser (#383)
* Refactor photo/menu form components

* Fix pre-rendering error

* Incorporate server-side photo chooser data

* Create custom photo chooser grid

* Extract photo query logic to hook

* Make photo chooser searchable

* Create custom photo chooser menu

* Animate query menu, add favs to chooser

* Add photo chooser empty states
2026-03-01 20:55:46 -06:00
Sam Becker
af6f75fa0b Refine photo chooser behavior 2026-03-01 20:48:32 -06:00
Sam Becker
669d471dc0 Push back chooser icon color 2026-03-01 20:00:22 -06:00
Sam Becker
8a6131d539 Add photo chooser empty states 2026-03-01 19:56:07 -06:00
Sam Becker
f244b8ce94 Refactor photo chooser logic 2026-03-01 14:00:02 -06:00
Sam Becker
017869fda9 Animate query menu, add favs to chooser 2026-03-01 13:50:01 -06:00
Sam Becker
bd2dd6a030 Make /about/edit safely pre-render 2026-03-01 13:33:44 -06:00
Sam Becker
915b19bb54 Remove <FieldsetPhotoQuery /> 2026-03-01 13:27:46 -06:00
Sam Becker
38f724762e Refactor core photo chooser behavior 2026-03-01 13:23:25 -06:00
Sam Becker
7182e6db0e Create custom photo chooser menu 2026-02-28 21:20:54 -06:00
Sam Becker
bb7c393021 Refine photo chooser 2026-02-28 15:17:16 -06:00
Sam Becker
3694fd061d Make photo chooser searchable 2026-02-28 14:42:25 -06:00
Sam Becker
7baedd0700 Extract photo query logic to hook 2026-02-28 14:38:54 -06:00
Sam Becker
0465b51427 Create custom photo chooser grid 2026-02-28 14:16:14 -06:00
Sam Becker
42015f7d6d Incorporate server-side photo chooser data 2026-02-28 11:22:22 -06:00
Sam Becker
6af00c94f6 Fix pre-rendering error 2026-02-28 11:05:30 -06:00