invitationUserProfileProvider top-level property

dynamic invitationUserProfileProvider
final

Implementation

final invitationUserProfileProvider = FutureProvider.autoDispose
    .family<AvatarInfo?, Invitation>((ref, invitation) async {
  UserProfile? user = invitation.senderProfile();
  if (user == null) {
    return null;
  }
  final userId = user.userId().toString();
  final displayName = user.displayName();
  final fallback = AvatarInfo(uniqueId: userId, displayName: displayName);
  final avatar = await user.getAvatar(null);
  final avatarData = avatar.data();

  if (!user.hasAvatar() || avatarData == null) {
    return fallback;
  }
  final data = MemoryImage(Uint8List.fromList(avatarData.asTypedList()));

  return AvatarInfo(
    uniqueId: userId,
    displayName: displayName,
    avatar: data,
  );
});