diff --git a/lib/widgets/contactrow.dart b/lib/widgets/contactrow.dart index 57dbee25..a1769f19 100644 --- a/lib/widgets/contactrow.dart +++ b/lib/widgets/contactrow.dart @@ -80,44 +80,52 @@ class _ContactRowState extends State { Visibility( visible: !Provider.of(context).streamerMode, child: Text(contact.onion, + overflow: TextOverflow.ellipsis, style: TextStyle(color: contact.isBlocked ? Provider.of(context).theme.portraitBlockedTextColor : Provider.of(context).theme.mainTextColor)), - ) + ), + Container( + padding: EdgeInsets.all(0), + child: contact.isInvitation == true + ? Wrap(alignment: WrapAlignment.start, direction: Axis.vertical, children: [ + Padding( + padding: EdgeInsets.all(2), + child: TextButton.icon( + label: Text( + AppLocalizations.of(context)!.tooltipAcceptContactRequest, + ), + icon: Icon( + Icons.favorite, + size: 16, + color: Provider.of(context).theme.mainTextColor, + ), + onPressed: _btnApprove, + )), + Padding( + padding: EdgeInsets.all(2), + child: TextButton.icon( + label: Text( + AppLocalizations.of(context)!.tooltipRejectContactRequest, + style: TextStyle(decoration: TextDecoration.underline), + ), + style: ButtonStyle( + backgroundColor: MaterialStateProperty.all(Provider.of(context).theme.backgroundPaneColor), + foregroundColor: MaterialStateProperty.all(Provider.of(context).theme.mainTextColor)), + icon: Icon(Icons.delete, size: 16, color: Provider.of(context).theme.mainTextColor), + onPressed: _btnReject, + )) + ]) + : (contact.isBlocked != null && contact.isBlocked + ? IconButton( + padding: EdgeInsets.zero, + splashRadius: Material.defaultSplashRadius / 2, + iconSize: 16, + icon: Icon(Icons.block, color: Provider.of(context).theme.mainTextColor), + onPressed: () {}, + ) + : Text(dateToNiceString(contact.lastMessageTime))), + ), ], ))), - Padding( - padding: const EdgeInsets.all(5.0), - child: contact.isInvitation == true - ? Wrap(direction: Axis.vertical, children: [ - IconButton( - padding: EdgeInsets.zero, - splashRadius: Material.defaultSplashRadius / 2, - iconSize: 16, - icon: Icon( - Icons.favorite, - color: Provider.of(context).theme.mainTextColor, - ), - tooltip: AppLocalizations.of(context)!.tooltipAcceptContactRequest, - onPressed: _btnApprove, - ), - IconButton( - padding: EdgeInsets.zero, - splashRadius: Material.defaultSplashRadius / 2, - iconSize: 16, - icon: Icon(Icons.delete, color: Provider.of(context).theme.mainTextColor), - tooltip: AppLocalizations.of(context)!.tooltipRejectContactRequest, - onPressed: _btnReject, - ) - ]) - : (contact.isBlocked != null && contact.isBlocked - ? IconButton( - padding: EdgeInsets.zero, - splashRadius: Material.defaultSplashRadius / 2, - iconSize: 16, - icon: Icon(Icons.block, color: Provider.of(context).theme.mainTextColor), - onPressed: () {}, - ) - : Text(dateToNiceString(contact.lastMessageTime))), - ), ]), onTap: () { selectConversation(context, contact.identifier);