update multiple_conversation example

This commit is contained in:
Salvatore Giordano
2020-02-24 17:36:54 +01:00
parent e0e36f50cc
commit 46677314d2
6 changed files with 117 additions and 100 deletions
+65 -64
View File
@@ -2,13 +2,11 @@
<project version="4">
<component name="ChangeListManager">
<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/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_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>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" />
@@ -24,17 +22,17 @@
<file pinned="false" current-in-tab="false">
<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 relative-caret-position="648">
<caret line="239" column="19" selection-start-line="239" selection-start-column="19" selection-end-line="239" selection-end-column="19" />
</state>
</provider>
</entry>
</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">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="136">
<caret line="8" column="26" selection-start-line="8" selection-start-column="8" selection-end-line="8" selection-end-column="26" />
<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>
@@ -45,8 +43,8 @@
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/lib/src/channel_preview.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="782">
<caret line="46" column="31" selection-start-line="46" selection-start-column="31" selection-end-line="46" selection-end-column="31" />
<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>
@@ -57,8 +55,8 @@
<file pinned="false" current-in-tab="false">
<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" />
<state relative-caret-position="1275">
<caret line="75" column="15" selection-start-line="75" selection-start-column="15" selection-end-line="75" selection-end-column="15" />
<folding>
<element signature="e#0#20#0" expanded="true" />
</folding>
@@ -69,8 +67,8 @@
<file pinned="false" current-in-tab="false">
<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" />
<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>
@@ -78,7 +76,7 @@
</provider>
</entry>
</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">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="170">
@@ -93,8 +91,8 @@
<file pinned="false" current-in-tab="false">
<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 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>
@@ -147,6 +145,9 @@
<find>CHANNEL-</find>
<find>_userController</find>
<find>onTap</find>
<find>_channelPreviewBuilder</find>
<find>onChannelTap</find>
<find>stack</find>
</findStrings>
</component>
<component name="Git.Settings">
@@ -165,14 +166,14 @@
<option value="$PROJECT_DIR$/lib/src/message_input.dart" />
<option value="$PROJECT_DIR$/example/lib/main.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$/lib/src/stream_chat.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_list_view.dart" />
<option value="$PROJECT_DIR$/example/lib/multiple_conversation.dart" />
<option value="$PROJECT_DIR$/lib/src/stream_channel.dart" />
</list>
</option>
</component>
@@ -431,13 +432,6 @@
<entry file="file://$PROJECT_DIR$/lib/src/channel_name_text.dart">
<provider selected="true" editor-type-id="text-editor" />
</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">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="580">
@@ -445,33 +439,6 @@
</state>
</provider>
</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">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1230">
@@ -482,23 +449,20 @@
</state>
</provider>
</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">
<state relative-caret-position="136">
<caret line="8" column="26" selection-start-line="8" selection-start-column="8" selection-end-line="8" selection-end-column="26" />
<state relative-caret-position="1275">
<caret line="75" column="15" selection-start-line="75" selection-start-column="15" selection-end-line="75" selection-end-column="15" />
<folding>
<element signature="e#0#39#0" expanded="true" />
<element signature="e#0#20#0" expanded="true" />
</folding>
</state>
</provider>
</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">
<state relative-caret-position="782">
<caret line="46" column="31" selection-start-line="46" selection-start-column="31" selection-end-line="46" selection-end-column="31" />
<folding>
<element signature="e#0#46#0" expanded="true" />
</folding>
<state relative-caret-position="648">
<caret line="239" column="19" selection-start-line="239" selection-start-column="19" selection-end-line="239" selection-end-column="19" />
</state>
</provider>
</entry>
@@ -512,5 +476,42 @@
</state>
</provider>
</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>
</project>
+2 -16
View File
@@ -9,18 +9,11 @@ void main() async {
'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoid2lsZC1icmVlemUtNyJ9.VM2EX1EXOfgqa-bTH_3JzeY0T99ngWzWahSauP3dBMo',
);
final channelClient = client.channel('messaging', id: 'godevs');
channelClient.watch();
runApp(
StreamChat(
client: client,
child: MaterialApp(
home: StreamChat(
client: client,
child: ChannelListPage(),
),
home: ChannelListPage(),
),
),
);
@@ -40,14 +33,7 @@ class ChannelListPage extends StatelessWidget {
pagination: PaginationParams(
limit: 20,
),
onChannelTap: (channelClient) {
Navigator.push(context, MaterialPageRoute(builder: (context) {
return StreamChannel(
child: ChannelPage(),
channelClient: channelClient,
);
}));
},
channelWidget: ChannelPage(),
),
);
}
+4 -4
View File
@@ -14,10 +14,10 @@ void main() async {
channelClient.watch();
runApp(
MaterialApp(
home: StreamChat(
client: client,
child: StreamChannel(
StreamChat(
client: client,
child: MaterialApp(
home: StreamChannel(
channelClient: channelClient,
child: ChannelPage(),
),
+43 -13
View File
@@ -5,19 +5,19 @@ import 'channel_preview.dart';
import 'stream_channel.dart';
import 'stream_chat.dart';
typedef ChannelPreviewBuilder = Widget Function(BuildContext, ChannelState);
typedef ChannelTapCallback = void Function(ChannelClient);
typedef ChannelTapCallback = void Function(ChannelClient, Widget);
class ChannelListView extends StatefulWidget {
ChannelListView({
Key key,
ChannelPreviewBuilder channelPreviewBuilder,
this.filter,
this.options,
this.sort,
this.pagination,
this.onChannelTap,
}) : _channelPreviewBuilder = channelPreviewBuilder,
this.channelWidget,
this.channelPreview,
}) : assert(channelWidget != null || onChannelTap != null),
super(key: key);
final Map<String, dynamic> filter;
@@ -26,8 +26,8 @@ class ChannelListView extends StatefulWidget {
final PaginationParams pagination;
final ScrollController _scrollController = ScrollController();
final ChannelTapCallback onChannelTap;
final ChannelPreviewBuilder _channelPreviewBuilder;
final Widget channelWidget;
final Widget channelPreview;
@override
_ChannelListViewState createState() => _ChannelListViewState();
@@ -98,17 +98,47 @@ class _ChannelListViewState extends State<ChannelListView> {
final channelClient =
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;
if (widget._channelPreviewBuilder != null) {
child = GestureDetector(
onTap: () {
widget.onChannelTap(channelClient);
},
child: widget._channelPreviewBuilder(context, channelState),
if (widget.channelPreview != null) {
child = Stack(
children: [
widget.channelPreview,
Positioned.fill(
child: Material(
color: Colors.transparent,
child: InkWell(
onTap: () {
onTap(channelClient, widget.channelWidget);
},
),
),
),
],
);
} else {
child = ChannelPreview(
onTap: widget.onChannelTap,
onTap: (channelClient) {
onTap(channelClient, widget.channelWidget);
},
);
}
+2 -3
View File
@@ -4,17 +4,16 @@ 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 ChannelTapCallback onTap;
final void Function(ChannelClient) onTap;
const ChannelPreview({
Key key,
@required this.onTap,
this.onTap,
}) : super(key: key);
@override
+1
View File
@@ -1,6 +1,7 @@
export 'package:stream_chat/stream_chat.dart';
export 'src/channel_list_view.dart';
export 'src/channel_preview.dart';
export 'src/message_input.dart';
export 'src/message_list_view.dart';
export 'src/message_widget.dart';