build method
dynamic
build( - dynamic context,
- dynamic ref
)
Implementation
@override
Widget build(BuildContext context, WidgetRef ref) {
final memberStatus = ref
.watch(membershipStatusStr((roomId: roomId, userId: memberId)))
.valueOrNull;
Widget? trailing;
if (memberStatus == 'Admin') {
trailing = const Tooltip(
message: 'Admin',
child: Icon(Atlas.crown_winner_thin),
);
} else if (memberStatus == 'Mod') {
trailing = const Tooltip(
message: 'Moderator',
child: Icon(Atlas.shield_star_win_thin),
);
}
final avatarInfo =
ref.watch(memberAvatarInfoProvider((userId: memberId, roomId: roomId)));
return ListTile(
onTap: () async {
if (context.mounted) {
await showMemberInfoDrawer(
context: context,
roomId: roomId,
memberId: memberId,
isShowActions: isShowActions,
);
}
},
leading: ActerAvatar(
options: AvatarOptions.DM(
avatarInfo,
size: 18,
),
),
title: Text(
avatarInfo.displayName ?? memberId,
style: Theme.of(context).textTheme.bodyMedium,
overflow: TextOverflow.ellipsis,
),
subtitle: avatarInfo.displayName != null
? Text(
memberId,
style: Theme.of(context).textTheme.labelLarge,
overflow: TextOverflow.ellipsis,
)
: null,
trailing: trailing,
);
}