Commit Graph

131 Commits

Author SHA1 Message Date
Sam Becker
d2cca5ec9e Offer explicit sync controls 2026-02-21 14:03:44 -06:00
Sam Becker
3607d51c06
Select All Photos (2 of 2) (#375)
* Enable select all toggle

* Extend category path test coverage

* Preview queries when selecting all

* Hoist select all query count to app state

* Refine select photo behavior/presentation

* Refactor batch edit actions

* Refactor limit handling in path-based photo queries

* Show all tags in admin views

* Fix select all z-order
2026-02-16 09:23:28 -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
351f8869a6
Replace backing storage (#374)
* Centralize random suffix generation

* Introduce ••• menu in admin photos table

* Finalize re-upload behavior

* Finalize re-upload locales

* Honor resize config when re-uploading files
2026-02-10 21:17:57 -06:00
Sam Becker
ab0ddeee94 Create top-level cache module 2025-11-19 09:16:23 -06:00
Sam Becker
a00e38b395
Add Locations to Albums (#334) 2025-10-15 09:37:16 -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
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
379228cc03 Avoid unnecessary color collection when syncing outdated photos 2025-09-11 20:31:22 -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
Sam Becker
25b8d65030
Break up photo form into sections (#298) 2025-08-26 20:36:51 -05:00
Sam Becker
320f562cbc
EXIF title/caption capture (#294) 2025-08-17 17:18:16 -05:00
Sam Becker
0d5038bb56 Make caching resilient to missing update status 2025-08-04 09:59:45 -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
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
2b54dd781c Revalidate paths after individual upload adds 2025-07-06 11:27:36 -05:00
Sam Becker
70f6f48044
Exclude photo from feeds (#280)
* Add tooltip to 'hidden' checkbox

* Refine checkbox UI

* Allow photos to be excluded from main feeds

* Fix footer grid in photos excluded from feed

* Apply feed exclusion from batch upload

* Scrub final hidden/private language

* Add visibility icons to admin photo menu
2025-07-05 23:40:58 -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
6ec4bfbfe8 Update upload action types 2025-06-18 10:20:20 -05:00
Sam Becker
5704597a4f Extract common upload add routine 2025-06-18 09:54:30 -05:00
Sam Becker
e1e8f5cef0 Make caption generation title aware 2025-06-17 09:42:17 -05:00
Sam Becker
63fafb87af Accept titles when adding uploads 2025-06-17 09:33:07 -05:00
Sam Becker
b6d5f2ebb2 Add hide/unhide to admin photo menu 2025-05-26 23:59:51 -05:00
Sam Becker
d5a66290c3 Introduce keys commands: e, p, x 2025-04-26 15:57:12 -05:00
Sam Becker
b3dba5f676 Increase AI rate limit window for batch requests 2025-04-20 11:48:50 -05:00
Sam Becker
eea8f94eea Refine photo sync status checks 2025-04-19 23:25:01 -05:00
Sam Becker
7dd07aac6e Shrink client bundle 2025-04-04 18:09:47 -05:00
Sam Becker
f9db50e41a Generalize film type and labeling strategy 2025-04-01 21:08:36 -05:00
Sam Becker
0dfc12d06e Standardize film types/arguments 2025-03-30 00:51:14 -05:00
Sam Becker
763428547c Rename core film simulation pages 2025-03-29 22:40:44 -05:00
Sam Becker
0f0d9a32e3 Add hidden, favorite options to bulk uploads 2025-03-15 00:20:36 -05:00
Sam Becker
ee050b550e Refine recipe scanning ux 2025-03-13 21:55:27 -05:00
Sam Becker
8b6ea0da6d Allow users to opt out of global recipe titling 2025-03-13 17:47:39 -05:00
Sam Becker
ba18289e0e Finalize admin recipe management 2025-03-12 21:08:56 -05:00
Sam Becker
81b127468f Propagate recipe titles on photo create/update 2025-03-10 09:57:57 -05:00
Sam Becker
7911cf1e2e Auto-label recognized recipes 2025-03-06 14:41:07 -08:00
Sam Becker
1a273625a9 Finalize base multi-origin upload approach 2025-02-27 22:05:45 -06:00
Sam Becker
ac19ed2215 Integrate dynamic data into admin menu, update cmdk-menu 2025-02-26 17:41:17 -06:00
Sam Becker
541c09c551 Allow editing recipe data, protect manually configured fuji fields 2025-02-24 17:28:37 -06:00
Sam Becker
6554bd49c4 Stop removing film simulations on sync 2025-02-24 08:34:49 -06:00
Sam Becker
1508a9718c Rename src/app-core to src/app 2025-02-17 17:54:00 -06:00
Sam Becker
12cf156af3 Combine /services and /platforms 2025-02-16 10:19:16 -06:00
Sam Becker
a174654297 Refactor app/site/admin code paths 2025-02-11 18:06:15 -06:00
Sam Becker
4c00d2c82e Base AI tag generation on existing tags 2025-02-05 22:07:32 -06:00
Sam Becker
c69a965dce Warm functions instead of calling db on first page load 2025-02-02 22:19:31 -06:00
Sam Becker
e45c1eb8d9 Fix ESLINT 9 configuration 2025-01-05 19:47:40 -06:00
Sam Becker
3f29a4d0aa Refine async cache invalidation when installing photos 2025-01-05 17:12:51 -06:00
Sam Becker
93cf0d1f23 Mark server actions async 2024-12-22 12:43:51 -05:00
Sam Becker
e584a0364b Make photo querying more resilient 2024-09-07 11:45:24 -05:00