Skip to content

add toggle for full screen home rows#413

Merged
RadicalMuffinMan merged 4 commits into
Moonfin-Client:mainfrom
jmawet:modern-row-spacing
Jun 8, 2026
Merged

add toggle for full screen home rows#413
RadicalMuffinMan merged 4 commits into
Moonfin-Client:mainfrom
jmawet:modern-row-spacing

Conversation

@jmawet

@jmawet jmawet commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

Pull Request

Summary

Reduces spacing below modern home rows on TV by default. Adds toggle to enable larger spacing to make rows "full screen"

Related Issues

Link related issues or tickets separated by commas.

  • Closes #
  • Fixes #
  • Related to #

Discord discussion. Matt and I have different preferences on this, and some people complained on reddit about the new home row spacing. So you told me to make a toggle. Here is the toggle.

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.

  • add fullScreenRows to user preferences (default false)
  • add toggle for fullScreenRows in home screen settings (only if PlatformDetection.isTV)
  • add fullScreenRows to app localization
  • edit _v2MetadataHeightBudget for smaller default padding, with larger padding if(fullScreenRows)

Platform

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

Testing

Describe how this change was tested.

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

Test Steps

  1. Load on android phone, there is no toggle
  2. Load on android tv, spacing looks better by default
  3. Toggle full screen rows, see only 1 row on the screen at a time now

Screenshots (if applicable)

On my device (classic theme sidebar):
Toggle:
image

Default row height:
image

Full screen rows:
image

On @mattsigal device (neon theme top bar):
Default row height:
image

Full screen rows:
image

Checklist

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

Comment thread lib/ui/screens/home/home_screen.dart Outdated
double _v2MetadataHeightBudget(UserPreferences prefs) {
final hasAdditionalRatings =
prefs.get(UserPreferences.enableAdditionalRatings);
final homeRowsFullscreen =

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
final homeRowsFullscreen =
final fullScreenRows =

Comment thread lib/ui/screens/home/home_screen.dart Outdated
final hasAdditionalRatings =
prefs.get(UserPreferences.enableAdditionalRatings);
final homeRowsFullscreen =
prefs.get(UserPreferences.fullScreenRows);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
prefs.get(UserPreferences.fullScreenRows);
PlatformDetection.isTV && prefs.get(UserPreferences.fullScreenRows);
if (fullScreenRows) {
return 280.0;
}

the homeRowsFullscreen check is inside the if (hasAdditionalRatings) block. That means if a user has the "additional ratings" setting turned off, the function returns 136.0 and never even looks at your toggle.

Comment thread lib/ui/screens/home/home_screen.dart Outdated
prefs.get(UserPreferences.fullScreenRows);
if (hasAdditionalRatings) {
return PlatformDetection.isTV ? 208.0 : 144.0;
if (homeRowsFullscreen){

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if (homeRowsFullscreen){

Comment thread lib/ui/screens/home/home_screen.dart Outdated
if (hasAdditionalRatings) {
return PlatformDetection.isTV ? 208.0 : 144.0;
if (homeRowsFullscreen){
return 280;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
return 280;

Comment thread lib/ui/screens/home/home_screen.dart Outdated
return PlatformDetection.isTV ? 208.0 : 144.0;
if (homeRowsFullscreen){
return 280;
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
}

@jmawet jmawet requested a review from RadicalMuffinMan June 7, 2026 23:37
@RadicalMuffinMan RadicalMuffinMan merged commit 0e90eb2 into Moonfin-Client:main Jun 8, 2026
5 checks passed
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.

2 participants