diff --git a/lib/room.dart b/lib/room.dart index e6a697b..08d328e 100644 --- a/lib/room.dart +++ b/lib/room.dart @@ -42,28 +42,34 @@ class _RoomPageState extends State { void sendMessage() {} + List? get messages => timeline?.events + .where((element) => element.type == EventTypes.Message) + .toList(); + List getChildren() { if (timeline == null) return [const CircularProgressIndicator()]; return [ Expanded( child: ListView.builder( - itemCount: timeline?.events.length, + itemCount: messages?.length, reverse: true, itemBuilder: (context, index) => ListTile( - title: Text(timeline! - .events[index].senderFromMemoryOrFallback.displayName + title: Text(messages![index] + .senderFromMemoryOrFallback + .displayName .toString()), - subtitle: Text(timeline!.events[index].body), - leading: timeline?.events[index].senderFromMemoryOrFallback - .avatarUrl != - null - ? CircleAvatar( - foregroundImage: NetworkImage(timeline!.events[index] - .senderFromMemoryOrFallback.avatarUrl! - .getThumbnail(widget.room.client, - width: 50, height: 50) - .toString())) - : null, + subtitle: Text(messages![index].body), + leading: + messages![index].senderFromMemoryOrFallback.avatarUrl != + null + ? CircleAvatar( + foregroundImage: NetworkImage(messages![index] + .senderFromMemoryOrFallback + .avatarUrl! + .getThumbnail(widget.room.client, + width: 50, height: 50) + .toString())) + : null, )), ), TextFormField(