diff --git a/packages/stream_chat_flutter/lib/src/channel_list_view.dart b/packages/stream_chat_flutter/lib/src/channel_list_view.dart index 7280d826..819ed40f 100644 --- a/packages/stream_chat_flutter/lib/src/channel_list_view.dart +++ b/packages/stream_chat_flutter/lib/src/channel_list_view.dart @@ -513,13 +513,19 @@ class _ChannelListViewState extends State { final canDeleteChannel = channel.ownCapabilities.contains(PermissionType.deleteChannel); + final actionPaneChildren = + widget.swipeActions?.length ?? (canDeleteChannel ? 2 : 1); + final actionPaneExtentRatio = actionPaneChildren > 5 + ? 1 / actionPaneChildren + : actionPaneChildren * 0.2; + return StreamChannel( key: ValueKey('CHANNEL-${channel.cid}'), channel: channel, child: Slidable( enabled: widget.swipeToAction, endActionPane: ActionPane( - extentRatio: canDeleteChannel ? 0.4 : 0.2, + extentRatio: actionPaneExtentRatio, motion: const BehindMotion(), children: widget.swipeActions ?.map((e) => CustomSlidableAction(