show error on channel loading

This commit is contained in:
Salvatore Giordano
2020-03-13 14:34:01 +01:00
parent 721e4f37c1
commit 031f85edf6
6 changed files with 35 additions and 27 deletions
+12 -1
View File
@@ -125,7 +125,7 @@ class _ChannelListViewState extends State<ChannelListView> {
return widget.errorBuilder(snapshot.error);
}
String message = snapshot.error.toString();
var message = snapshot.error.toString();
if (snapshot.error is DioError) {
final dioError = snapshot.error as DioError;
if (dioError.type == DioErrorType.RESPONSE) {
@@ -287,6 +287,17 @@ class _ChannelListViewState extends State<ChannelListView> {
stream: streamChat.queryChannelsLoading,
initialData: false,
builder: (context, snapshot) {
if (snapshot.hasError) {
return Container(
color: Color(0xffd0021B).withAlpha(26),
child: Padding(
padding: const EdgeInsets.symmetric(vertical: 16.0),
child: Center(
child: Text('Error loading messages'),
),
),
);
}
return Container(
height: 100,
padding: EdgeInsets.all(32),
+1 -1
View File
@@ -118,7 +118,7 @@ class ChannelPreview extends StatelessWidget {
return SizedBox();
}
String text = lastMessage.text;
var text = lastMessage.text;
if (lastMessage.isDeleted) {
text = 'This message was deleted.';
} else if (lastMessage.attachments != null) {
+3 -3
View File
@@ -95,7 +95,7 @@ class _MessageWidgetState extends State<MessageWidget>
final alignment =
_isMyMessage ? Alignment.centerRight : Alignment.centerLeft;
List<Widget> row = <Widget>[
var row = List<Widget>.from([
Column(
crossAxisAlignment:
_isMyMessage ? CrossAxisAlignment.end : CrossAxisAlignment.start,
@@ -113,7 +113,7 @@ class _MessageWidgetState extends State<MessageWidget>
width: 40,
)
: _buildUserAvatar(),
];
]);
if (!_isMyMessage) {
row = row.reversed.toList();
@@ -309,7 +309,7 @@ class _MessageWidgetState extends State<MessageWidget>
[]);
if (widget.message.text.trim().isNotEmpty) {
String text = widget.message.text;
var text = widget.message.text;
text = _replaceMentions(text);
column.addAll(
+6 -3
View File
@@ -197,20 +197,23 @@ class StreamChatState extends State<StreamChat> {
PaginationParams paginationParams,
Map<String, dynamic> options,
}) async {
if (_queryChannelsLoadingController.value) {
if (_queryChannelsLoadingController.value == true) {
return;
}
_queryChannelsLoadingController.sink.add(true);
try {
widget.client.queryChannels(
await widget.client.queryChannels(
filter: filter,
sort: sortOptions,
options: options,
paginationParams: paginationParams,
);
} finally {
_queryChannelsLoadingController.sink.add(false);
} catch (err, stackTrace) {
_queryChannelsLoadingController.addError(err, stackTrace);
} finally {
// _queryChannelsLoadingController.sink.add(false);
}
}