add onLongPress to channel preview
This commit is contained in:
@@ -68,6 +68,7 @@ void main() async {
|
||||
's2dxdhpxd94g',
|
||||
logLevel: Level.INFO,
|
||||
showLocalNotification: Platform.isAndroid ? showLocalNotification : null,
|
||||
backgroundKeepAlive: Duration.zero,
|
||||
);
|
||||
|
||||
await client.setUser(
|
||||
@@ -87,13 +88,12 @@ class MyApp extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final theme = ThemeData();
|
||||
return MaterialApp(
|
||||
theme: theme,
|
||||
theme: ThemeData.light(),
|
||||
darkTheme: ThemeData.dark(),
|
||||
themeMode: ThemeMode.system,
|
||||
home: Container(
|
||||
child: StreamChat(
|
||||
streamChatThemeData: StreamChatThemeData.fromTheme(theme),
|
||||
client: client,
|
||||
child: ChannelListPage(),
|
||||
),
|
||||
|
||||
@@ -55,6 +55,7 @@ class ChannelListView extends StatefulWidget {
|
||||
this.sort,
|
||||
this.pagination,
|
||||
this.onChannelTap,
|
||||
this.onChannelLongPress,
|
||||
this.channelWidget,
|
||||
this.channelPreviewBuilder,
|
||||
this.errorBuilder,
|
||||
@@ -92,6 +93,9 @@ class ChannelListView extends StatefulWidget {
|
||||
/// with the widget [channelWidget] as child.
|
||||
final ChannelTapCallback onChannelTap;
|
||||
|
||||
/// Function called when long pressing on a channel
|
||||
final Function(Channel) onChannelLongPress;
|
||||
|
||||
/// Widget used when opening a channel
|
||||
final Widget channelWidget;
|
||||
|
||||
@@ -271,6 +275,7 @@ class _ChannelListViewState extends State<ChannelListView>
|
||||
);
|
||||
} else {
|
||||
child = ChannelPreview(
|
||||
onLongPress: widget.onChannelLongPress,
|
||||
channel: channel,
|
||||
onImageTap: widget.onImageTap != null
|
||||
? () {
|
||||
|
||||
@@ -23,6 +23,9 @@ class ChannelPreview extends StatelessWidget {
|
||||
/// Function called when tapping this widget
|
||||
final void Function(Channel) onTap;
|
||||
|
||||
/// Function called when long pressing this widget
|
||||
final void Function(Channel) onLongPress;
|
||||
|
||||
/// Channel displayed
|
||||
final Channel channel;
|
||||
|
||||
@@ -33,6 +36,7 @@ class ChannelPreview extends StatelessWidget {
|
||||
@required this.channel,
|
||||
Key key,
|
||||
this.onTap,
|
||||
this.onLongPress,
|
||||
this.onImageTap,
|
||||
}) : super(key: key);
|
||||
|
||||
@@ -40,7 +44,14 @@ class ChannelPreview extends StatelessWidget {
|
||||
Widget build(BuildContext context) {
|
||||
return ListTile(
|
||||
onTap: () {
|
||||
onTap(channel);
|
||||
if (onTap != null) {
|
||||
onTap(channel);
|
||||
}
|
||||
},
|
||||
onLongPress: () {
|
||||
if (onLongPress != null) {
|
||||
onLongPress(channel);
|
||||
}
|
||||
},
|
||||
leading: ChannelImage(
|
||||
onTap: onImageTap,
|
||||
|
||||
+2
-1
@@ -20,7 +20,8 @@ dependencies:
|
||||
file_picker: ^1.8.0+2
|
||||
image_picker: ^0.6.5+3
|
||||
flutter_keyboard_visibility: ^2.0.0
|
||||
stream_chat: ^0.2.0-alpha+8
|
||||
stream_chat:
|
||||
path: ../stream_chat_dart
|
||||
mime: ^0.9.6+3
|
||||
visibility_detector: ^0.1.4
|
||||
http_parser: ^3.1.4
|
||||
|
||||
Reference in New Issue
Block a user