Skip to content

[EPIC] UI improvements for Gallery view - #574

Merged
conservationtimothy merged 15 commits into
mainfrom
feat/gallery-ui-improvements
Aug 5, 2026
Merged

[EPIC] UI improvements for Gallery view#574
conservationtimothy merged 15 commits into
mainfrom
feat/gallery-ui-improvements

Conversation

@conservationtimothy

Copy link
Copy Markdown
Contributor

By submitting a pull request to this project, you agree to license your contribution under the terms of the MIT License.

Please read our Contributor License Agreement and other Contributing Guidelines.

Goal

Screenshots

What I changed and why

How I convinced myself this is right

What I'm not doing here

LLM use disclosure

conservationtimothy and others added 12 commits June 1, 2026 16:26
…ome for all media (#473)

* feat(gallery): componentize grid tiles with rounded media chrome

* feat(gallery): add hover overlay prompting detail view

* give tiles consistent hit areas

* galleryNoMedia i18n

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
…ile) #449 Open Feature (#475)

### Goal

Closes #449. Add split panel gallery detail. 

### Screenshots

<img width="1416" height="790" alt="Screenshot 2026-06-01 at 17 18 29"
src="https://github.com/user-attachments/assets/59748805-cc92-4119-8121-d63386e93a15"
/>

<img width="693" height="796" alt="Screenshot 2026-06-01 at 17 27 52"
src="https://github.com/user-attachments/assets/778bd5b1-f1d8-47ea-b3e2-05fd49437f13"
/>

### What I changed and why

- Clicking a tile replaces the gallery grid with an inline detail view:
media on the left, metadata in a violet panel on the right on large
screens, stacked on small
- Detail view is closed via a "← Gallery" back link, the header X
button, or Escape
- Filters and tiles are hidden while detail is open to keep context
clear
- Fixed sticky hover overlay bug by suppressing overlays on all tiles
while detail is open and blurring the tile that triggered it
- Gallery route now uses the `explorer` layout to get the same
`AppHeader` as index, dataset, and config pages

### How I convinced myself this is right

Hiding the grid when detail is open matches the design mock (full
content swap). Reusing `DataFeature` with `hideMedia` and `embedded`
keeps one metadata renderer without duplicating fields. The overlay fix
targets focus/hover state on the opener.`explorer` layout is the same
mechanism other top-level pages use for `AppHeader`; no duplicate header
component.

### What I'm not doing here

- Per-entry media carousel in tiles/detail (#450)
- Purple theming pass beyond existing `bg-violet-50` panel
- Filter modal / media-type filter / Mapbox minimap (later epic items)

### LLM use disclosure

Styling largely by me, commited by cursor
Co-authored-by: Cursor <cursoragent@cursor.com>
* Add gallery-scoped detail metadata with purple styling

* improve playwright tests

* Add static Mapbox minimap to gallery detail panel

* Remove Kobo attachment download UI; link Filebrowser media instead

* Extract DetailMinimap as a shared component

Move minimap UI/utils out of gallery naming so they can be reused elsewhere.

* Use FileDown icon for gallery file links

Co-authored-by: Cursor <cursoragent@cursor.com>

* Rename DetailMinimap to shared Minimap

    Move util to utils/minimap.ts so it is not gallery-scoped.

* Use FileDown icon for gallery file links

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Preserve gallery detail behavior while adopting main's view workflow and copy updates.
…el, purple accents (#556)

Add collapsible gallery filters panel
…557)

* Improve gallery audio presentation

* Document gallery audio pull request

* restore github template

* Keep gallery carousel arrows fixed across slides

Arrows jumped between centered and top corners when navigating onto an
audio slide. Reserve the arrow strip for the audio player instead so the
controls stay put and can never overlap.
Remove lightbox vendor and data-lightbox wiring
Add gallery view title and description
* Rename gallery Image details to Media details

* Rename galleryImageDetails key to galleryMediaDetails
* Add gallery media type filter

* fix filtering

* create shared MediaTypeFilter component

* Move media type filter types and helpers to owned files

Types live in types/; path and filter helpers in mediaHelpers. Tests
reuse a shared allowedFileExtensions fixture from nuxt-aligned lists.
* Add in-app image modal for MediaFile

Replace removed vendor lightbox with a shared modal opened on image
click (Map sidebar, Gallery, etc.). Keep audio/video behavior unchanged.

* Only open image modal outside gallery grid tiles

Gallery tiles stay click-through to detail view; modal is enabled for
default/map MediaFile and gallery detail via enableImageModal.

* alphabetic sort
@conservationtimothy conservationtimothy changed the title Feat/gallery UI improvements [EPIC] UI improvements for Gallery view Aug 5, 2026
@rudokemper

Copy link
Copy Markdown
Member

Remember to not do "Squash and Merge" but rather "Merge Commit" for this one 🙂

Importing @/server/utils loads dbConnection at module time, which
requires NUXT_DB_* and breaks pure unit runs; match map endpoint mocks.
@conservationtimothy
conservationtimothy merged commit 5d1fe88 into main Aug 5, 2026
4 checks passed
@conservationtimothy
conservationtimothy deleted the feat/gallery-ui-improvements branch August 5, 2026 20:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants