diff --git a/app/components/at_mention/at_mention.js b/app/components/at_mention/at_mention.js index d88b7508b..f9cbb349f 100644 --- a/app/components/at_mention/at_mention.js +++ b/app/components/at_mention/at_mention.js @@ -113,7 +113,6 @@ export default class AtMention extends React.PureComponent { BottomSheet.showBottomSheetWithOptions({ options: [actionText, cancelText], - cancelButtonIndex: 1, }, (value) => { if (value !== 1) { this.handleCopyMention(); diff --git a/app/components/markdown/markdown_code_block/markdown_code_block.js b/app/components/markdown/markdown_code_block/markdown_code_block.js index 87bc02f65..446ff4f06 100644 --- a/app/components/markdown/markdown_code_block/markdown_code_block.js +++ b/app/components/markdown/markdown_code_block/markdown_code_block.js @@ -78,7 +78,6 @@ export default class MarkdownCodeBlock extends React.PureComponent { const actionText = formatMessage({id: 'mobile.markdown.code.copy_code', defaultMessage: 'Copy Code'}); BottomSheet.showBottomSheetWithOptions({ options: [actionText, cancelText], - cancelButtonIndex: 1, }, (value) => { if (value !== 1) { this.handleCopyCode(); diff --git a/app/components/markdown/markdown_image/markdown_image.js b/app/components/markdown/markdown_image/markdown_image.js index 4b1034aa6..a1fac027e 100644 --- a/app/components/markdown/markdown_image/markdown_image.js +++ b/app/components/markdown/markdown_image/markdown_image.js @@ -151,7 +151,6 @@ export default class MarkdownImage extends ImageViewPort { const actionText = formatMessage({id: 'mobile.markdown.link.copy_url', defaultMessage: 'Copy URL'}); BottomSheet.showBottomSheetWithOptions({ options: [actionText, cancelText], - cancelButtonIndex: 1, }, (value) => { if (value !== 1) { this.handleLinkCopy(); diff --git a/app/components/markdown/markdown_link/markdown_link.js b/app/components/markdown/markdown_link/markdown_link.js index 0d21eaa31..0ceae8e7f 100644 --- a/app/components/markdown/markdown_link/markdown_link.js +++ b/app/components/markdown/markdown_link/markdown_link.js @@ -130,7 +130,6 @@ export default class MarkdownLink extends PureComponent { const actionText = formatMessage({id: 'mobile.markdown.link.copy_url', defaultMessage: 'Copy URL'}); BottomSheet.showBottomSheetWithOptions({ options: [actionText, cancelText], - cancelButtonIndex: 1, }, (value) => { if (value !== 1) { this.handleLinkCopy(); diff --git a/app/components/sidebars/main/channels_list/list/list.js b/app/components/sidebars/main/channels_list/list/list.js index 7b5b8a35a..04a490fcc 100644 --- a/app/components/sidebars/main/channels_list/list/list.js +++ b/app/components/sidebars/main/channels_list/list/list.js @@ -213,7 +213,7 @@ export default class List extends PureComponent { const moreChannelsText = formatMessage({id: 'more_channels.title', defaultMessage: 'Browse for a Channel'}); const newChannelText = formatMessage({id: 'mobile.create_channel', defaultMessage: 'Create a new Channel'}); const newDirectChannelText = formatMessage({id: 'mobile.more_dms.title', defaultMessage: 'Add a Conversation'}); - const cancelText = formatMessage({id: 'mobile.post.cancel', defaultMessage: 'Cancel'}); + const options = []; const actions = []; @@ -229,20 +229,14 @@ export default class List extends PureComponent { actions.push(this.goToDirectMessages); options.push({text: newDirectChannelText, icon: 'account-plus-outline'}); - options.push(cancelText); - - const cancelButtonIndex = options.length - 1; BottomSheet.showBottomSheetWithOptions({ anchor: this.combinedActionsRef?.current ? findNodeHandle(this.combinedActionsRef.current) : null, options, title: 'Add Channels', subtitle: `To the ${category.display_name} category`, - cancelButtonIndex, }, (value) => { - if (value !== cancelButtonIndex) { - actions[value](); - } + actions[value](); }); }; diff --git a/app/screens/channel_info/channel_info_header.js b/app/screens/channel_info/channel_info_header.js index fa76825fa..d28738422 100644 --- a/app/screens/channel_info/channel_info_header.js +++ b/app/screens/channel_info/channel_info_header.js @@ -101,7 +101,6 @@ export default class ChannelInfoHeader extends React.PureComponent { BottomSheet.showBottomSheetWithOptions({ options: [actionText, cancelText], - cancelButtonIndex: 1, }, (value) => { if (value === 0) { this.handleCopy(text); diff --git a/app/screens/more_channels/more_channels.js b/app/screens/more_channels/more_channels.js index f35cd69c5..60fe8a9e5 100644 --- a/app/screens/more_channels/more_channels.js +++ b/app/screens/more_channels/more_channels.js @@ -430,7 +430,6 @@ export default class MoreChannels extends PureComponent { BottomSheet.showBottomSheetWithOptions({ options, - cancelButtonIndex: 3, title: titleText, }, (value) => { let typeOfChannels; diff --git a/app/utils/bottom_sheet/bottom_sheet.ts b/app/utils/bottom_sheet/bottom_sheet.ts index 55d07115f..10a4ed6ed 100644 --- a/app/utils/bottom_sheet/bottom_sheet.ts +++ b/app/utils/bottom_sheet/bottom_sheet.ts @@ -11,7 +11,13 @@ export default { callback(index); } - const items = options.options.splice(0, options.cancelButtonIndex).map((o: string | {icon: string; text: string}, index: any) => ({ + let items = options.options; + + if (typeof options.cancelButtonIndex === 'number') { + items = items.splice(0, options.cancelButtonIndex); + } + + items = items.map((o: string | {icon: string; text: string}, index: any) => ({ action: () => itemAction(index), text: typeof o === 'string' ? o : o.text, icon: typeof o === 'string' ? null : o.icon,