Skip to content

Related to #1066 [Feature] add settings option to customize metadata items in scene card grid mode#6681

Open
donjoe96 wants to merge 1 commit intostashapp:developfrom
donjoe96:feature/1066
Open

Related to #1066 [Feature] add settings option to customize metadata items in scene card grid mode#6681
donjoe96 wants to merge 1 commit intostashapp:developfrom
donjoe96:feature/1066

Conversation

@donjoe96
Copy link
Copy Markdown

Related to #1066 [Feature] add settings option to customize metadata items in scene card grid mode

Summary

Implements #1066 — adds per-user controls to show or hide individual metadata elements on scene cards in grid view.

A new "Scene Card Display" section is added to Settings → Interface, directly below "Grid View". All toggles default to true, so existing users see no visual change unless they opt-out of specific elements.


Settings Location

Settings → Interface → Scene Card Display


Screenshots

image image

Changes

ui/v2.5/src/core/config.ts

  • Added ISceneCardOverlayOptions, ISceneCardDetailsOptions, ISceneCardPopoverOptions, ISceneCardOptions interfaces
  • Added defaultSceneCardOptions constant (all fields true)
  • Extended IUIConfig with sceneCard?: ISceneCardOptions

ui/v2.5/src/components/Scenes/SceneCard.tsx

  • SceneCardImage — conditionally renders rating banner, specs overlay fields (resolution / duration / file size), and interactive speed overlay
  • SceneCardDetails — conditionally renders date, description, and file path
  • SceneCardOverlays — conditionally renders studio logo overlay
  • SceneCardPopovers — conditionally renders each icon button (tags, performers, groups, markers, o-counter, galleries, organised badge, duplicate copies)
  • SceneSpecsOverlay — extended with showResolution, showDuration, showFileSize props

ui/v2.5/src/components/Settings/SettingsInterfacePanel/SettingsInterfacePanel.tsx

  • New SettingSection with 17 BooleanSetting toggles organised in 3 groups:
    • Thumbnail Overlay (6 toggles: rating, resolution, duration, file size, studio logo, interactive speed)
    • Card Text Details (3 toggles: date, description, file location)
    • Card Icon Buttons (8 toggles: tags, performers, groups, markers, o-counter, galleries, organised, duplicate copies)
  • Reset to Defaults button at the top of the section

ui/v2.5/src/locales/en-GB.json

  • Added config.ui.scene_card.* locale block with heading and plain-language description (tooltip) for every toggle

Behaviour

  • No backend changes — settings are stored as free-form JSON in IUIConfig via the existing configureUI GraphQL mutation (same pattern as imageWallOptions, ratingSystemOptions, etc.)
  • Zero visual regression — all options default to true, preserving the current appearance for users who do not change any settings
  • Persistent — preferences survive page reload via saveUI
  • Tooltips — every toggle has a subHeadingID pointing to a plain-language description, visible on hover, understandable without technical knowledge

Contributor Checklist

  • Code follows existing patterns (uses BooleanSetting, SettingSection, saveUI — same as adjacent settings)
  • No new external dependencies introduced
  • Locale strings added to en-GB.json (the master locale)
  • Default values preserve existing visual behaviour for all current users
  • TypeScript compiles with zero new errors (npx tsc --noEmit)
  • Tested manually: toggling each option hides/shows the corresponding card element; Reset to Defaults restores all
  • Previously submitted issues and PRs reviewed — this directly addresses issue [Feature] add settings option to customize metadata items in scene card grid mode #1066 with no existing duplicate PR
  • I acknowledge the AGPL licence agreement per CONTRIBUTING.md

feel free to share your feedback and connect with me

@Gykes
Copy link
Copy Markdown
Collaborator

Gykes commented Mar 15, 2026

I think this will be deferred to the next release. The main dev is looking to close out development work for this release soon. He is welcomed to supersede me but I think this should wait for the next set of dev releases.

A conversation about design implementation should probably be had as well

@Gykes Gykes self-assigned this Mar 17, 2026
@Gykes Gykes added the deferred Good feature that can be looked at for a later release. label Mar 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

deferred Good feature that can be looked at for a later release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants