hide multiselect icon if peers is empty

Signed-off-by: 21pages <pages21@163.com>
This commit is contained in:
21pages 2023-08-10 21:32:26 +08:00
parent 1be383e50e
commit 16c94fb1d0
2 changed files with 28 additions and 24 deletions

View File

@ -262,6 +262,7 @@ class _PeerTabPageState extends State<PeerTabPage>
Widget _createMultiSelection() {
final textColor = Theme.of(context).textTheme.titleLarge?.color;
final model = Provider.of<PeerTabModel>(context);
if (model.currentTabCachedPeers.isEmpty) return Offstage();
return Container(
padding: EdgeInsets.all(4.0),
child: InkWell(

View File

@ -124,31 +124,34 @@ class _PeersViewState extends State<_PeersView> with WindowListener {
Widget build(BuildContext context) {
return ChangeNotifierProvider<Peers>(
create: (context) => widget.peers,
child: Consumer<Peers>(
builder: (context, peers, child) => peers.peers.isEmpty
? Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Icon(
Icons.sentiment_very_dissatisfied_rounded,
color: Theme.of(context).tabBarTheme.labelColor,
size: 40,
).paddingOnly(bottom: 10),
Text(
translate(
_emptyMessages[widget.peers.loadEvent] ?? 'Empty',
),
textAlign: TextAlign.center,
style: TextStyle(
color: Theme.of(context).tabBarTheme.labelColor,
),
),
],
child: Consumer<Peers>(builder: (context, peers, child) {
if (peers.peers.isEmpty) {
gFFI.peerTabModel.setCurrentTabCachedPeers([]);
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Icon(
Icons.sentiment_very_dissatisfied_rounded,
color: Theme.of(context).tabBarTheme.labelColor,
size: 40,
).paddingOnly(bottom: 10),
Text(
translate(
_emptyMessages[widget.peers.loadEvent] ?? 'Empty',
),
textAlign: TextAlign.center,
style: TextStyle(
color: Theme.of(context).tabBarTheme.labelColor,
),
),
)
: _buildPeersView(peers),
),
],
),
);
} else {
return _buildPeersView(peers);
}
}),
);
}