Repository navigation
feat(viewer): add a photo info panel - #11
Merged
Merged
Conversation
An i button in the viewer opens a sheet with Lychee's About details for the photo on screen: size, dates, description, tags, albums, EXIF, location with a static map from the server's tile provider, and license. Server switches for EXIF, GPS, address and maps are respected and server HTML is shown as text. Spec impact: adds feature 008 spec, plan, tasks and open questions Q-008-01 to Q-008-04 plus ADR-008-01, and updates the knowledge map and roadmap Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds an i button to the photo viewer that opens Lychee's About details for the photo on screen in a sheet. It opens at half height so the photo stays visible, can be dragged to full height, and follows the photo while you swipe. It shows name, resolution and size, upload and capture dates, description, tags, the albums the photo is in, camera, lens, aperture, focal length, shutter, ISO, coordinates, altitude, address and license.
Nearly everything comes from the preformatted and precomputed data already loaded with each album page, so opening the panel only fetches the photo's albums (GET Photo/{id}/albums, Lychee 7.4.0+, left out on older servers) and the map provider once. The location map is static: tiles around the point from the provider Lychee is configured with (Map::provider), a marker and the provider's attribution, with no map library. Tapping it opens the phone's maps app.
Server settings are respected: no button when EXIF is disabled for all, no coordinates or map when GPS display is off, no address when location display is off, no map when the album doesn't allow one. The description arrives as HTML and is reduced to text with an inert DOMParser document, so nothing from the server runs in the WebView.
575 Vitest tests. The owner checked it on Android: the sheet, the map tiles, opening Google Maps and details matching the web panel. iPhone not checked yet.
Spec impact: adds feature 008 spec, plan, tasks and open questions Q-008-01 to Q-008-04 plus ADR-008-01, and updates the knowledge map and roadmap.
🤖 Generated with Claude Code