Skip to content

feat - Quick Return Home Screen - #1068

Open
mattsigal wants to merge 2 commits into
Moonfin-Client:mainfrom
mattsigal:feature/quick-return-home-screen
Open

feat - Quick Return Home Screen#1068
mattsigal wants to merge 2 commits into
Moonfin-Client:mainfrom
mattsigal:feature/quick-return-home-screen

Conversation

@mattsigal

@mattsigal mattsigal commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

Pull Request

Summary

Integrates Quick Return functionality onto the Home Screen for TV, Mobile, and Desktop clients.

  • TV Clients (PlatformDetection.isTV): Connects QuickReturnWrapper scroll state to _activeFocusedRowNotifier and _mediaBarFocusNode listeners. Supports both Media Bar Enabled and Disabled modes. When focused on lower rows (Row 1, Row 2, Row 3...), pressing Back on remote scrolls to top (0.0) and refocuses the top row / Media Bar via InlineBackInterceptor. When focused on top row / Media Bar, pressing Back triggers the exit confirmation dialog.
  • Mobile & Desktop Clients (!PlatformDetection.isTV): Displays floating circular Quick Return button in bottom-right corner when scrolled down on lower home rows. Tapping smoothly scrolls Home Screen back to top (0.0).

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.

  • Bound QuickReturnWrapper state to _activeFocusedRowNotifier and _mediaBarFocusNode in lib/ui/screens/home/home_screen.dart.
  • Handled top row focus determination for both Media Bar Enabled (_mediaBarFocusNode.hasFocus / _activeFocusedRowIndex == null) and Media Bar Disabled (_activeFocusedRowIndex == 0).
  • Implemented focus restoration to top row (_rowStateOf(0)?.requestFocusFromMemory()) when Media Bar is disabled.

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, Windows Desktop, and Android Mobile
  • Not tested (explain why):

Test Steps

  1. On Android TV (NVIDIA Shield TV Pro): Move DPAD focus down to Row 1, Row 2, or Row 3 on Home Screen (with Media Bar both enabled and disabled). Press Back on remote -> verifies smooth scroll to top and focus restoration to Media Bar or Row 0. Press Back again -> verifies exit confirmation dialog appears.
  2. On Windows Desktop: Scroll down on Home Screen -> verifies floating Quick Return button appears. Hover and click -> verifies smooth scroll to top.

Screenshots (if applicable)

Include screenshots or recordings for UI changes.

Android TV -- picture going down the home screen, pressing back, and being back at the top.

Windows Desktop:

Top of the Page (no icon):

2026-08-06_10-54-47_moonfin

Neon Pulse:

2026-08-06_10-55-31_moonfin 2026-08-06_11-03-10_moonfin

Moonfin Classic:

2026-08-06_11-03-37_moonfin 2026-08-06_11-03-41_moonfin

Checklist

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

@mattsigal mattsigal self-assigned this Aug 6, 2026
@jmawet

jmawet commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

Closes #832

@mattsigal

Copy link
Copy Markdown
Collaborator Author

Closes #832

Added, thanks

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.

[Feature] Scroll to top floating button

2 participants