forked from Henry-Hiles/nexus
dont fetch members on load
This commit is contained in:
parent
edbc647a06
commit
8b056d8ed1
21 changed files with 206 additions and 137 deletions
|
|
@ -1,12 +1,21 @@
|
|||
import "package:flutter/material.dart";
|
||||
import "package:flutter_chat_core/flutter_chat_core.dart";
|
||||
import "package:nexus/widgets/avatar_or_hash.dart";
|
||||
import "package:nexus/models/room.dart";
|
||||
import "package:nexus/widgets/chat_page/lazy_loading/message_avatar.dart";
|
||||
import "package:nexus/widgets/chat_page/lazy_loading/message_displayname.dart";
|
||||
|
||||
class MessageWrapper extends StatelessWidget {
|
||||
final Message message;
|
||||
final Widget child;
|
||||
final Room room;
|
||||
final MessageGroupStatus? groupStatus;
|
||||
const MessageWrapper(this.message, this.child, this.groupStatus, {super.key});
|
||||
const MessageWrapper(
|
||||
this.message,
|
||||
this.child,
|
||||
this.groupStatus,
|
||||
this.room, {
|
||||
super.key,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) => ClipRRect(
|
||||
|
|
@ -24,11 +33,7 @@ class MessageWrapper extends StatelessWidget {
|
|||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
groupStatus?.isFirst != false
|
||||
? AvatarOrHash(
|
||||
Uri.parse(message.metadata?["avatarUrl"] ?? ""),
|
||||
height: 40,
|
||||
message.metadata?["displayName"] ?? "",
|
||||
)
|
||||
? MessageAvatar(message, room, height: 40)
|
||||
: SizedBox(width: 40),
|
||||
Expanded(
|
||||
child: Column(
|
||||
|
|
@ -36,9 +41,9 @@ class MessageWrapper extends StatelessWidget {
|
|||
spacing: 4,
|
||||
children: [
|
||||
if (groupStatus?.isFirst != false)
|
||||
Text(
|
||||
message.metadata?["displayName"] ?? message.authorId,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
MessageDisplayname(
|
||||
message,
|
||||
room,
|
||||
style: Theme.of(context).textTheme.titleMedium?.copyWith(
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue