Skip to content

feat: add pull-to-refresh to Discover and Library Browse#1528

Open
RyanTheTechMan wants to merge 2 commits into
edde746:mainfrom
RyanTheTechMan:feature/pull-to-refresh
Open

feat: add pull-to-refresh to Discover and Library Browse#1528
RyanTheTechMan wants to merge 2 commits into
edde746:mainfrom
RyanTheTechMan:feature/pull-to-refresh

Conversation

@RyanTheTechMan

Copy link
Copy Markdown
Contributor

Added pull-to-refresh behavior to Discover and Library tabs on touch devices and desktop trackpads.

Changes

  • Add shared pull-to-refresh behavior for touch input and trackpads.
  • Reload Discover through its existing full refresh path fix: home refresh everytime you go back a to home page #53
  • Reuse the shared behavior for Recommended, Collections, and Playlists without nested refresh indicators (ready for if filters are added later on to these tabs)

Ordinary navigation back to Home continues to use the lightweight refresh behavior introduced in edde746#53.
Copilot AI review requested due to automatic review settings July 11, 2026 01:48

Copilot AI left a comment

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.

Pull request overview

This PR introduces a shared pull-to-refresh wrapper that works for both touch drags and desktop trackpad pan/zoom gestures, then wires it into the Discover screen and Library browsing flows (including the “folders” grouping) while adding coverage to ensure Discover refresh triggers via trackpad input.

Changes:

  • Add AppRefreshIndicator, a reusable widget that can trigger RefreshIndicator via trackpad pan/zoom when starting at the top of a scroll view.
  • Enable pull-to-refresh on Discover and library browse surfaces by wrapping their primary scroll views and ensuring always-scrollable physics where needed.
  • Extend the Discover screen test to validate refresh-on-trackpad-pull behavior.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
test/screens/discover_screen_test.dart Adds a trackpad pan/zoom-driven refresh assertion for Discover.
lib/widgets/app_refresh_indicator.dart New shared refresh wrapper supporting trackpad-triggered refresh.
lib/screens/libraries/tabs/library_browse_tab.dart Wraps the browse scroll view in the shared refresh behavior and routes refresh to folder-tree vs. browse loader depending on grouping.
lib/screens/libraries/tabs/base_library_tab.dart Replaces RefreshIndicator with the shared AppRefreshIndicator for library tabs using the base implementation.
lib/screens/discover_screen.dart Wraps Discover’s main CustomScrollView with the shared refresh behavior and adds always-scrollable physics.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread lib/widgets/app_refresh_indicator.dart
Comment thread test/screens/discover_screen_test.dart Outdated
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.

2 participants