roomAvatarProvider top-level property

dynamic roomAvatarProvider
final

Caching the MemoryImage of each room

Implementation

final roomAvatarProvider =
    FutureProvider.family<MemoryImage?, String>((ref, roomId) async {
  final sdk = await ref.watch(sdkProvider.future);
  final thumbsize = sdk.api.newThumbSize(48, 48);
  final room = await ref.watch(maybeRoomProvider(roomId).future);
  if (room == null || !room.hasAvatar()) return null;
  final avatar = await room.avatar(thumbsize);
  return avatar
      .data()
      .map((data) => MemoryImage(Uint8List.fromList(data.asTypedList())));
});