Skip to content

feat(web): extend media tile info tables to media_file and media_series#69

Draft
andykais-claude wants to merge 1 commit into
wip-media-tile-info-tablefrom
cursor/extend-media-tile-info-tables-a2d4
Draft

feat(web): extend media tile info tables to media_file and media_series#69
andykais-claude wants to merge 1 commit into
wip-media-tile-info-tablefrom
cursor/extend-media-tile-info-tables-a2d4

Conversation

@andykais-claude

Copy link
Copy Markdown
Collaborator

Extends the Configurable Media Tile Info Table feature from #65 to regular media_file and media_series search results, and adds a footer toggle to show or hide the info tables.

Walkthrough

demo_media_tile_info_tables.mp4

Info tiles enabled, showing the series tile (Cat Collection) followed by regular media tiles with tag_count, unread, stars, and datetime rows.

Info tiles enabled at the default thumbnail size.

Info tiles disabled: the old compact chip layout is restored.

Changes

For regular media_file search results, each tile's info table now shows:

  • tag_count — the number of tags on the media reference.
  • unreadeye icon + read if view_count > 0, else eye-slash icon + unread.
  • stars — displayed as a row of filled/empty star.svg icons; tooltip shows N stars.
  • datetimesource_created_at when present, falling back to created_at. The row icon title is set to the field that is being shown (so hovering reveals which field is displayed).

For media_series search results, each tile's info table shows:

  • series_countmedia_series_length of the series.
  • stars — same pattern as above.
  • datetime — same source_created_atcreated_at fallback with the title describing the field.

The grouped (tag_group search) path keeps its existing two-entry info table behavior.

Toggle

A new info tiles: on/off button is added to the footer. When turned off, media_file/media_series tiles fall back to the old compact chip display (video play icon + duration, photo / gif / music icons, series copy icon + length).

Config schema

web.ui_defaults.media_list.info_tiles gains a new top-level enabled flag plus tag_count, unread, stars, datetime, series_count entries — each with the same {enabled, order?} shape as the existing tag_group / sort_top entries. All default to enabled: true.

Component changes

  • MediaTileInfoTable.svelte now understands a {type: 'stars', value} value and renders it as a row of filled/empty star.svg icons. The queryparams entry field is typed to match the queryparams.merge return type.
  • New icons: Eye, EyeSlash, TagIcon, Calendar.
  • SettingsRune exposes ui.media_list.info_tiles.enabled so the footer toggle can flip it.

Testing

  • deno task --cwd packages/web build — production build succeeds.
  • ✅ Manual test against a populated forager database (via deno task --cwd packages/cli develop gui): verified info tables render for both media_file and media_series, tooltips show N stars / source_created_at, and the footer toggle switches between the info-table and compact-chip displays. See the video and screenshots above.
  • ⚠️ deno task --cwd packages/web check reports 144 pre-existing svelte-check errors that are unrelated to this change. No new errors are introduced by the diff in this PR.

To show artifacts inline, enable in settings.

Open in Web Open in Cursor 

- Add configurable info tile entries for media_file: tag_count, unread status, stars (star icons), datetime (source_created_at with fallback to created_at)
- Add configurable info tile entries for media_series: series_count, stars, datetime
- Add master toggle in footer to enable/disable info tiles and fall back to the simple info chip display
- Add Eye/EyeSlash/TagIcon/Calendar icons
- MediaTileInfoTable now supports rendering a stars value as a row of star icons

Co-authored-by: andykais-claude <andykais-claude@users.noreply.github.com>
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