feat(photos): justified (aspect-preserving) layout option

Adds a Grid/Justified toggle to the photos toolbar. Justified mode packs
tiles into Flickr-style rows scaled to the container width using each
photo's real aspect ratio (from the new /api/photos width/height, falling
back to 1:1 when missing). It composes with the virtualized renderer:
per-group materialization and the off-screen spacer height estimates are
both layout-aware. The choice persists in localStorage.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JW6ghFMDtnRYuYNzZhb47M
This commit is contained in:
Claude
2026-06-19 10:21:00 +00:00
parent 8d09589588
commit 75ee9b7cc4
3 changed files with 147 additions and 12 deletions
+3 -1
View File
@@ -71,7 +71,9 @@
"view_yearly": "Year",
"delete_title": "Move to Trash",
"delete_selected_confirm": "Move the selected items to Trash?",
"delete_one_confirm": "Move \"{{name}}\" to Trash?"
"delete_one_confirm": "Move \"{{name}}\" to Trash?",
"layout_square": "Grid",
"layout_justified": "Justified"
},
"music": {
"create_playlist": "Create Playlist",