From c9e72ebc9144ffe93ab0e587ffa6ea73f81409b5 Mon Sep 17 00:00:00 2001 From: Salvatore Giordano Date: Thu, 20 May 2021 14:40:35 +0200 Subject: [PATCH] add modal before removing member and remove make owner (not yet in backend) --- .../stream_chat_v1/lib/group_info_screen.dart | 41 ++++++++++++------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/packages/stream_chat_v1/lib/group_info_screen.dart b/packages/stream_chat_v1/lib/group_info_screen.dart index 00e3966..76938fb 100644 --- a/packages/stream_chat_v1/lib/group_info_screen.dart +++ b/packages/stream_chat_v1/lib/group_info_screen.dart @@ -670,8 +670,9 @@ class _GroupInfoScreenState extends State { Filter.autoComplete('name', _userNameQuery), Filter.notIn('id', [ StreamChat.of(context).user!.id, - ...channel.state!.members.map(((e) => e.userId!) - as Object Function(Member)), + ...channel.state!.members + .map(((e) => e.userId)) + .whereType(), ]), ], ), @@ -893,18 +894,18 @@ class _GroupInfoScreenState extends State { ); }, ), - if (!channel.isDistinct && - StreamChat.of(context).user!.id != user.id && - isUserAdmin) - _buildModalListTile( - context, - StreamSvgIcon.iconUserSettings( - color: StreamChatTheme.of(context).colorTheme.grey, - size: 24.0, - ), - 'Make Owner', () { - // TODO: Add make owner implementation (Remaining from backend) - }), + // if (!channel.isDistinct && + // StreamChat.of(context).user!.id != user.id && + // isUserAdmin) + // _buildModalListTile( + // context, + // StreamSvgIcon.iconUserSettings( + // color: StreamChatTheme.of(context).colorTheme.grey, + // size: 24.0, + // ), + // 'Make Owner', () { + // // TODO: Add make owner implementation (Remaining from backend) + // }), if (!channel.isDistinct && StreamChat.of(context).user!.id != user.id && isUserAdmin) @@ -915,7 +916,17 @@ class _GroupInfoScreenState extends State { size: 24.0, ), 'Remove From Group', () async { - await channel.removeMembers([user.id]); + final res = await showConfirmationDialog( + context, + title: 'Remove member', + okText: 'REMOVE', + question: 'Are you sure you want to remove this member?', + cancelText: 'CANCEL', + ); + + if (res == true) { + await channel.removeMembers([user.id]); + } Navigator.pop(context); }, color: StreamChatTheme.of(context).colorTheme.accentRed), _buildModalListTile(