chore: address PR feedback

This commit is contained in:
groovinchip
2021-08-04 15:34:48 -04:00
parent d74576a197
commit 1b9c718ed8
@@ -19,6 +19,7 @@ class UserAvatar extends StatelessWidget {
this.selected = false, this.selected = false,
this.selectionColor, this.selectionColor,
this.selectionThickness = 4, this.selectionThickness = 4,
this.placeholderUserImageBuilder,
}) : super(key: key); }) : super(key: key);
/// User whose avatar is to displayed /// User whose avatar is to displayed
@@ -54,6 +55,10 @@ class UserAvatar extends StatelessWidget {
/// Selection thickness around the avatar /// Selection thickness around the avatar
final double selectionThickness; final double selectionThickness;
/// The widget that will be built when the user image is loading
final Widget Function(BuildContext context, User user)?
placeholderUserImageBuilder;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final hasImage = user.extraData.containsKey('image') && final hasImage = user.extraData.containsKey('image') &&
@@ -79,8 +84,12 @@ class UserAvatar extends StatelessWidget {
imageUrl: user.extraData['image'] as String, imageUrl: user.extraData['image'] as String,
errorWidget: (_, __, ___) => errorWidget: (_, __, ___) =>
streamChatTheme.defaultUserImage(context, user), streamChatTheme.defaultUserImage(context, user),
placeholder: (_, __) => placeholder: placeholderUserImageBuilder == null
streamChatTheme.placeholderUserImage!(context, user), ? streamChatTheme.placeholderUserImage == null
? null
: (_, __) => streamChatTheme.placeholderUserImage!(
context, user)
: (_, __) => placeholderUserImageBuilder!(context, user),
fit: BoxFit.cover, fit: BoxFit.cover,
) )
: streamChatTheme.defaultUserImage(context, user), : streamChatTheme.defaultUserImage(context, user),