Rich Manalang
ec55005df2
feat: add Nikon Z Picture Control support ( #361 )
...
* feat: add Nikon Z Picture Control support
* refactor: Consolidate Fujifilm and Nikon MakerNote parsing logic and remove unused code and comments.
* fix: decode film parameter before fetching photo data.
* fix: decode URL-encoded film parameters for improved routing
* feat: Add default set of Nikon Picture Controls for consistent labels and allow for Picture Controls not already in the database to be picked from the drop down.
* feat: Add camera make context to film components for conditional Fujifilm simulation display
2025-12-28 14:23:33 -05:00
Sam Becker
86dd2c6f19
Upgrade AI model
2025-11-19 09:34:02 -06:00
Sam Becker
1dd4475ae5
Bust cache on photo add
2025-11-19 09:23:36 -06:00
Sam Becker
ab0ddeee94
Create top-level cache module
2025-11-19 09:16:23 -06:00
Sam Becker
61fca59d87
Fix cached getPhotos request
2025-11-15 17:11:15 -06:00
Sam Becker
c5c78e527e
Increase cache coverage
2025-11-15 17:03:32 -06:00
Sam Becker
7662465248
Cache album queries
2025-11-15 16:31:46 -06:00
Sam Becker
64441a12c1
Add iPhone 17 generation lens specs
2025-11-14 12:57:09 -08: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
02f2d08e04
Use next/form component when editing photos
2025-11-06 21:47:48 -06:00
Sam Becker
450bc10c7d
Fix tag picker z-index when editing photo
2025-11-02 11:37:21 -06:00
Sam Becker
c8ea51cdd1
Next.js 16 ( #351 )
...
* Upgrade to next.js 16
* Allow static generation on preview
* Add note for disabled ref rule
* Report Next.js version in App Insights
* Link Next.js version
2025-11-02 11:23:52 -06:00
Sam Becker
3f1a36354d
Revert to Next.js 15
2025-10-27 10:06:14 -05:00
Sam Becker
dbf55badf6
Optimize Next.js 16 behavior ( #349 )
...
* Remove unused desktop redirect component
* Tweak useEffect/setState interactions
* Address more next.js 16 linting
* Tweak secret loading
* Finish linting setstate/useeffect interactions
* Disable ref lint warnings
2025-10-27 09:49:16 -05:00
Sam Becker
537e261570
Fix Next.js 15 compatibility
2025-10-26 11:15:33 -05:00
Sam Becker
70abf8178d
Remove synchronous setstate call in hover check
2025-10-26 11:00:09 -05:00
Sam Becker
ff9fc94ce1
Memoize clear share modal props callback
2025-10-26 10:37:02 -05:00
Sam Becker
e114343d1f
Remove unused pathname hook
2025-10-26 10:32:09 -05:00
Sam Becker
b9c31153f2
Remove db optimization experiment
2025-10-26 10:24:47 -05:00
Sam Becker
984039edce
Make infinite scroll pagination more precise
2025-10-26 10:21:12 -05:00
Sam Becker
9570a98168
Fix infinite scroll trigger
2025-10-26 09:47:11 -05:00
Sam Becker
5591635a1e
Next.js 16 ( #347 )
...
* Upgrade to Next.js 16, resolve/suppress linting errors
* Update usage of revalidateTag()
* Rename proxy.ts export
* Refactor infinite scroll data handling
2025-10-25 21:35:30 -05:00
Sam Becker
b4b89fcd37
Truncate long map hover captions
2025-10-22 09:04:41 -05:00
Sam Becker
c2a0e1585f
Album location hovers ( #345 )
2025-10-21 22:46:28 -05:00
Sam Becker
a03b758e3b
Suppress hover on private tag
2025-10-15 20:09:55 -05:00
Sam Becker
71c732e3ff
Tweak code note
2025-10-15 20:03:24 -05:00
Sam Becker
0218c07870
Only show <PlaceInput /> when location services are enabled
2025-10-15 19:52:46 -05:00
Sam Becker
362c739b75
Fix location services config reporting
2025-10-15 19:23:18 -05:00
Sam Becker
89af70134d
Minimize db connection errors on initial installation
2025-10-15 09:38:15 -05:00
Sam Becker
a00e38b395
Add Locations to Albums ( #334 )
2025-10-15 09:37:16 -05:00
Sam Becker
5c2dd092e4
Fix album form submission bug
2025-10-05 19:13:59 -05:00
Sam Becker
e8517c6cdd
Refine lightbox styles
2025-10-05 10:56:11 -05:00
Sam Becker
a2a8538948
Prevent photo selection in lightboxes
2025-10-05 10:41:54 -05:00
Sam Becker
75c4cd58fa
Hide ids when editing albums
2025-10-05 10:30:06 -05:00
Sam Becker
1a7a1c1e28
Fix photo lightbox component
2025-10-05 10:13:35 -05:00
Sam Becker
4a01ee4f9e
Prevent incorrect magnifying glass animations
2025-10-04 14:55:11 -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
64c4b21f75
Add 3-photo split layout to og images
2025-09-27 22:02:19 -05:00
Sam Becker
1d0973bfd1
Create custom layout for hovers with 3 images
2025-09-27 21:33:39 -05:00
Sam Becker
e5a0c6a326
Round UI, tweak sidebar
2025-09-27 20:41:22 -05:00
Sam Becker
9819a2b81e
AI Text Refinements ( #329 )
...
* Bump deps
* Add openai object generation with zod
* Streamline AI query instructions
* Use single AI request when editing uploads
* Clean up AI text from object requests
* Fix AI text formatting logic
* Reorganize upload network requests
2025-09-27 19:33:14 -05:00
Sam Becker
ffe7fe7b3d
Refine config list display
2025-09-23 17:37:21 -05:00
Sam Becker
76639a4195
Add AI query constructor
2025-09-23 17:11:58 -05:00
Sam Becker
e9d3c19c40
Pre-populate upload form with AI data
2025-09-22 09:18:57 -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
bcecebe936
Reposition tag/album edit menus
2025-09-21 10:13:40 -05:00
Sam Becker
7cad939694
Add link to footer admin email
2025-09-21 10:02:16 -05:00
Sam Becker
1a592aca26
Stop categorizing database as Vercel
2025-09-21 09:48:04 -05:00
Sam Becker
272d57bec5
Clarify env var insight recommendations
2025-09-20 19:35:07 -05:00
Sam Becker
5140addc8d
PNG/EXIF handling ( #328 )
...
* Refactor PNG/EXIF handling
* Increase quality of client-side resizes
2025-09-20 16:13:25 -05:00
Sam Becker
ee9f3f4dc2
Album upgrades ( #326 )
...
* Add tag-to-album upgrade, introduce tag/album ••• menus
* Refine entity ••• menus
* Add album tagging to "Select ..." mode
* Finalize batch select/upload add album
* Refine final tag/album interactions
* Refine upgradeTagToAlbum capitalization
* Fix batch album upload, z-index issues
* Refine readonly styles
2025-09-18 22:41:12 -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
62e8392900
Update config footer text
2025-09-13 17:07:48 -05:00
Sam Becker
38c085da59
Tweak prefixed redis creds
2025-09-12 22:13:18 -05:00
Sam Becker
8965dac4ff
Tweak redis client logic
2025-09-12 22:11:21 -05:00
Sam Becker
f07f8e44b9
Make Redis connection resilient to more configurations
2025-09-12 21:45:11 -05:00
Sam Becker
d13c8b0fae
Support EXIF data in PNG files ( #314 )
...
* Use exifr data to fill in gaps from PNG files
* Handle exif/exifr location data inconsistencies
2025-09-12 21:11:36 -05:00
Sam Becker
a5af7c617c
Optimize environment variable warning
2025-09-12 17:12:59 -05:00
Sam Becker
ca9cc320ed
Optimized outdated env var scroll
2025-09-12 08:54:04 -05:00
Sam Becker
9ed389f31f
Update deprecated env var styles
2025-09-11 21:20:52 -05:00
Sam Becker
0de8087fb4
Flag deprecated environment variables
2025-09-11 21:14:06 -05:00
Sam Becker
c9f74bd18c
Pad progress button
2025-09-11 20:41:15 -05:00
Sam Becker
9c1c924f20
Update breadcrumb when updating photos
2025-09-11 20:38:04 -05:00
Sam Becker
379228cc03
Avoid unnecessary color collection when syncing outdated photos
2025-09-11 20:31:22 -05:00
Sam Becker
9e8242828c
Add recommended keys for legacy env vars
2025-09-11 09:37:03 -05:00
Sam Becker
bd9b33422f
Refine bulk updating experience
2025-09-11 09:31:02 -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
25a8a473ab
Fix select photo ... navigation quirks
2025-09-08 17:55:36 -05:00
Sam Becker
61c1b1b0ec
Update hi-in locale
2025-09-08 08:40:34 -05:00
Jahidul Islam
cb79fcf4db
Add Hindi ( #307 )
2025-09-08 08:34:32 -05:00
Sam Becker
def0082fc3
Make sure the look for query params on navigation
2025-09-07 19:51:05 -05:00
Sam Becker
f539fb08a8
Tweak primary button styles
2025-09-07 19:11:06 -05:00
Sam Becker
861aa101d0
Update outdated sync text
2025-09-07 18:59:14 -05:00
Sam Becker
b720397837
Flag old photos as needing optimized file generation
2025-09-07 18:57:05 -05:00
Sam Becker
3ce901522c
Check smallest optimized file
2025-09-07 18:38:31 -05:00
Sam Becker
7ec8d69b5f
Fix admin photo menu hit target
2025-09-07 18:17:13 -05:00
Sam Becker
de0fa04ef8
Restore hovers in recipe overlay
2025-09-07 18:00:52 -05:00
Sam Becker
b56c852e58
Remove console logging
2025-09-07 16:34:40 -05:00
Sam Becker
ea7ede7608
Convert colons and underscores to dashes in url slugs
2025-09-07 16:33:27 -05:00
Sam Becker
71434c780b
Merge pull request #306 from sambecker/batch-edit-update
...
Finalize anywhere batch editing
2025-09-07 16:25:46 -05:00
Sam Becker
57879706a2
Scroll photo grid into view when selecting photos
2025-09-07 16:15:55 -05:00
Sam Becker
2d72f12ddd
Rename batch edit language
2025-09-07 12:52:30 -05:00
Sam Becker
db5f9ceb3a
Finalize batch select core behavior
2025-09-07 12:18:51 -05:00
Sam Becker
1f499e697e
Move batch editing to pure url-based state
2025-09-06 23:49:10 -05:00
Sam Becker
b8c01492b8
Store optimized assets for all photos ( #304 )
...
* Begin storing optimized photo files
* Increase optimized image size to 1080
* Refactor photo/storage modules
* Refine storage file naming api
* Simplify photo storage api
* Finalize photo storage api
* Start storing/serving optimized photos
* Finalize optimized photo asset generation
* Temporarily allow static optimization on PREVIEW branches
* Restore static optimization as production-only
* Remove og image inline-flex class
* Tweak convert upload signature
* Refactor optimized file storage
* Display optimized files when they exist in photo form
* Create small disclosure component
* Report photo storage files more accurately
* Sort optimized files
* Generate optimized storage files when updating/syncing photos
* Include source bucket when copying files with MinIO
* Make deleting files more resilient
2025-09-06 23:20:20 -05:00
Aonan Li
91f99508f7
Start batch editing from the current page ( #303 )
...
* Batch edit from the current page
* Redirect to grid when batch editing a page without grid
* Always clear selected ids on path change
* Only clear ids when selecting
* Use data-photo-grid to find grid
* Update batch edit from command K
* Not mount batch edit panel when not needed
* Not clear selecting state when go to /grid
* Use search param to force batch editing
2025-09-06 18:11:35 -05:00
Sam Becker
1a72a84497
Bump deps
2025-09-01 21:03:25 -05:00
Sam Becker
4dc3a976b7
Refining photo form floating thumbnail
2025-08-28 17:47:52 -05:00
Sam Becker
16e6711f0d
Tighten grid margins
2025-08-28 17:25:39 -05:00
Sam Becker
b9b3ddc79f
Remove console statements
2025-08-28 09:23:49 -05:00
Sam Becker
200f73a5ca
Warm redis store once per client session
2025-08-28 09:20:10 -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
Sam Becker
1b63f08d26
Adjust experimental badge in dark mode
2025-08-26 20:48:36 -05:00
Sam Becker
7c5630e8c1
Prevent thumbnail blocking form actions
2025-08-26 20:45:44 -05:00
Sam Becker
25b8d65030
Break up photo form into sections ( #298 )
2025-08-26 20:36:51 -05:00
Sam Becker
a85d5091a8
Tweak tag of image layout
2025-08-18 12:57:36 -05:00
Sam Becker
320f562cbc
EXIF title/caption capture ( #294 )
2025-08-17 17:18:16 -05:00
Sam Becker
56a989afe6
Alphabetize locales
2025-08-14 16:55:31 +02:00
Simon
19acbddef5
Add en-GB localisation ( #289 )
2025-08-14 16:53:52 +02:00
Simon
ba7af69592
Fix html lang ( #291 )
2025-08-14 16:50:40 +02:00
Sam Becker
0d02306ba0
Migrate to dedicated indent style line plugin
2025-08-08 23:29:00 -05:00
Sam Becker
b0072429d4
Improve color sort order symmetry
2025-08-06 09:10:06 -05:00
Sam Becker
8727fc18ac
Refactor image response url checks
2025-08-05 10:03:53 -05:00
Sam Becker
3a45838997
Enlarge ••• menu hit target
2025-08-04 21:51:29 -05:00
Sam Becker
e3cf228c44
Add color sort to cmdk menu
2025-08-04 21:46:42 -05:00
Sam Becker
0d5038bb56
Make caching resilient to missing update status
2025-08-04 09:59:45 -05:00
Sam Becker
bde87c2542
Fix non-deterministic color sort order
2025-08-04 09:48:18 -05:00
Sam Becker
4890b17868
Update color-based sort language
2025-08-04 09:35:04 -05:00
Sam Becker
6b888d7f81
Disable color hover for thumbnails
2025-08-03 19:46:21 -05: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
8ba32c5549
Add tr-tr type + lint
2025-07-31 09:06:21 -05:00
Mehmet Abak
2cf0a1b840
Added Turkish language support ( #285 )
...
* Create tr-tr.ts
* Update index.ts
* Update README.md
2025-07-31 09:04:36 -05:00
Sam Becker
2a2ffeba3c
Edit batch icon
2025-07-20 12:04:34 -05:00
Sam Becker
bf3de54797
Restore link primitive cleanup
2025-07-20 11:43:38 -05:00
Sam Becker
a5efb8a964
Refactor link actions
2025-07-20 11:37:06 -05:00
Sam Becker
f6e167bd04
Debug linkwithstatus cleanup
2025-07-20 10:43:19 -05:00
Sam Becker
2425287544
Add temporary logging to LinkWithStatus
2025-07-20 00:25:11 -05:00
Sam Becker
e1ba3d84b4
Update selectedPhotoIds dependency array
2025-07-20 00:16:09 -05:00
Sam Becker
a24d4460d9
Refine batch id clearing
2025-07-20 00:08:53 -05:00
Sam Becker
730708b0db
Refactor batch id clearing
2025-07-19 23:50:56 -05:00
Sam Becker
4d2cb31819
Always delay batch edit action
2025-07-19 23:32:37 -05:00
Sam Becker
3263603c25
Choreograph batch edit navigation/action
2025-07-19 23:28:10 -05:00
Sam Becker
6ab49d13e5
Hide admin menu tooltip on dismiss
2025-07-19 16:05:11 -05:00
Sam Becker
8c6e406904
Skip nav animation in empty state
2025-07-19 16:02:43 -05:00
Sam Becker
6c73b14b85
Make queries resilient to unconfigured installations
2025-07-19 15:36:42 -05:00
Sam Becker
fc8cca3f7f
Switch more menus to proper links
2025-07-19 13:56:46 -05:00
Sam Becker
c78c6fd7e0
Add sort options to cmd-k menu
2025-07-17 20:32:09 -05:00
Sam Becker
c2b1be5fb4
Always fade in images on first load
2025-07-17 17:14:38 -05:00
Sam Becker
6f677ec906
Fix admin visibility icon spacing
2025-07-17 09:30:10 -05:00
Sam Becker
76621b965b
Rationalize admin photo icon layout
2025-07-17 09:25:41 -05:00
Sam Becker
38768de87c
Add string comments
2025-07-17 09:01:33 -05:00
Sam Becker
27b0b4965a
Accept ampersands urls in cameras/lenses
2025-07-16 23:36:14 -05:00
Sam Becker
ea1e232232
Refine sidebar height calculation
2025-07-16 23:08:16 -05:00
Sam Becker
2dde902027
Check fallback fade/image load status on mount
2025-07-16 17:35:09 -05:00
Sam Becker
f2db4cf4d0
Add additional image fallback loading checks
2025-07-16 09:37:48 -05:00
Sam Becker
25533f088c
Restore image fallback check to 100ms
2025-07-16 08:51:49 -05:00
Sam Becker
1906d2dd20
Only log non-0 static generation
2025-07-16 08:40:24 -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
65f7f539a7
Fix photo details on mobile
2025-07-15 10:38:20 -05:00
Sam Becker
622fbda79f
Clean up indentation
2025-07-13 23:18:45 -05:00
Sam Becker
2b2bbeb5a5
Adjust config menu styles
2025-07-13 23:06:16 -05:00
Sam Becker
ac7506a1bc
Adjust admin photos table spacing
2025-07-13 22:59:34 -05:00
Sam Becker
aefda2db19
Add section menu to admin app config
2025-07-13 18:38:33 -05:00
Sam Becker
188c704589
Make app og image match home feed
2025-07-13 11:43:33 -05:00
Sam Becker
84587b4b83
Make sidebar photo count accurate
2025-07-13 11:31:33 -05:00
Sam Becker
54abdce4df
Enable visibility tooltips on mobile
2025-07-13 11:05:42 -05:00
Sam Becker
3b5d8214a2
Smooth out fallbacks on initial load
2025-07-12 10:38:01 -05:00