update multiple_conversation example
This commit is contained in:
Generated
+65
-64
@@ -2,13 +2,11 @@
|
|||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="8a42da92-86e3-4aa3-b70d-cc6a9fefa34f" name="Default Changelist" comment="">
|
<list default="true" id="8a42da92-86e3-4aa3-b70d-cc6a9fefa34f" name="Default Changelist" comment="">
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/example/lib/multiple_conversation.dart" beforeDir="false" afterPath="$PROJECT_DIR$/example/lib/multiple_conversation.dart" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/example/lib/multiple_conversation.dart" beforeDir="false" afterPath="$PROJECT_DIR$/example/lib/multiple_conversation.dart" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/example/lib/single_conversation.dart" beforeDir="false" afterPath="$PROJECT_DIR$/example/lib/single_conversation.dart" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/example/lib/single_conversation.dart" beforeDir="false" afterPath="$PROJECT_DIR$/example/lib/single_conversation.dart" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/example/test/widget_test.dart" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/lib/src/channel_list_view.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/channel_list_view.dart" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/lib/src/channel_list_view.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/channel_list_view.dart" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/lib/src/channel_preview.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/channel_preview.dart" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/lib/src/channel_preview.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/channel_preview.dart" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/lib/src/stream_channel.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/stream_channel.dart" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/lib/stream_chat_flutter.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/stream_chat_flutter.dart" afterDir="false" />
|
||||||
</list>
|
</list>
|
||||||
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
@@ -24,17 +22,17 @@
|
|||||||
<file pinned="false" current-in-tab="false">
|
<file pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/../stream_chat_dart/lib/src/client.dart">
|
<entry file="file://$PROJECT_DIR$/../stream_chat_dart/lib/src/client.dart">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="485">
|
<state relative-caret-position="648">
|
||||||
<caret line="70" column="38" selection-start-line="70" selection-start-column="38" selection-end-line="70" selection-end-column="38" />
|
<caret line="239" column="19" selection-start-line="239" selection-start-column="19" selection-end-line="239" selection-end-column="19" />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file pinned="false" current-in-tab="false">
|
<file pinned="false" current-in-tab="true">
|
||||||
<entry file="file://$PROJECT_DIR$/lib/src/channel_list_view.dart">
|
<entry file="file://$PROJECT_DIR$/lib/src/channel_list_view.dart">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="136">
|
<state relative-caret-position="890">
|
||||||
<caret line="8" column="26" selection-start-line="8" selection-start-column="8" selection-end-line="8" selection-end-column="26" />
|
<caret line="138" column="34" lean-forward="true" selection-start-line="138" selection-start-column="34" selection-end-line="138" selection-end-column="34" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="e#0#39#0" expanded="true" />
|
<element signature="e#0#39#0" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
@@ -45,8 +43,8 @@
|
|||||||
<file pinned="false" current-in-tab="false">
|
<file pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/lib/src/channel_preview.dart">
|
<entry file="file://$PROJECT_DIR$/lib/src/channel_preview.dart">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="782">
|
<state relative-caret-position="765">
|
||||||
<caret line="46" column="31" selection-start-line="46" selection-start-column="31" selection-end-line="46" selection-end-column="31" />
|
<caret line="45" column="29" selection-start-line="45" selection-start-column="29" selection-end-line="45" selection-end-column="29" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="e#0#46#0" expanded="true" />
|
<element signature="e#0#46#0" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
@@ -57,8 +55,8 @@
|
|||||||
<file pinned="false" current-in-tab="false">
|
<file pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/lib/src/stream_chat.dart">
|
<entry file="file://$PROJECT_DIR$/lib/src/stream_chat.dart">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="1309">
|
<state relative-caret-position="1275">
|
||||||
<caret line="77" column="28" selection-start-line="77" selection-start-column="28" selection-end-line="77" selection-end-column="28" />
|
<caret line="75" column="15" selection-start-line="75" selection-start-column="15" selection-end-line="75" selection-end-column="15" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="e#0#20#0" expanded="true" />
|
<element signature="e#0#20#0" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
@@ -69,8 +67,8 @@
|
|||||||
<file pinned="false" current-in-tab="false">
|
<file pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/lib/src/message_widget.dart">
|
<entry file="file://$PROJECT_DIR$/lib/src/message_widget.dart">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="875">
|
<state relative-caret-position="1046">
|
||||||
<caret line="79" column="26" selection-start-line="79" selection-start-column="26" selection-end-line="79" selection-end-column="26" />
|
<caret line="196" column="32" lean-forward="true" selection-start-line="196" selection-start-column="24" selection-end-line="204" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="e#0#64#0" expanded="true" />
|
<element signature="e#0#64#0" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
@@ -78,7 +76,7 @@
|
|||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file pinned="false" current-in-tab="true">
|
<file pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/lib/src/stream_channel.dart">
|
<entry file="file://$PROJECT_DIR$/lib/src/stream_channel.dart">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="170">
|
<state relative-caret-position="170">
|
||||||
@@ -93,8 +91,8 @@
|
|||||||
<file pinned="false" current-in-tab="false">
|
<file pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/lib/stream_chat_flutter.dart">
|
<entry file="file://$PROJECT_DIR$/lib/stream_chat_flutter.dart">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="102">
|
<state relative-caret-position="136">
|
||||||
<caret line="6" column="31" selection-start-line="6" selection-start-column="31" selection-end-line="6" selection-end-column="31" />
|
<caret line="8" column="28" selection-start-line="8" selection-start-column="28" selection-end-line="8" selection-end-column="28" />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
@@ -147,6 +145,9 @@
|
|||||||
<find>CHANNEL-</find>
|
<find>CHANNEL-</find>
|
||||||
<find>_userController</find>
|
<find>_userController</find>
|
||||||
<find>onTap</find>
|
<find>onTap</find>
|
||||||
|
<find>_channelPreviewBuilder</find>
|
||||||
|
<find>onChannelTap</find>
|
||||||
|
<find>stack</find>
|
||||||
</findStrings>
|
</findStrings>
|
||||||
</component>
|
</component>
|
||||||
<component name="Git.Settings">
|
<component name="Git.Settings">
|
||||||
@@ -165,14 +166,14 @@
|
|||||||
<option value="$PROJECT_DIR$/lib/src/message_input.dart" />
|
<option value="$PROJECT_DIR$/lib/src/message_input.dart" />
|
||||||
<option value="$PROJECT_DIR$/example/lib/main.dart" />
|
<option value="$PROJECT_DIR$/example/lib/main.dart" />
|
||||||
<option value="$PROJECT_DIR$/lib/src/channel_image.dart" />
|
<option value="$PROJECT_DIR$/lib/src/channel_image.dart" />
|
||||||
<option value="$PROJECT_DIR$/lib/stream_chat_flutter.dart" />
|
|
||||||
<option value="$PROJECT_DIR$/example/lib/single_conversation.dart" />
|
<option value="$PROJECT_DIR$/example/lib/single_conversation.dart" />
|
||||||
<option value="$PROJECT_DIR$/lib/src/stream_chat.dart" />
|
<option value="$PROJECT_DIR$/lib/src/stream_chat.dart" />
|
||||||
<option value="$PROJECT_DIR$/lib/src/message_list_view.dart" />
|
<option value="$PROJECT_DIR$/lib/src/message_list_view.dart" />
|
||||||
|
<option value="$PROJECT_DIR$/lib/src/stream_channel.dart" />
|
||||||
|
<option value="$PROJECT_DIR$/example/lib/multiple_conversation.dart" />
|
||||||
|
<option value="$PROJECT_DIR$/lib/stream_chat_flutter.dart" />
|
||||||
<option value="$PROJECT_DIR$/lib/src/channel_preview.dart" />
|
<option value="$PROJECT_DIR$/lib/src/channel_preview.dart" />
|
||||||
<option value="$PROJECT_DIR$/lib/src/channel_list_view.dart" />
|
<option value="$PROJECT_DIR$/lib/src/channel_list_view.dart" />
|
||||||
<option value="$PROJECT_DIR$/example/lib/multiple_conversation.dart" />
|
|
||||||
<option value="$PROJECT_DIR$/lib/src/stream_channel.dart" />
|
|
||||||
</list>
|
</list>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
@@ -431,13 +432,6 @@
|
|||||||
<entry file="file://$PROJECT_DIR$/lib/src/channel_name_text.dart">
|
<entry file="file://$PROJECT_DIR$/lib/src/channel_name_text.dart">
|
||||||
<provider selected="true" editor-type-id="text-editor" />
|
<provider selected="true" editor-type-id="text-editor" />
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/lib/stream_chat_flutter.dart">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="102">
|
|
||||||
<caret line="6" column="31" selection-start-line="6" selection-start-column="31" selection-end-line="6" selection-end-column="31" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/../flutter/packages/flutter/lib/src/widgets/async.dart">
|
<entry file="file://$PROJECT_DIR$/../flutter/packages/flutter/lib/src/widgets/async.dart">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="580">
|
<state relative-caret-position="580">
|
||||||
@@ -445,33 +439,6 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/../stream_chat_dart/lib/src/client.dart">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="485">
|
|
||||||
<caret line="70" column="38" selection-start-line="70" selection-start-column="38" selection-end-line="70" selection-end-column="38" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/lib/src/stream_chat.dart">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="1309">
|
|
||||||
<caret line="77" column="28" selection-start-line="77" selection-start-column="28" selection-end-line="77" selection-end-column="28" />
|
|
||||||
<folding>
|
|
||||||
<element signature="e#0#20#0" expanded="true" />
|
|
||||||
</folding>
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/lib/src/message_widget.dart">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="875">
|
|
||||||
<caret line="79" column="26" selection-start-line="79" selection-start-column="26" selection-end-line="79" selection-end-column="26" />
|
|
||||||
<folding>
|
|
||||||
<element signature="e#0#64#0" expanded="true" />
|
|
||||||
</folding>
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/lib/src/message_list_view.dart">
|
<entry file="file://$PROJECT_DIR$/lib/src/message_list_view.dart">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="1230">
|
<state relative-caret-position="1230">
|
||||||
@@ -482,23 +449,20 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/lib/src/channel_list_view.dart">
|
<entry file="file://$PROJECT_DIR$/lib/src/stream_chat.dart">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="136">
|
<state relative-caret-position="1275">
|
||||||
<caret line="8" column="26" selection-start-line="8" selection-start-column="8" selection-end-line="8" selection-end-column="26" />
|
<caret line="75" column="15" selection-start-line="75" selection-start-column="15" selection-end-line="75" selection-end-column="15" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="e#0#39#0" expanded="true" />
|
<element signature="e#0#20#0" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/lib/src/channel_preview.dart">
|
<entry file="file://$PROJECT_DIR$/../stream_chat_dart/lib/src/client.dart">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="782">
|
<state relative-caret-position="648">
|
||||||
<caret line="46" column="31" selection-start-line="46" selection-start-column="31" selection-end-line="46" selection-end-column="31" />
|
<caret line="239" column="19" selection-start-line="239" selection-start-column="19" selection-end-line="239" selection-end-column="19" />
|
||||||
<folding>
|
|
||||||
<element signature="e#0#46#0" expanded="true" />
|
|
||||||
</folding>
|
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
@@ -512,5 +476,42 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/lib/stream_chat_flutter.dart">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="136">
|
||||||
|
<caret line="8" column="28" selection-start-line="8" selection-start-column="28" selection-end-line="8" selection-end-column="28" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/lib/src/message_widget.dart">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="1046">
|
||||||
|
<caret line="196" column="32" lean-forward="true" selection-start-line="196" selection-start-column="24" selection-end-line="204" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#0#64#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/lib/src/channel_preview.dart">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="765">
|
||||||
|
<caret line="45" column="29" selection-start-line="45" selection-start-column="29" selection-end-line="45" selection-end-column="29" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#0#46#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/lib/src/channel_list_view.dart">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="890">
|
||||||
|
<caret line="138" column="34" lean-forward="true" selection-start-line="138" selection-start-column="34" selection-end-line="138" selection-end-column="34" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#0#39#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
@@ -9,18 +9,11 @@ void main() async {
|
|||||||
'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoid2lsZC1icmVlemUtNyJ9.VM2EX1EXOfgqa-bTH_3JzeY0T99ngWzWahSauP3dBMo',
|
'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoid2lsZC1icmVlemUtNyJ9.VM2EX1EXOfgqa-bTH_3JzeY0T99ngWzWahSauP3dBMo',
|
||||||
);
|
);
|
||||||
|
|
||||||
final channelClient = client.channel('messaging', id: 'godevs');
|
|
||||||
|
|
||||||
channelClient.watch();
|
|
||||||
|
|
||||||
runApp(
|
runApp(
|
||||||
StreamChat(
|
StreamChat(
|
||||||
client: client,
|
client: client,
|
||||||
child: MaterialApp(
|
child: MaterialApp(
|
||||||
home: StreamChat(
|
home: ChannelListPage(),
|
||||||
client: client,
|
|
||||||
child: ChannelListPage(),
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
@@ -40,14 +33,7 @@ class ChannelListPage extends StatelessWidget {
|
|||||||
pagination: PaginationParams(
|
pagination: PaginationParams(
|
||||||
limit: 20,
|
limit: 20,
|
||||||
),
|
),
|
||||||
onChannelTap: (channelClient) {
|
channelWidget: ChannelPage(),
|
||||||
Navigator.push(context, MaterialPageRoute(builder: (context) {
|
|
||||||
return StreamChannel(
|
|
||||||
child: ChannelPage(),
|
|
||||||
channelClient: channelClient,
|
|
||||||
);
|
|
||||||
}));
|
|
||||||
},
|
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,10 +14,10 @@ void main() async {
|
|||||||
channelClient.watch();
|
channelClient.watch();
|
||||||
|
|
||||||
runApp(
|
runApp(
|
||||||
MaterialApp(
|
StreamChat(
|
||||||
home: StreamChat(
|
client: client,
|
||||||
client: client,
|
child: MaterialApp(
|
||||||
child: StreamChannel(
|
home: StreamChannel(
|
||||||
channelClient: channelClient,
|
channelClient: channelClient,
|
||||||
child: ChannelPage(),
|
child: ChannelPage(),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -5,19 +5,19 @@ import 'channel_preview.dart';
|
|||||||
import 'stream_channel.dart';
|
import 'stream_channel.dart';
|
||||||
import 'stream_chat.dart';
|
import 'stream_chat.dart';
|
||||||
|
|
||||||
typedef ChannelPreviewBuilder = Widget Function(BuildContext, ChannelState);
|
typedef ChannelTapCallback = void Function(ChannelClient, Widget);
|
||||||
typedef ChannelTapCallback = void Function(ChannelClient);
|
|
||||||
|
|
||||||
class ChannelListView extends StatefulWidget {
|
class ChannelListView extends StatefulWidget {
|
||||||
ChannelListView({
|
ChannelListView({
|
||||||
Key key,
|
Key key,
|
||||||
ChannelPreviewBuilder channelPreviewBuilder,
|
|
||||||
this.filter,
|
this.filter,
|
||||||
this.options,
|
this.options,
|
||||||
this.sort,
|
this.sort,
|
||||||
this.pagination,
|
this.pagination,
|
||||||
this.onChannelTap,
|
this.onChannelTap,
|
||||||
}) : _channelPreviewBuilder = channelPreviewBuilder,
|
this.channelWidget,
|
||||||
|
this.channelPreview,
|
||||||
|
}) : assert(channelWidget != null || onChannelTap != null),
|
||||||
super(key: key);
|
super(key: key);
|
||||||
|
|
||||||
final Map<String, dynamic> filter;
|
final Map<String, dynamic> filter;
|
||||||
@@ -26,8 +26,8 @@ class ChannelListView extends StatefulWidget {
|
|||||||
final PaginationParams pagination;
|
final PaginationParams pagination;
|
||||||
final ScrollController _scrollController = ScrollController();
|
final ScrollController _scrollController = ScrollController();
|
||||||
final ChannelTapCallback onChannelTap;
|
final ChannelTapCallback onChannelTap;
|
||||||
|
final Widget channelWidget;
|
||||||
final ChannelPreviewBuilder _channelPreviewBuilder;
|
final Widget channelPreview;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
_ChannelListViewState createState() => _ChannelListViewState();
|
_ChannelListViewState createState() => _ChannelListViewState();
|
||||||
@@ -98,17 +98,47 @@ class _ChannelListViewState extends State<ChannelListView> {
|
|||||||
final channelClient =
|
final channelClient =
|
||||||
streamChat.client.channelClients[channelState.channel.id];
|
streamChat.client.channelClients[channelState.channel.id];
|
||||||
|
|
||||||
|
ChannelTapCallback onTap;
|
||||||
|
if (widget.onChannelTap != null) {
|
||||||
|
onTap = widget.onChannelTap;
|
||||||
|
} else {
|
||||||
|
onTap = (client, _) {
|
||||||
|
Navigator.push(
|
||||||
|
context,
|
||||||
|
MaterialPageRoute(
|
||||||
|
builder: (context) {
|
||||||
|
return StreamChannel(
|
||||||
|
child: widget.channelWidget,
|
||||||
|
channelClient: client,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
Widget child;
|
Widget child;
|
||||||
if (widget._channelPreviewBuilder != null) {
|
if (widget.channelPreview != null) {
|
||||||
child = GestureDetector(
|
child = Stack(
|
||||||
onTap: () {
|
children: [
|
||||||
widget.onChannelTap(channelClient);
|
widget.channelPreview,
|
||||||
},
|
Positioned.fill(
|
||||||
child: widget._channelPreviewBuilder(context, channelState),
|
child: Material(
|
||||||
|
color: Colors.transparent,
|
||||||
|
child: InkWell(
|
||||||
|
onTap: () {
|
||||||
|
onTap(channelClient, widget.channelWidget);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
child = ChannelPreview(
|
child = ChannelPreview(
|
||||||
onTap: widget.onChannelTap,
|
onTap: (channelClient) {
|
||||||
|
onTap(channelClient, widget.channelWidget);
|
||||||
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,17 +4,16 @@ import 'package:flutter/widgets.dart';
|
|||||||
import 'package:stream_chat/stream_chat.dart';
|
import 'package:stream_chat/stream_chat.dart';
|
||||||
|
|
||||||
import 'channel_image.dart';
|
import 'channel_image.dart';
|
||||||
import 'channel_list_view.dart';
|
|
||||||
import 'channel_name_text.dart';
|
import 'channel_name_text.dart';
|
||||||
import 'stream_channel.dart';
|
import 'stream_channel.dart';
|
||||||
import 'stream_chat.dart';
|
import 'stream_chat.dart';
|
||||||
|
|
||||||
class ChannelPreview extends StatelessWidget {
|
class ChannelPreview extends StatelessWidget {
|
||||||
final ChannelTapCallback onTap;
|
final void Function(ChannelClient) onTap;
|
||||||
|
|
||||||
const ChannelPreview({
|
const ChannelPreview({
|
||||||
Key key,
|
Key key,
|
||||||
@required this.onTap,
|
this.onTap,
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
export 'package:stream_chat/stream_chat.dart';
|
export 'package:stream_chat/stream_chat.dart';
|
||||||
|
|
||||||
export 'src/channel_list_view.dart';
|
export 'src/channel_list_view.dart';
|
||||||
|
export 'src/channel_preview.dart';
|
||||||
export 'src/message_input.dart';
|
export 'src/message_input.dart';
|
||||||
export 'src/message_list_view.dart';
|
export 'src/message_list_view.dart';
|
||||||
export 'src/message_widget.dart';
|
export 'src/message_widget.dart';
|
||||||
|
|||||||
Reference in New Issue
Block a user