Commit Graph

82 Commits

Author SHA1 Message Date
Strtus
b9bef5e264 Load gallery images directly from R2 CDN, bypassing Next image proxy.
Use unoptimized next/image with pre-sized R2 URLs (-sm/-md/-lg) when a public R2 domain is configured. Falls back to the original file if a sized variant is missing.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-20 20:03:47 +08:00
Strtus
8e6df1e70c Simplify About page to title, subhead, and description only.
Remove avatar/hero photos and gallery stats from the public About view and admin editor, and add env-backed defaults for ABOUT_TITLE and ABOUT_SUBHEAD.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-20 17:16:31 +08:00
Sam Becker
645110fc36 Refactor redis config 2026-05-09 15:57:27 -05:00
João Pedro Sconetto
175970252c
fix(app): add normalize func for redis url (#391)
- solves issue when providers use rediss:// instead of https://
2026-05-09 15:48:28 -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
f3b3b82c6c Improve rate limit config compatibility 2026-04-10 19:12:36 -05:00
Sam Becker
4ab56b603f Stop displaying 0ev exposure compensation by default 2026-03-08 13:03:56 -05:00
Sam Becker
4f5461e327 Refine default about description 2026-03-01 23:19:26 -06:00
Sam Becker
5970bfb850
About Page (#378)
* Highlight /about in nav

* Refine full frame icon

* Add timestamp to /about

* Add /about to cmdk menu

* Enrich /about content

* Make /about categories responsive

* Enlarge app nav buttons

* Add /about richer categories

* Widen main nav buttons

* Add more /about category content

* Catch db errors in /about

* Update key /about image

* Add /about avatar

* Add jest TextEncoder polyfill

* Refactor sidebar text configuration

* Show /about hero photo meta

* Hoist about content to server page

* Hide admin email on small screens

* Add basic about page form

* Finalize basic /about upsert functionality

* Make /about/edit safe for blank templates
* Add configuration to hide /about page

* Add default /about title text

* Add interactive photos to /about edit form

* Apply final /about i18n

* Ensure /about static optimization

* Add CTA for admins to add /about descriptions

* Add convenience for accepting full photo urls

* Add photo placeholder icon

* Show /about empty state when there are no photos

* Hide sort control when in app empty state
2026-02-26 09:32:17 -06:00
Sam Becker
a63f2c3fe3
Select All Photos (1 of 2) (#372)
* Add 'select all photos' to app state

* Create general purpose bulk photo action

* Fix infinite scroll pagination, temporarily hide "select all"

* Refine batch edit behavior

* Add admin endpoints to check storage

* Add missing storage count

* Refine missing file presentation

* Finalize storage status page

* Store image-dependent photo fields when reuploading

* Move storage checks behind flag
2026-02-12 22:28:37 -06:00
Sam Becker
0b47d9d618 Remove leading v from Node.js debug version 2026-01-31 15:15:45 -06:00
Sam Becker
6b4c4970a3 Add react version to debugging 2026-01-30 21:13:34 -06:00
Sam Becker
545a360068 Debug node version 2026-01-30 20:58:32 -06:00
Sam Becker
3edc64d5cf Allow AI model override 2026-01-30 20:42:47 -06:00
Sam Becker
bcb37d93e6 Loosen Redis config check 2026-01-30 20:21:37 -06:00
Sam Becker
32d39f7e67 Add Next.js version to config export 2025-11-14 12:06:39 -08:00
Sam Becker
667328b166 Conditionally add build identifier to <head /> 2025-11-08 15:22:33 -06:00
Sam Becker
b9c31153f2 Remove db optimization experiment 2025-10-26 10:24:47 -05:00
Sam Becker
a00e38b395
Add Locations to Albums (#334) 2025-10-15 09:37:16 -05:00
Sam Becker
3b6001602a
Mobile Sidebar (#330)
* Show top entities on mobile

* Add config

* Localize 'more'/'less' text
2025-10-02 21:46:58 -05:00
Sam Becker
47fe1cf383 Add next/script customization 2025-09-21 14:30:29 -05:00
Sam Becker
8482a76dd6 Fix social network key display 2025-09-21 11:04:56 -05:00
Sam Becker
1a592aca26 Stop categorizing database as Vercel 2025-09-21 09:48:04 -05:00
Sam Becker
1e66815a3d
Albums (#315)
* Make /db top-level module

* Create Album type

* Pin pnpm version

* Generalize query modules

* Finalize album postgres data type

* Remove temp albums prop

* Create basic album primitives

* Fix temporary album bugs

* Add albums to sidebar

* Disambiguate string date utilities

* Localize album language

* Add album join option to core photo queries

* Tweak album icon placement

* Add album photo detail page

* Refine Album data model

* Display album subhead when available

* Generate album og images

* Finalize album share modal

* Add albums to sitemap

* Statically pre-render albums

* Display tags on albums

* Add albums to cmd-k menu

* Handle album tag overflow

* Stop truncating album subheads

* Create core admin album views

* Make albums editable

* Create/edit albums on photo save, add delete album
2025-09-16 21:47:22 -05:00
Sam Becker
38c085da59 Tweak prefixed redis creds 2025-09-12 22:13:18 -05:00
Sam Becker
f07f8e44b9 Make Redis connection resilient to more configurations 2025-09-12 21:45:11 -05:00
Sam Becker
0de8087fb4 Flag deprecated environment variables 2025-09-11 21:14:06 -05:00
Sam Becker
9e8242828c Add recommended keys for legacy env vars 2025-09-11 09:37:03 -05:00
Sam Becker
7c9ce0d26c
Expand social networks (#308)
* Create utility for managing env var-based key lists

* Add expanded social content

* Finalize content for social networks additions

* Add social network config to README
2025-09-10 23:22:26 -05:00
Sam Becker
1a72a84497 Bump deps 2025-09-01 21:03:25 -05:00
Sam Becker
f7de56a7b9 Refine storage config 2025-08-27 20:46:57 -05:00
Christopher Jeffrey
363354d797
feat: add minio support (#297) 2025-08-27 19:20:56 -05:00
Simon
ba7af69592
Fix html lang (#291) 2025-08-14 16:50:40 +02:00
Sam Becker
59f5c74269
Chromatic sorting (#284)
* Test color palette extraction

* Fix import

* Add hex <> oklch conversions

* Add 'hue' storage to photos

* Consolidate color modules

* Add chromatic config, track missing color data

* Bump deps

* Fix lens text test

* Finalize color storage

* Refactor color imports

* Hide form color data when disabled

* Store all average oklch color components

* Finalize color-config language

* Optimize photo syncing for color data

* Only update color data when syncing if possible

* Build out all color sorts

* Debug image colors

* Improve color debugging

* Improve color logging

* Simplify color sorting

* Bump deps

* Fix color sync logic

* Switch to sort params: ascending, descending

* Fix commandk sort menu

* Update tr-tr sorting language

* Add color capture to all photo extractions

* Add color visualization to photo form

* Standardize photo update language

* Create global debug color update function

* Improve color data capture logging

* Update maximum function duration for admin photos

* Add note to remove maxDuration

* Use AI to generate sorting color

* Conditionally use AI to analyze colors

* Manage AI color analysis batched requests

* Fix color reporting in admin photo table

* Only update color where AI fields are missing

* Temporarily upgrade admin/photos timeout

* Fix pro-based max duration

* Standardize color sorting foundations

* Update color sorting language

* Refactor color calculations

* Restore max duration time

* Update color-based sort menu labels

* Finalize color documentation

* Clean up color test actions

* Round color sort values before submitting to db

* Consolidate color server actions
2025-08-03 19:31:02 -05:00
Sam Becker
646f32e642
Rich sort controls (#283)
* Generalize app switcher menus

* Organize sort module

* Build configuration for nav sort control

* Refine sort menu styles

* Upgrade next.js

* Reset custom sort when clicking grid/full a second time

* Light up sort button when overridden
2025-07-15 22:43:36 -05:00
Sam Becker
b7cb6715b7
Speed up category hovers (#279)
* Extract out ShareHover components
* Refactor hover/category state
* Rename photo query options types
* Restore category count slice of app state
* Streamline entity hover headers
* Standardize swr keys
* Suppress hover counts to years
* Refine entity hover design
* Make image hovers opt out
2025-07-04 12:19:45 -05:00
Sam Becker
d7fbc8bd68
Configurable photo sort order (#277)
* Introduce configurable photo sort order

* Fix recents image pre-rendering

* Refine sort order config

* Store sort order in client state

* Add core views to support sort

* Separate sort and priority preferences

* Consolidate imports, add lint rule

* Refine photo sorting documentation

* Update README sort text

* Finalize sort config
2025-06-29 21:05:13 -05:00
Sam Becker
b3972a6032
Date-based photo sets (#276)
* Add 'recents' and 'years' categories

* Add recents and years visibility config

* Add fundamental recent/year queries

* Display initial date-based data in sidebar

* Adjust recents data type

* Remove date rage from sidebar footer

* Reformat recents/years in sidebar

* Organize years in grid

* Rename date -> year

* Add year-based views

* Split sidebar years into rows

* Add years to cmdk menu

* Localize 'years'

* Create /recents views

* Enable recents share modals

* Fix recents og image

* Statically optimize /recents image

* Don't statically optimize /recents page

* Update i18n

* Add recents to cmdk

* Suppress spinner for year badges

* Refactor sidebar height calculation

* Add recents to sitemap
2025-06-28 11:48:48 -05:00
Sam Becker
21d465c1ec Offer config for showing only tags with multiple photos 2025-06-25 09:29:05 -05:00
Sam Becker
4b341348e5 Reorder config sections 2025-06-25 08:36:16 -05:00
Sam Becker
e1af77d40c
OG image hovers (#268)
* Create og tooltip component

* Refactor og image handling

* Introduce category hover configuration

* Add og hovers to all categories

* Move category labels to client

* Disable og tooltips in headers

* Prevent og tooltips on accessory/loader hovers
2025-06-19 18:19:59 -05:00
Sam Becker
4dc9149931 Remove public api endpoint 2025-06-12 18:54:50 -05:00
Tadej Novak
559f61fa68
Add public feed configuration 2025-06-08 13:42:25 +02:00
Sam Becker
34e6fdb6c2 Refine site meta observability 2025-06-03 18:30:25 -05:00
Sam Becker
a063d0d29b Add meta content to admin config page 2025-06-03 09:35:51 -05:00
Sam Becker
d0fdbf4e04 Fix en-us labels 2025-05-27 17:49:45 -05:00
Sam Becker
bc7fc198c0 Adjust html lang attribute, standard i18n capitalization 2025-05-24 16:18:19 -05:00
Sam Becker
2888fd9318 Clarify photo matte color config 2025-05-23 17:15:54 -05:00
Sam Becker
87915875c7 Add OpenAI base url override to app config 2025-05-22 09:38:56 -05:00
Sam Becker
4f9da5d13d Support OpenAI-compatible providers 2025-05-22 09:33:40 -05:00