Skip to content

feat-ui - SPOILERZONE: The PR - #1088

Open
mattsigal wants to merge 1 commit into
Moonfin-Client:mainfrom
mattsigal:feature/spoiler-free-toggles
Open

feat-ui - SPOILERZONE: The PR#1088
mattsigal wants to merge 1 commit into
Moonfin-Client:mainfrom
mattsigal:feature/spoiler-free-toggles

Conversation

@mattsigal

@mattsigal mattsigal commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator

Pull Request

Summary

This PR covers hiding spoilers from the UI in terms of both images (e.g., episode thumbnails) and text (e.g., plot descriptions). Reorganized the Details Screen and Home Screen settings panels under unified section layouts, added 3 new spoiler protection preferences (hideDetailsMediaDescription, detailUseSeriesThumbnails, hideHomeMediaDescription), implemented series landscape thumbnail resolution fallbacks across all Classic details page components, and added a dedicated Continue Watching & Next Up settings section.

Related Issues

Link related issues or tickets separated by commas.

Type of Change

  • Bug fix
  • New feature
  • Refactor
  • Performance improvement
  • UI/UX update
  • Documentation update
  • Build/CI change
  • Other (describe):

Changes Made

List the key changes included in this PR.

  • Reorganized Details Screen settings into Display, Media Details and Spoilers, and Recommendations sections in details_screen_settings_screen.dart.
  • Reorganized Home Screen settings into Home Row Display, Continue Watching and Next Up, Media Details and Spoilers, and Home Row Sections in home_screen_category_screen.dart.
  • Added preference definitions (hideDetailsMediaDescription, detailUseSeriesThumbnails, hideHomeMediaDescription) in user_preferences.dart, registered keys in synced_fields.dart, updated synced_fields_test.dart, and added search entries in settings_search_index.dart.
  • Implemented _resolveSeriesLandscapeThumbnailUrl in item_detail_screen.dart to resolve 16:9 landscape series artwork (Thumb tag -> parentThumb -> Backdrop tag -> seriesPrimary fallback) without passing mismatched episode tags, applying series landscape thumbnail fallback to _EpisodeThumbnail, _EpisodeListCardState, DetailNextUpCard, DetailEpisodeCard, and DetailChaptersRow.
  • Guarded overview description text across Classic (_HeaderSection) and Modern (modern_detail_content.dart) detail views as well as Home screen hero and InfoArea overlay (info_area.dart, home_screen.dart).
  • Added localized strings to app_en.arb and regenerated localization classes via flutter gen-l10n.

Platform

  • Android
  • iOS
  • tvOS
  • Web
  • macOS
  • Windows
  • Linux
  • All / Shared code

Testing

Describe how this change was tested.

  • Tested on emulator / simulator
  • Tested on physical device
  • Manual testing completed - Tested on Android OS
  • Not tested (explain why):

Test Steps

  1. Navigate to Settings -> General -> Details and toggle "Hide Media Description on Details Page" and "Use Series Thumbnails on Details Page".
  2. Open Classic details page for a TV show episode and verify episode overview description is hidden and episode/chapter cards display landscape series artwork.
  3. Navigate to Settings -> General -> Home Screen and verify sections: Home Row Display, Continue Watching and Next Up, Media Details and Spoilers, and Home Row Sections.

Screenshots (if applicable)

Include screenshots or recordings for UI changes.

The Spoilers

2026-08-08_14-59-26_moonfin 2026-08-08_15-04-23_moonfin

The Settings - Details Page (Modern)

Shield_Screenshot_2026-08-08_15-37-30

The Settings - Details Page (Classic)

Shield_Screenshot_2026-08-08_16-35-03

The Settings - Home Rows (Modern)

Shield_Screenshot_2026-08-08_15-42-55

Homescreen, No Description Text

Shield_Screenshot_2026-08-08_15-43-10

Spoiler-less Modern Details Page - MOVIE

Shield_Screenshot_2026-08-08_15-38-28

Spoiler-less Modern Details Page - TV SHOW

Shield_Screenshot_2026-08-08_15-37-48

Spoiler-less Classic Details Page - MOVIE

Shield_Screenshot_2026-08-08_15-39-10

Spoiler-less Classic Details Page - TV SHOW

Shield_Screenshot_2026-08-08_16-05-25 Shield_Screenshot_2026-08-08_16-05-34

Checklist

  • Code builds successfully
  • Code follows project style and conventions
  • No unnecessary commented-out code
  • No new warnings introduced

…gles

- Reorganize Details Screen settings panel into Display, Media Details and Spoilers, and Recommendations sections
- Reorganize Home Screen settings panel into Home Row Display, Continue Watching and Next Up, Media Details and Spoilers, and Home Row Sections
- Add preference toggles: hideDetailsMediaDescription, detailUseSeriesThumbnails, and hideHomeMediaDescription
- Implement series landscape thumbnail resolution fallback for Classic details screen components (_EpisodeThumbnail, _EpisodeListCardState, DetailNextUpCard, DetailEpisodeCard, DetailChaptersRow)
- Guard overview description text in Classic and Modern detail views and Home screen hero / info overlay with media description toggles
- Update synced_fields, search index, and localization files
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] Hide spoiler from unwatched episodes

1 participant