From 343f12b3807447a764a23f2ef0d90bec0b3f43f2 Mon Sep 17 00:00:00 2001 From: fufesou <13586388+fufesou@users.noreply.github.com> Date: Thu, 20 Feb 2025 22:47:42 +0800 Subject: [PATCH] fix: load local peers, called two times on select tab (#10859) Signed-off-by: fufesou --- flutter/lib/common/widgets/peer_tab_page.dart | 32 ++++++++----------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/flutter/lib/common/widgets/peer_tab_page.dart b/flutter/lib/common/widgets/peer_tab_page.dart index 53c9dce06..4849f2783 100644 --- a/flutter/lib/common/widgets/peer_tab_page.dart +++ b/flutter/lib/common/widgets/peer_tab_page.dart @@ -33,8 +33,8 @@ class PeerTabPage extends StatefulWidget { class _TabEntry { final Widget widget; - final Function({dynamic hint}) load; - _TabEntry(this.widget, this.load); + final Function({dynamic hint})? load; + _TabEntry(this.widget, [this.load]); } EdgeInsets? _menuPadding() { @@ -44,21 +44,15 @@ EdgeInsets? _menuPadding() { class _PeerTabPageState extends State with SingleTickerProviderStateMixin { final List<_TabEntry> entries = [ - _TabEntry( - RecentPeersView( - menuPadding: _menuPadding(), - ), - bind.mainLoadRecentPeers), - _TabEntry( - FavoritePeersView( - menuPadding: _menuPadding(), - ), - bind.mainLoadFavPeers), - _TabEntry( - DiscoveredPeersView( - menuPadding: _menuPadding(), - ), - bind.mainDiscover), + _TabEntry(RecentPeersView( + menuPadding: _menuPadding(), + )), + _TabEntry(FavoritePeersView( + menuPadding: _menuPadding(), + )), + _TabEntry(DiscoveredPeersView( + menuPadding: _menuPadding(), + )), _TabEntry( AddressBook( menuPadding: _menuPadding(), @@ -100,7 +94,7 @@ class _PeerTabPageState extends State gFFI.peerTabModel.setCurrentTabCachedPeers([]); } gFFI.peerTabModel.setCurrentTab(tabIndex); - entries[tabIndex].load(hint: false); + entries[tabIndex].load?.call(hint: false); } } @@ -225,7 +219,7 @@ class _PeerTabPageState extends State child: RefreshWidget( onPressed: () { if (gFFI.peerTabModel.currentTab < entries.length) { - entries[gFFI.peerTabModel.currentTab].load(); + entries[gFFI.peerTabModel.currentTab].load?.call(); } }, spinning: loading,