From a48532d0b1c36f5fa1b5933e8bee3f52b50b9ebd Mon Sep 17 00:00:00 2001 From: 21pages Date: Tue, 22 Aug 2023 09:01:11 +0800 Subject: [PATCH] fix mobile missing tag color Signed-off-by: 21pages --- flutter/lib/common/widgets/peer_card.dart | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/flutter/lib/common/widgets/peer_card.dart b/flutter/lib/common/widgets/peer_card.dart index 889ba3fbe..fd558c68c 100644 --- a/flutter/lib/common/widgets/peer_card.dart +++ b/flutter/lib/common/widgets/peer_card.dart @@ -66,7 +66,7 @@ class _PeerCardState extends State<_PeerCard> final name = '${peer.username}${peer.username.isNotEmpty && peer.hostname.isNotEmpty ? '@' : ''}${peer.hostname}'; final PeerTabModel peerTabModel = Provider.of(context); - return Card( + final child = Card( margin: EdgeInsets.symmetric(horizontal: 2), child: GestureDetector( onTap: () { @@ -115,6 +115,23 @@ class _PeerCardState extends State<_PeerCard> ], ), ))); + final colors = _frontN(peer.tags, 25).map((e) => str2color2(e)).toList(); + return Tooltip( + message: peer.tags.isNotEmpty + ? '${translate('Tags')}: ${peer.tags.join(', ')}' + : '', + child: Stack(children: [ + child, + if (colors.isNotEmpty) + Positioned( + top: 2, + right: 10, + child: CustomPaint( + painter: TagPainter(radius: 3, colors: colors), + ), + ) + ]), + ); } Widget _buildDesktop() {