build method

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

Implementation

@override
Widget build(BuildContext context, WidgetRef ref) {
  final roomMembership = ref.watch(roomMembershipProvider(roomId));
  final canLink = roomMembership.maybeWhen(
    data: (membership) => membership?.canString(canCheck) == true,
    orElse: () => false,
  );
  final roomName =
      ref.watch(roomDisplayNameProvider(roomId)).valueOrNull ?? roomId;
  Widget? trailing;
  if (trailingBuilder != null) {
    trailing = trailingBuilder!(canLink);
  } else if (selectedValue == roomId) {
    trailing = const Icon(Icons.check_circle_outline);
  }
  return ListTile(
    key: Key('$keyPrefix-$roomId'),
    enabled: canLink,
    leading: RoomAvatarBuilder(roomId: roomId, avatarSize: 24),
    title: Text(roomName),
    subtitle: subtitle,
    trailing: trailing,
    onTap: canLink && onSelect != null ? () => onSelect!(roomId) : null,
  );
}