@@ -13,6 +13,7 @@ import {
1313} from 'stream-chat-react-native' ;
1414
1515import { useAppOverlayContext } from '../context/AppOverlayContext' ;
16+ import { useBottomSheetOverlayContext } from '../context/BottomSheetOverlayContext' ;
1617import { useChannelInfoOverlayContext } from '../context/ChannelInfoOverlayContext' ;
1718
1819import type { StackNavigationProp } from '@react-navigation/stack' ;
@@ -65,7 +66,9 @@ export const ChannelPreview: React.FC<
6566
6667 const { setOverlay } = useAppOverlayContext ( ) ;
6768
68- const { setData } = useChannelInfoOverlayContext ( ) ;
69+ const { setData : setDataBottomSheet } = useBottomSheetOverlayContext ( ) ;
70+
71+ const { setData, data } = useChannelInfoOverlayContext ( ) ;
6972
7073 const { client } = useChatContext <
7174 LocalAttachmentType ,
@@ -85,6 +88,12 @@ export const ChannelPreview: React.FC<
8588 } ,
8689 } = useTheme ( ) ;
8790
91+ const otherMembers = channel
92+ ? Object . values ( channel . state . members ) . filter (
93+ ( member ) => member . user ?. id !== data ?. clientId ,
94+ )
95+ : [ ] ;
96+
8897 return (
8998 < Swipeable
9099 overshootLeft = { false }
@@ -103,7 +112,22 @@ export const ChannelPreview: React.FC<
103112 < MenuPointHorizontal />
104113 </ RectButton >
105114 < RectButton
106- onPress = { ( ) => channel . delete ( ) }
115+ onPress = { ( ) => {
116+ setDataBottomSheet ( {
117+ confirmText : 'DELETE' ,
118+ onConfirm : ( ) => {
119+ channel . delete ( ) ;
120+ setOverlay ( 'none' ) ;
121+ } ,
122+ subtext : `Are you sure you want to delete this ${
123+ otherMembers . length === 1 ? 'conversation' : 'group'
124+ } ?`,
125+ title : `Delete ${
126+ otherMembers . length === 1 ? 'Conversation' : 'Group'
127+ } `,
128+ } ) ;
129+ setOverlay ( 'confirmation' ) ;
130+ } }
107131 style = { [ styles . rightSwipeableButton ] }
108132 >
109133 < Delete pathFill = { accent_red } />
0 commit comments