removed swipe actions list

This commit is contained in:
Deven Joshi
2021-05-31 11:37:48 +05:30
parent ceaf30e545
commit ba0b525255
@@ -80,7 +80,6 @@ class ChannelListView extends StatefulWidget {
this.listBuilder, this.listBuilder,
this.onMoreDetailsPressed, this.onMoreDetailsPressed,
this.onDeletePressed, this.onDeletePressed,
this.swipeActions,
}) : super(key: key); }) : super(key: key);
/// If true a default swipe to action behaviour will be added to this widget /// If true a default swipe to action behaviour will be added to this widget
@@ -167,9 +166,6 @@ class ChannelListView extends StatefulWidget {
/// Callback used when the delete slidable option is pressed /// Callback used when the delete slidable option is pressed
final VoidCallback? onDeletePressed; final VoidCallback? onDeletePressed;
/// Actions shown when list tile is swiped
final List<IconSlideAction>? swipeActions;
@override @override
_ChannelListViewState createState() => _ChannelListViewState(); _ChannelListViewState createState() => _ChannelListViewState();
} }
@@ -477,64 +473,63 @@ class _ChannelListViewState extends State<ChannelListView> {
enabled: widget.swipeToAction, enabled: widget.swipeToAction,
actionPane: const SlidableBehindActionPane(), actionPane: const SlidableBehindActionPane(),
actionExtentRatio: 0.12, actionExtentRatio: 0.12,
secondaryActions: widget.swipeActions ?? secondaryActions: <Widget>[
<Widget>[ IconSlideAction(
IconSlideAction( color: backgroundColor,
color: backgroundColor, icon: Icons.more_horiz,
icon: Icons.more_horiz, onTap: widget.onMoreDetailsPressed ??
onTap: widget.onMoreDetailsPressed ?? () {
() { showModalBottomSheet(
showModalBottomSheet( clipBehavior: Clip.hardEdge,
clipBehavior: Clip.hardEdge, shape: const RoundedRectangleBorder(
shape: const RoundedRectangleBorder( borderRadius: BorderRadius.only(
borderRadius: BorderRadius.only( topLeft: Radius.circular(32),
topLeft: Radius.circular(32), topRight: Radius.circular(32),
topRight: Radius.circular(32), ),
), ),
), context: context,
context: context, builder: (context) => StreamChannel(
builder: (context) => StreamChannel( channel: channel,
channel: channel, child: ChannelBottomSheet(
child: ChannelBottomSheet( onViewInfoTap: () {
onViewInfoTap: () { widget.onViewInfoTap?.call(channel);
widget.onViewInfoTap?.call(channel); },
}, ),
), ),
), );
); },
}, ),
if ([
'admin',
'owner',
].contains(channel.state!.members
.firstWhereOrNull(
(m) => m.userId == channel.client.state.user?.id)
?.role))
IconSlideAction(
color: backgroundColor,
iconWidget: StreamSvgIcon.delete(
color: chatThemeData.colorTheme.accentRed,
), ),
if ([ onTap: widget.onDeletePressed ??
'admin', () async {
'owner', final res = await showConfirmationDialog(
].contains(channel.state!.members context,
.firstWhereOrNull( title: 'Delete Conversation',
(m) => m.userId == channel.client.state.user?.id) okText: 'DELETE',
?.role)) question:
IconSlideAction( 'Are you sure you want to delete this conversation?',
color: backgroundColor, cancelText: 'CANCEL',
iconWidget: StreamSvgIcon.delete( icon: StreamSvgIcon.delete(
color: chatThemeData.colorTheme.accentRed, color: chatThemeData.colorTheme.accentRed,
), ),
onTap: widget.onDeletePressed ?? );
() async { if (res == true) {
final res = await showConfirmationDialog( await channel.delete();
context, }
title: 'Delete Conversation', },
okText: 'DELETE', ),
question: ],
'Are you sure you want to delete this conversation?',
cancelText: 'CANCEL',
icon: StreamSvgIcon.delete(
color: chatThemeData.colorTheme.accentRed,
),
);
if (res == true) {
await channel.delete();
}
},
),
],
child: Container( child: Container(
color: chatThemeData.colorTheme.whiteSnow, color: chatThemeData.colorTheme.whiteSnow,
child: widget.channelPreviewBuilder?.call(context, channel) ?? child: widget.channelPreviewBuilder?.call(context, channel) ??