Commit Graph

131 Commits

Author SHA1 Message Date
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
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
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
71434c780b
Merge pull request #306 from sambecker/batch-edit-update
Finalize anywhere batch editing
2025-09-07 16:25:46 -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
Christopher Jeffrey
363354d797
feat: add minio support (#297) 2025-08-27 19:20:56 -05:00
Sam Becker
8727fc18ac Refactor image response url checks 2025-08-05 10:03:53 -05:00
Sam Becker
af4b7574c3 Check urls for pre-rendered og image /recents 2025-08-05 09:12:47 -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
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
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
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
5987ab9bdb Restore FieldsetWithStatus location 2025-07-10 17:12:41 -05:00
Sam Becker
d2ba985328 Temporarily move FieldsetWithStatus due to case insensitivity bug 2025-07-10 17:04:42 -05:00
Sam Becker
217baba066 Revert FieldSetWithStatus case change on imports 2025-07-10 10:01:49 -05:00
Sam Becker
c9484a5658 Revert FieldSetWithStatus case change 2025-07-10 10:00:18 -05:00
Sam Becker
9cea328386
Combine visibility setting into single dropdown (#281) 2025-07-10 09:58:27 -05:00
Sam Becker
8eeda8d84e Refactor detail page for photos excluded from feeds 2025-07-07 21:35:27 -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
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
c189e567b8 Conditionally pre-render /recents image 2025-06-28 13:44:35 -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
e1cd7d23f1 Add image fallback debug logging 2025-06-24 10:14:08 -05:00
Sam Becker
d2e62a9091
Improve tooltip segues (#272)
* Update GH issue template

* Create custom tooltip display engine

* Fix tooltip cleanup behavior

* Make tooltip position size-aware

* Refine tooltip og positioning

* Refine og tooltip behavior

* Refine og image loading behavior
2025-06-22 15:03:18 -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
f6bc865225 Improve upload state management 2025-06-18 21:35:24 -05:00
Sam Becker
144e68b965 Improve add/edit upload functionality 2025-06-18 18:35:10 -05:00
Sam Becker
7373a1b1f9 Make data static endpoints more resilient 2025-06-12 23:34:16 -05:00
Sam Becker
8b2d9d947e Update feeds error language 2025-06-12 21:34:06 -05:00
Sam Becker
bdfc122beb Refactor json/xml code 2025-06-12 21:16:26 -05:00
Sam Becker
4d904517a5 Create feed module 2025-06-12 21:07:49 -05:00
Sam Becker
9eb04f6015 Finalize feed behavior 2025-06-12 20:35:38 -05:00
Sam Becker
099fcdec8b Refine feed formatting 2025-06-12 19:04:42 -05:00
Sam Becker
4dc9149931 Remove public api endpoint 2025-06-12 18:54:50 -05:00
Sam Becker
534348b7a8 Update imports 2025-06-12 16:53:32 -05:00
Sam Becker
ec698b61de Begin combining feed and api 2025-06-12 16:31:45 -05:00
Tadej Novak
3c4adc2f9e
Add rss.xml and feed.json endpoints 2025-06-08 13:42:25 +02:00
Tadej Novak
feb4ad91fd
Add RSS feed to the layout 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
28823ed334 Add caption, semantic description conditionally to photo meta 2025-06-01 00:22:11 -05:00
Sam Becker
bdba4c8c7d Ensure sitemap dates exist before sorting 2025-05-27 17:47:25 -05:00
Sam Becker
311d7a77af
Sitemaps (#260)
* Track last modified date for category queries

* Remove unused hidden tags queries

* Add tags to sitemap

* Calculate sitemap validation

* Add remaining categories to sitemap.xml

* Add photos to sitemap.xml

* Finalize sitemap metadata

* Guard against missing dates in sitemap.xml
2025-05-26 12:41:47 -05:00
Sam Becker
bc7fc198c0 Adjust html lang attribute, standard i18n capitalization 2025-05-24 16:18:19 -05:00