add typing indicator widget in example messagelist

This commit is contained in:
Salvatore Giordano
2020-03-06 10:34:38 +01:00
parent 153455ae56
commit 60c2ccfc24
10 changed files with 151 additions and 120 deletions
+5 -6
View File
@@ -72,18 +72,17 @@ class ChannelListPage extends StatelessWidget {
}
Widget _channelPreviewBuilder(BuildContext context, Channel channel) {
final lastMessage = channel.state.messages.reversed
.firstWhere((message) => message.type != "deleted");
final lastMessage = channel.state.messages.reversed.firstWhere(
(message) => message.type != "deleted",
orElse: () => null,
);
final subtitle = (lastMessage == null ? "nothing yet" : lastMessage.text);
final opacity = channel.state.unreadCount > .0 ? 1.0 : 0.5;
return ListTile(
leading: ChannelImage(
channel: channel,
),
leading: ChannelImage(),
title: ChannelName(
channel: channel,
textStyle:
StreamChatTheme.of(context).channelPreviewTheme.title.copyWith(
color: Colors.black.withOpacity(opacity),
+26 -9
View File
@@ -65,12 +65,28 @@ class ChannelPage extends StatelessWidget {
body: Column(
children: <Widget>[
Expanded(
child: MessageListView(
threadBuilder: (_, parentMessage) {
return ThreadPage(
parent: parentMessage,
);
},
child: Stack(
children: <Widget>[
MessageListView(
threadBuilder: (_, parentMessage) {
return ThreadPage(
parent: parentMessage,
);
},
),
Positioned.fill(
child: Align(
alignment: Alignment.bottomRight,
child: Padding(
padding: const EdgeInsets.symmetric(
horizontal: 8.0,
vertical: 4,
),
child: TypingIndicator(),
),
),
),
],
),
),
MessageInput(),
@@ -101,9 +117,10 @@ class ThreadPage extends StatelessWidget {
parentMessage: parent,
),
),
MessageInput(
parentMessage: parent,
),
if (parent.type != 'deleted')
MessageInput(
parentMessage: parent,
),
],
),
);
+1 -2
View File
@@ -4,12 +4,11 @@ description: A new Flutter project.
version: 1.0.0+1
environment:
sdk: ">=2.1.0 <3.0.0"
sdk: ">=2.2.2 <3.0.0"
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^0.1.2
stream_chat_flutter:
path: ../