diff --git a/lib/src/channel_bottom_sheet.dart b/lib/src/channel_bottom_sheet.dart index d2c7eb04..4bfa3fd0 100644 --- a/lib/src/channel_bottom_sheet.dart +++ b/lib/src/channel_bottom_sheet.dart @@ -5,7 +5,7 @@ import 'channel_info.dart'; import 'option_list_tile.dart'; class ChannelBottomSheet extends StatefulWidget { - VoidCallback onViewInfoTap; + final VoidCallback onViewInfoTap; ChannelBottomSheet({this.onViewInfoTap}); diff --git a/lib/src/image_footer.dart b/lib/src/image_footer.dart index eff6110a..ec92693d 100644 --- a/lib/src/image_footer.dart +++ b/lib/src/image_footer.dart @@ -48,14 +48,10 @@ class ImageFooter extends StatefulWidget { this.message, this.videoPackages, this.mediaSelectedCallBack, - }) : preferredSize = Size.fromHeight(kToolbarHeight), - super(key: key); + }) : super(key: key); @override _ImageFooterState createState() => _ImageFooterState(); - - @override - final Size preferredSize; } class _ImageFooterState extends State { @@ -150,7 +146,7 @@ class _ImageFooterState extends State { ); } - Widget _buildPhotosModal(context) { + void _buildPhotosModal(context) { var videoAttachments = widget.mediaAttachments .where((element) => element.type == 'video') .toList(); diff --git a/lib/src/media_list_view.dart b/lib/src/media_list_view.dart index 08ebfcc7..9c3af69f 100644 --- a/lib/src/media_list_view.dart +++ b/lib/src/media_list_view.dart @@ -37,13 +37,12 @@ class _MediaListViewState extends State { final _media = []; final ScrollController _scrollController = ScrollController(); int _currentPage = 0; - bool _endPagination = false; @override Widget build(BuildContext context) { return LazyLoadScrollView( - onEndOfPage: () { - _getMedia(); + onEndOfPage: () async { + return _getMedia(); }, child: GridView.builder( itemCount: _media.length, @@ -161,11 +160,7 @@ class _MediaListViewState extends State { final media = await assetList.getAssetListPaged(_currentPage, 50); - if (media.isEmpty) { - setState(() { - _endPagination = true; - }); - } else { + if (!media.isEmpty) { setState(() { _media.addAll(media); }); diff --git a/lib/src/message_widget.dart b/lib/src/message_widget.dart index 5c175512..57e32c52 100644 --- a/lib/src/message_widget.dart +++ b/lib/src/message_widget.dart @@ -573,33 +573,6 @@ class _MessageWidgetState extends State { widget.message.attachments?.any((element) => element.type == 'giphy') == true; - Widget _buildReadIndicator() { - var padding = 0.0; - return Stack( - children: widget.readList.map((e) { - padding += 10.0; - return Positioned( - left: padding - 10, - bottom: 0, - top: 0, - child: Material( - color: StreamChatTheme.of(context).colorTheme.white, - clipBehavior: Clip.antiAlias, - shape: CircleBorder(), - child: Padding( - padding: const EdgeInsets.all(1.0), - child: UserAvatar( - user: e.user, - constraints: BoxConstraints.loose(Size.fromRadius(8)), - showOnlineStatus: false, - ), - ), - ), - ); - }).toList(), - ); - } - Widget _buildReactionIndicator( BuildContext context, ) { diff --git a/lib/src/stream_chat.dart b/lib/src/stream_chat.dart index 6866b0dd..521dc3c0 100644 --- a/lib/src/stream_chat.dart +++ b/lib/src/stream_chat.dart @@ -112,7 +112,6 @@ class StreamChatState extends State with WidgetsBindingObserver { inputBackground: themeData?.channelTheme?.inputBackground, messageInputButtonIconTheme: themeData?.channelTheme?.messageInputButtonIconTheme, - inputGradient: themeData?.channelTheme?.inputGradient, messageInputButtonTheme: themeData?.channelTheme?.messageInputButtonTheme, ), diff --git a/lib/src/stream_chat_theme.dart b/lib/src/stream_chat_theme.dart index ec469f81..02abd25c 100644 --- a/lib/src/stream_chat_theme.dart +++ b/lib/src/stream_chat_theme.dart @@ -92,12 +92,7 @@ class StreamChatThemeData { return defaultTheme.copyWith( primaryIconTheme: theme.primaryIconTheme, - channelTheme: defaultTheme.channelTheme.copyWith( - inputGradient: LinearGradient(colors: [ - theme.accentColor.withOpacity(.5), - theme.accentColor, - ]), - ), + channelTheme: defaultTheme.channelTheme, ownMessageTheme: defaultTheme.ownMessageTheme.copyWith( replies: defaultTheme.ownMessageTheme.replies.copyWith( color: theme.accentColor, @@ -168,8 +163,6 @@ class StreamChatThemeData { this.channelTheme.messageInputButtonIconTheme, messageInputButtonTheme: channelTheme.messageInputButtonTheme ?? this.channelTheme.messageInputButtonTheme, - inputGradient: - channelTheme.inputGradient ?? this.channelTheme.inputGradient, inputBackground: channelTheme.inputBackground ?? this.channelTheme.inputBackground, ) ?? @@ -273,10 +266,6 @@ class StreamChatThemeData { ), ), inputBackground: colorTheme.white.withAlpha(12), - inputGradient: LinearGradient(colors: [ - Color(0xFF00AEFF), - Color(0xFF0076FF), - ]), ), ownMessageTheme: MessageTheme( messageText: TextStyle( @@ -597,9 +586,6 @@ class ChannelTheme { /// Theme of the send button in [MessageInput] final ButtonThemeData messageInputButtonTheme; - /// Gradient of [MessageInput] - final Gradient inputGradient; - /// Background color of [MessageInput] final Color inputBackground; @@ -608,7 +594,6 @@ class ChannelTheme { this.messageInputButtonIconTheme, this.messageInputButtonTheme, this.inputBackground, - this.inputGradient, }); /// Creates a copy of [ChannelTheme] with specified attributes overridden. @@ -616,7 +601,6 @@ class ChannelTheme { ChannelHeaderTheme channelHeaderTheme, IconThemeData messageInputButtonIconTheme, ButtonThemeData messageInputButtonTheme, - Gradient inputGradient, Color inputBackground, }) => ChannelTheme( @@ -633,8 +617,6 @@ class ChannelTheme { messageInputButtonIconTheme ?? this.messageInputButtonIconTheme, messageInputButtonTheme: messageInputButtonTheme ?? this.messageInputButtonTheme, - inputGradient: inputGradient ?? this.inputGradient, - inputBackground: inputBackground ?? this.inputBackground, ); }