Skip to content

Commit

Permalink
Merge pull request #112 from GetStream/hotfix/unreadCount
Browse files Browse the repository at this point in the history
use channe.state.unreacCountStream
  • Loading branch information
imtoori authored Oct 23, 2020
2 parents 876275a + 4a6c062 commit d6fa0b9
Show file tree
Hide file tree
Showing 5 changed files with 48 additions and 30 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
## 0.2.11

- Update llc dependency
- Update widget to use `channel.state.unreadCountStream`

## 0.2.10

- Update llc dependency
Expand Down
6 changes: 2 additions & 4 deletions lib/src/channel_list_view.dart
Original file line number Diff line number Diff line change
Expand Up @@ -304,10 +304,8 @@ class _ChannelListViewState extends State<ChannelListView>
return StreamChannel(
key: ValueKey<String>('CHANNEL-${channel.id}'),
channel: channel,
child: StreamBuilder<DateTime>(
initialData: channel.updatedAt,
stream: channel.updatedAtStream,
builder: (context, snapshot) {
child: Builder(
builder: (context) {
Widget child;
if (widget.channelPreviewBuilder != null) {
child = Stack(
Expand Down
30 changes: 18 additions & 12 deletions lib/src/channel_preview.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import 'package:stream_chat_flutter/src/unread_indicator.dart';

import '../stream_chat_flutter.dart';
import 'channel_name.dart';
import 'typing_indicator.dart';

/// ![screenshot](https://raw.githubusercontent.com/GetStream/stream-chat-flutter/master/screenshots/channel_preview.png)
/// ![screenshot](https://raw.githubusercontent.com/GetStream/stream-chat-flutter/master/screenshots/channel_preview_paint.png)
Expand Down Expand Up @@ -103,17 +102,24 @@ class ChannelPreview extends StatelessWidget {
}

Widget _buildSubtitle(BuildContext context) {
final opacity = channel.state.unreadCount > 0 ? 1.0 : 0.5;
return TypingIndicator(
channel: channel,
alternativeWidget: _buildLastMessage(context, opacity),
style: StreamChatTheme.of(context).channelPreviewTheme.subtitle.copyWith(
color: StreamChatTheme.of(context)
.channelPreviewTheme
.subtitle
.color
.withOpacity(opacity),
),
return StreamBuilder(
initialData: channel.state.unreadCount,
stream: channel.state.unreadCountStream,
builder: (context, snapshot) {
final opacity = (snapshot.data ?? 0) > 0 ? 1.0 : 0.5;
return TypingIndicator(
channel: channel,
alternativeWidget: _buildLastMessage(context, opacity),
style:
StreamChatTheme.of(context).channelPreviewTheme.subtitle.copyWith(
color: StreamChatTheme.of(context)
.channelPreviewTheme
.subtitle
.color
.withOpacity(opacity),
),
);
},
);
}

Expand Down
33 changes: 21 additions & 12 deletions lib/src/unread_indicator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,26 @@ class UnreadIndicator extends StatelessWidget {

@override
Widget build(BuildContext context) {
return Padding(
padding: const EdgeInsets.only(left: 8.0),
child: CircleAvatar(
backgroundColor:
StreamChatTheme.of(context).channelPreviewTheme.unreadCounterColor,
radius: 6,
child: Text(
'${channel.state.unreadCount}',
style: TextStyle(fontSize: 8),
),
),
);
return StreamBuilder<int>(
stream: channel.state.unreadCountStream,
initialData: channel.state.unreadCount,
builder: (context, snapshot) {
if (!snapshot.hasData || snapshot.data == 0) {
return SizedBox();
}
return Padding(
padding: const EdgeInsets.only(left: 8.0),
child: CircleAvatar(
backgroundColor: StreamChatTheme.of(context)
.channelPreviewTheme
.unreadCounterColor,
radius: 6,
child: Text(
'${snapshot.data}',
style: TextStyle(fontSize: 8),
),
),
);
});
}
}
4 changes: 2 additions & 2 deletions pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: stream_chat_flutter
homepage: https://github.com/GetStream/stream-chat-flutter
description: Stream Chat official Flutter SDK. Build your own chat experience using Dart and Flutter.
version: 0.2.10
version: 0.2.11
repository: https://github.com/GetStream/stream-chat-flutter
issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues

Expand All @@ -23,7 +23,7 @@ dependencies:
file_picker: ^2.0.0
image_picker: ^0.6.7+2
flutter_keyboard_visibility: ^3.2.1
stream_chat: ^0.2.8
stream_chat: ^0.2.10
mime: ^0.9.6+3
visibility_detector: ^0.1.5
http_parser: ^3.1.4
Expand Down

0 comments on commit d6fa0b9

Please sign in to comment.