Skip to content

fix(home-rows): small fixes to Home Sections#692

Merged
RadicalMuffinMan merged 2 commits into
Moonfin-Client:mainfrom
mattsigal:feature/home-section-fixes
Jul 3, 2026
Merged

fix(home-rows): small fixes to Home Sections#692
RadicalMuffinMan merged 2 commits into
Moonfin-Client:mainfrom
mattsigal:feature/home-section-fixes

Conversation

@mattsigal

@mattsigal mattsigal commented Jul 1, 2026

Copy link
Copy Markdown
Collaborator

Pull Request

Summary

Resolved Android TV rendering layout crashes, fixed reordering downwards logic of the merged block, and permanently cleaned up obsolete None row items from settings configurations.

Related Issues

Link related issues or tickets separated by commas.

  • Closes #
  • Fixes #
  • Related to #

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.

  • TV Merged Card Layout: Combined the adjacent Continue Watching and Next Up rows inside a single unified card layout _buildMergedTvTile on TV to avoid the A borderRadius can only be given on borders with uniform colors rendering exception.
  • Stretched Layout Alignment: Set the inner tile Column to CrossAxisAlignment.stretch so both rows take full width and the focused backdrop spans the entire card, resolving the alignment issue.
  • Reordering Down Fix: Corrected the index offset math inside _moveSection when moving merged blocks down to ensure the entire merged block correctly swaps places with the next card.
  • None Rows Filter: Modified fromJsonString in home_section_config.dart to ignore builtin configuration templates mapped to HomeSectionType.none.

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 TV
  • Not tested (explain why):

Test Steps

  1. Navigate to Settings > Home Sections with "Merge Continue Watching and Next Up" setting toggled on.
  2. Verify both Continue Watching and Next Up display inside a single container.
  3. Verify only one set of arrows is active at a time (on the focused tile, or top tile when unfocused), and that contrast is high.
  4. Verify pressing Left/Right arrow on either row reorders the entire block correctly.
  5. Verify no None sections are visible in the configuration list.

Screenshots (if applicable)

Include screenshots or recordings for UI changes.

MERGED

Shield_Screenshot_2026-07-01_03-56-32

UNMERGED

Shield_Screenshot_2026-07-01_03-58-09

Checklist

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

…sues

- Unified the merged Continue Watching and Next Up rows under a single TV container layout to prevent the uniform borders exception on Android TV.
- Stretched the inner tile Column crossAxisAlignment to stretch so the active backdrop wraps completely.
- Fixed the index offset math in _moveSection when moving a merged block downwards.
- Cleaned up the obsolete None rows mapping to HomeSectionType.none in home_section_config.dart.
- Switched to dynamic contrast-optimized reordering arrows on the active focused tile.
- Matched the unfocused card border decoration and width of the merged card to standard tiles.
@RadicalMuffinMan RadicalMuffinMan merged commit e8d47dc into Moonfin-Client:main Jul 3, 2026
6 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