build method

  1. @override
dynamic build(
  1. dynamic context,
  2. dynamic ref
)

Implementation

@override
Widget build(BuildContext context, WidgetRef ref) {
  final membersLoader = ref.watch(membersIdsProvider(roomId));
  return membersLoader.when(
    data: (members) {
      if (members.isEmpty) {
        return Center(
          child: Text(L10n.of(context).noMembersFound),
        );
      }
      return ListView.builder(
        shrinkWrap: true,
        physics: const NeverScrollableScrollPhysics(),
        padding: const EdgeInsets.symmetric(vertical: 5),
        itemCount: members.length,
        itemBuilder: (context, index) => Padding(
          padding: const EdgeInsets.all(8),
          child: MemberListEntry(
            memberId: members[index],
            roomId: roomId,
          ),
        ),
      );
    },
    error: (e, s) {
      _log.severe('Failed to load room members', e, s);
      return Center(
        child: Text(L10n.of(context).loadingFailed(e)),
      );
    },
    loading: () => const MembersListSkeleton(),
  );
}