diff --git a/packages/stream_chat_flutter/lib/src/channel_list_view.dart b/packages/stream_chat_flutter/lib/src/channel_list_view.dart index abcc665f..90b40be9 100644 --- a/packages/stream_chat_flutter/lib/src/channel_list_view.dart +++ b/packages/stream_chat_flutter/lib/src/channel_list_view.dart @@ -169,18 +169,22 @@ class _ChannelListViewState extends State Widget build(BuildContext context) { var child = ChannelListCore( channelListController: _channelListController, - listBuilder: widget.listBuilder ?? (context, list) { - return _buildListView(list); - }, - emptyBuilder: widget.emptyBuilder ?? (BuildContext context) { - return _buildEmptyWidget(); - }, - errorBuilder: widget.errorBuilder ?? (BuildContext context, dynamic error) { - return _buildErrorWidget(context); - }, - loadingBuilder: widget.loadingBuilder ?? (BuildContext context) { - return _buildLoadingWidget(); - }, + listBuilder: widget.listBuilder ?? + (context, list) { + return _buildListView(list); + }, + emptyBuilder: widget.emptyBuilder ?? + (BuildContext context) { + return _buildEmptyWidget(); + }, + errorBuilder: widget.errorBuilder ?? + (BuildContext context, dynamic error) { + return _buildErrorWidget(context); + }, + loadingBuilder: widget.loadingBuilder ?? + (BuildContext context) { + return _buildLoadingWidget(); + }, pagination: widget.pagination, options: widget.options, sort: widget.sort, diff --git a/packages/stream_chat_flutter/lib/src/message_list_view.dart b/packages/stream_chat_flutter/lib/src/message_list_view.dart index 5a862bce..eedf9689 100644 --- a/packages/stream_chat_flutter/lib/src/message_list_view.dart +++ b/packages/stream_chat_flutter/lib/src/message_list_view.dart @@ -262,41 +262,45 @@ class _MessageListViewState extends State { @override Widget build(BuildContext context) { return MessageListCore( - loadingBuilder: widget.loadingBuilder ?? (context) { - return Center( - child: const CircularProgressIndicator(), - ); - }, - emptyBuilder: widget.emptyBuilder ?? (context) { - return Center( - child: Text( - 'No chats here yet...', - style: StreamChatTheme.of(context).textTheme.footnote.copyWith( - color: StreamChatTheme.of(context) - .colorTheme - .black - .withOpacity(.5)), - ), - ); - }, - messageListBuilder: widget.messageListBuilder ?? (context, list) { - return _buildListView(list); - }, + loadingBuilder: widget.loadingBuilder ?? + (context) { + return Center( + child: const CircularProgressIndicator(), + ); + }, + emptyBuilder: widget.emptyBuilder ?? + (context) { + return Center( + child: Text( + 'No chats here yet...', + style: StreamChatTheme.of(context).textTheme.footnote.copyWith( + color: StreamChatTheme.of(context) + .colorTheme + .black + .withOpacity(.5)), + ), + ); + }, + messageListBuilder: widget.messageListBuilder ?? + (context, list) { + return _buildListView(list); + }, messageListController: _messageListController, parentMessage: widget.parentMessage, showScrollToBottom: widget.showScrollToBottom, - errorWidgetBuilder: widget.errorWidgetBuilder ?? (BuildContext context, Object error) { - return Center( - child: Text( - 'Something went wrong', - style: StreamChatTheme.of(context).textTheme.footnote.copyWith( - color: StreamChatTheme.of(context) - .colorTheme - .black - .withOpacity(.5)), - ), - ); - }, + errorWidgetBuilder: widget.errorWidgetBuilder ?? + (BuildContext context, Object error) { + return Center( + child: Text( + 'Something went wrong', + style: StreamChatTheme.of(context).textTheme.footnote.copyWith( + color: StreamChatTheme.of(context) + .colorTheme + .black + .withOpacity(.5)), + ), + ); + }, ); } diff --git a/packages/stream_chat_flutter/lib/src/message_search_list_view.dart b/packages/stream_chat_flutter/lib/src/message_search_list_view.dart index 9a3b6aa5..94a79eaf 100644 --- a/packages/stream_chat_flutter/lib/src/message_search_list_view.dart +++ b/packages/stream_chat_flutter/lib/src/message_search_list_view.dart @@ -136,94 +136,98 @@ class _MessageSearchListViewState extends State { paginationParams: widget.paginationParams, messageFilters: widget.messageFilters, messageSearchListController: _messageSearchListController, - emptyBuilder: widget.emptyBuilder ?? (context) { - return LayoutBuilder( - builder: (context, viewportConstraints) { - return SingleChildScrollView( - physics: AlwaysScrollableScrollPhysics(), - child: ConstrainedBox( - constraints: BoxConstraints( - minHeight: viewportConstraints.maxHeight, - ), - child: Center( - child: Text('There are no messages currently'), - ), - ), - ); - }, - ); - }, - errorBuilder: widget.emptyBuilder ?? (BuildContext context, dynamic error) { - if (error is Error) { - print((error).stackTrace); - } - - var message = error.toString(); - if (error is DioError) { - if (error.type == DioErrorType.RESPONSE) { - message = error.message; - } else { - message = 'Check your connection and retry'; - } - } - return InfoTile( - showMessage: widget.showErrorTile, - tileAnchor: Alignment.topCenter, - childAnchor: Alignment.topCenter, - message: 'An error occurred.', - child: Center( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text.rich( - TextSpan( - children: [ - WidgetSpan( - child: Padding( - padding: const EdgeInsets.only(right: 2.0), - child: Icon(Icons.error_outline), - ), - ), - TextSpan(text: 'Error loading messages'), - ], + emptyBuilder: widget.emptyBuilder ?? + (context) { + return LayoutBuilder( + builder: (context, viewportConstraints) { + return SingleChildScrollView( + physics: AlwaysScrollableScrollPhysics(), + child: ConstrainedBox( + constraints: BoxConstraints( + minHeight: viewportConstraints.maxHeight, + ), + child: Center( + child: Text('There are no messages currently'), + ), ), - style: Theme.of(context).textTheme.headline6, - ), - Padding( - padding: const EdgeInsets.only(top: 16.0), - child: Text(message), - ), - RaisedButton( - onPressed: () { - _messageSearchListController.loadData(); - }, - child: Text('Retry'), - ), - ], - ), - ), - ); - }, - loadingBuilder: widget.loadingBuilder ?? (context) { - return LayoutBuilder( - builder: (context, viewportConstraints) { - return SingleChildScrollView( - physics: AlwaysScrollableScrollPhysics(), - child: ConstrainedBox( - constraints: BoxConstraints( - minHeight: viewportConstraints.maxHeight, - ), - child: Center( - child: CircularProgressIndicator(), + ); + }, + ); + }, + errorBuilder: widget.emptyBuilder ?? + (BuildContext context, dynamic error) { + if (error is Error) { + print((error).stackTrace); + } + + var message = error.toString(); + if (error is DioError) { + if (error.type == DioErrorType.RESPONSE) { + message = error.message; + } else { + message = 'Check your connection and retry'; + } + } + return InfoTile( + showMessage: widget.showErrorTile, + tileAnchor: Alignment.topCenter, + childAnchor: Alignment.topCenter, + message: 'An error occurred.', + child: Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text.rich( + TextSpan( + children: [ + WidgetSpan( + child: Padding( + padding: const EdgeInsets.only(right: 2.0), + child: Icon(Icons.error_outline), + ), + ), + TextSpan(text: 'Error loading messages'), + ], + ), + style: Theme.of(context).textTheme.headline6, + ), + Padding( + padding: const EdgeInsets.only(top: 16.0), + child: Text(message), + ), + RaisedButton( + onPressed: () { + _messageSearchListController.loadData(); + }, + child: Text('Retry'), + ), + ], ), ), ); }, - ); - }, - childBuilder: widget.childBuilder ?? (list) { - return _buildListView(list); - }, + loadingBuilder: widget.loadingBuilder ?? + (context) { + return LayoutBuilder( + builder: (context, viewportConstraints) { + return SingleChildScrollView( + physics: AlwaysScrollableScrollPhysics(), + child: ConstrainedBox( + constraints: BoxConstraints( + minHeight: viewportConstraints.maxHeight, + ), + child: Center( + child: CircularProgressIndicator(), + ), + ), + ); + }, + ); + }, + childBuilder: widget.childBuilder ?? + (list) { + return _buildListView(list); + }, ); } diff --git a/packages/stream_chat_flutter/lib/src/user_list_view.dart b/packages/stream_chat_flutter/lib/src/user_list_view.dart index d472feca..4b50559b 100644 --- a/packages/stream_chat_flutter/lib/src/user_list_view.dart +++ b/packages/stream_chat_flutter/lib/src/user_list_view.dart @@ -151,32 +151,36 @@ class _UserListViewState extends State @override Widget build(BuildContext context) { var child = UserListCore( - errorBuilder: widget.errorBuilder ?? (err) { - return _buildError(err); - }, - emptyBuilder: widget.emptyBuilder ?? (context) { - return _buildEmpty(); - }, - loadingBuilder: widget.loadingBuilder ?? (context) { - return LayoutBuilder( - builder: (context, viewportConstraints) { - return SingleChildScrollView( - physics: AlwaysScrollableScrollPhysics(), - child: ConstrainedBox( - constraints: BoxConstraints( - minHeight: viewportConstraints.maxHeight, - ), - child: Center( - child: CircularProgressIndicator(), - ), - ), + errorBuilder: widget.errorBuilder ?? + (err) { + return _buildError(err); + }, + emptyBuilder: widget.emptyBuilder ?? + (context) { + return _buildEmpty(); + }, + loadingBuilder: widget.loadingBuilder ?? + (context) { + return LayoutBuilder( + builder: (context, viewportConstraints) { + return SingleChildScrollView( + physics: AlwaysScrollableScrollPhysics(), + child: ConstrainedBox( + constraints: BoxConstraints( + minHeight: viewportConstraints.maxHeight, + ), + child: Center( + child: CircularProgressIndicator(), + ), + ), + ); + }, ); }, - ); - }, - listBuilder: widget.listBuilder ?? (context, list) { - return _buildListView(list); - }, + listBuilder: widget.listBuilder ?? + (context, list) { + return _buildListView(list); + }, pagination: widget.pagination, options: widget.options, sort: widget.sort,