add multiplr_conversation example
This commit is contained in:
@@ -100,14 +100,15 @@ class _ChannelListViewState extends State<ChannelListView> {
|
||||
|
||||
Widget child;
|
||||
if (widget._channelPreviewBuilder != null) {
|
||||
child = widget._channelPreviewBuilder(context, channelState);
|
||||
child = GestureDetector(
|
||||
onTap: () {
|
||||
widget.onChannelTap(channelClient);
|
||||
},
|
||||
child: widget._channelPreviewBuilder(context, channelState),
|
||||
);
|
||||
} else {
|
||||
child = ChannelPreview(
|
||||
onTap: widget?.onChannelTap != null
|
||||
? () {
|
||||
widget?.onChannelTap(channelClient);
|
||||
}
|
||||
: null,
|
||||
onTap: widget.onChannelTap,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -4,12 +4,13 @@ import 'package:flutter/widgets.dart';
|
||||
import 'package:stream_chat/stream_chat.dart';
|
||||
|
||||
import 'channel_image.dart';
|
||||
import 'channel_list_view.dart';
|
||||
import 'channel_name_text.dart';
|
||||
import 'stream_channel.dart';
|
||||
import 'stream_chat.dart';
|
||||
|
||||
class ChannelPreview extends StatelessWidget {
|
||||
final VoidCallback onTap;
|
||||
final ChannelTapCallback onTap;
|
||||
|
||||
const ChannelPreview({
|
||||
Key key,
|
||||
@@ -37,14 +38,13 @@ class ChannelPreview extends StatelessWidget {
|
||||
ChannelState channelState,
|
||||
StreamChannelState streamChannel,
|
||||
) {
|
||||
final channelClient =
|
||||
StreamChat.of(context).client.channelClients[channelState.channel.id];
|
||||
return StreamChannel(
|
||||
channelClient:
|
||||
StreamChat.of(context).client.channelClients[channelState.channel.id],
|
||||
channelClient: channelClient,
|
||||
child: ListTile(
|
||||
onTap: () {
|
||||
if (onTap != null) {
|
||||
onTap();
|
||||
}
|
||||
onTap(channelClient);
|
||||
},
|
||||
leading: ChannelImage(
|
||||
channel: channelState.channel,
|
||||
|
||||
@@ -8,7 +8,7 @@ class StreamChannel extends StatefulWidget {
|
||||
StreamChannel({
|
||||
Key key,
|
||||
@required this.child,
|
||||
this.channelClient,
|
||||
@required this.channelClient,
|
||||
}) : super(
|
||||
key: key,
|
||||
);
|
||||
@@ -95,8 +95,6 @@ class StreamChannelState extends State<StreamChannel> {
|
||||
@override
|
||||
void dispose() {
|
||||
_queryMessageController.close();
|
||||
widget.channelClient.dispose();
|
||||
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@@ -109,6 +107,7 @@ class StreamChannelState extends State<StreamChannel> {
|
||||
}
|
||||
return FutureBuilder<bool>(
|
||||
future: widget.channelClient.initialized,
|
||||
initialData: widget.channelClient.state != null,
|
||||
builder: (context, snapshot) {
|
||||
if (!snapshot.hasData) {
|
||||
return Scaffold(
|
||||
|
||||
Reference in New Issue
Block a user