import 'package:comunic/models/friend.dart'; import 'package:comunic/models/user.dart'; import 'package:comunic/ui/widgets/account_image_widget.dart'; import 'package:comunic/utils/intl_utils.dart'; import 'package:flutter/material.dart'; /// Pending friend tile /// /// @author Pierre HUBERT typedef RespondFriendshipRequestCallback = void Function(Friend, bool); class PendingFriendTile extends StatelessWidget { final Friend friend; final User user; final RespondFriendshipRequestCallback onRespond; const PendingFriendTile( {Key key, @required this.friend, @required this.user, @required this.onRespond}) : assert(friend != null), assert(user != null), assert(onRespond != null), super(key: key); @override Widget build(BuildContext context) { return ListTile( leading: AccountImageWidget( user: user, ), isThreeLine: true, title: Text(user.fullName), subtitle: Container( height: 30.0, margin: EdgeInsets.only(top: 8.0), child: Row( mainAxisAlignment: MainAxisAlignment.end, children: [ FlatButton( child: Text( tr("Accept").toUpperCase(), style: TextStyle(color: Colors.white), ), color: Colors.green, onPressed: () => onRespond(friend, true), ), Container(width: 8.0,), FlatButton( child: Text( tr("Reject").toUpperCase(), style: TextStyle(color: Colors.white), ), color: Colors.red, onPressed: () => onRespond(friend, false), ) ], ), ), ); } }