build method

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

Implementation

@override
Widget build(BuildContext context, WidgetRef ref) {
  final roomID = manager.roomIdStr();
  final userId = comment.sender().toString();
  final msgContent = comment.msgContent();
  final formatted = msgContent.formattedBody();
  final commentTime = DateTime.fromMillisecondsSinceEpoch(
    comment.originServerTs(),
    isUtc: true,
  );
  final time = commentTime.toLocal().timeago();
  final avatarInfo = ref.watch(
    memberAvatarInfoProvider((roomId: roomID, userId: userId)),
  );

  final displayName = avatarInfo.displayName;
  return Card(
    child: Column(
      crossAxisAlignment: CrossAxisAlignment.stretch,
      children: [
        ListTile(
          leading: ActerAvatar(
            options: AvatarOptions.DM(
              avatarInfo,
              size: 18,
            ),
          ),
          title: Text(
            displayName ?? userId,
            style: Theme.of(context).textTheme.titleSmall,
          ),
          subtitle: displayName == null ? null : Text(userId),
        ),
        Padding(
          padding: const EdgeInsets.symmetric(horizontal: 16),
          child: formatted != null
              ? RenderHtml(
                  text: formatted,
                )
              : Text(msgContent.body()),
        ),
        const SizedBox(height: 12),
        Padding(
          padding: const EdgeInsets.symmetric(horizontal: 16),
          child: Text(
            time.toString(),
            style: Theme.of(context).textTheme.labelMedium,
          ),
        ),
        const SizedBox(height: 16),
      ],
    ),
  );
}