/* Metro module 14535; source: modules/threads/native/components/ThreadLongPressActionSheet.tsx; dependencies: [31, 1379, 1867, 4297, 3786, 661, 33, 1244, 8999, 5097, 11234, 4054, 7153, 10859, 8850, 4076, 4066, 11237, 6705, 9646, 8148, 4056, 12148, 10629, 4080, 10936, 1962, 9216, 11241, 11243, 566, 6860, 22, 9626, 4805, 3829, 11247, 6819, 1305, 6805, 11251, 6807, 8772, 6797, 3856, 2] */ function _fun109962(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#109962, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14732:6, offset: 0x023635d2, size: 278 bytes, params: 8, frame: 19 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_3 = importAll(31) /* metro dependency 31 */; const channelStore = importDefault(1379) /* metro dependency 1379: ChannelStore */; const guildStore = importDefault(1867) /* metro dependency 1867: GuildStore */; const voiceStateStore = importDefault(4297) /* metro dependency 4297: VoiceStateStore */; const joinedThreadsStore = importDefault(3786) /* metro dependency 3786: JoinedThreadsStore */; let value = require(661) /* metro dependency 661: Constants */; const env0_8 = value.AnalyticsObjectTypes; const env0_9 = value.AnalyticsObjects; const env0_10 = value.AnalyticsSections; const env0_11 = value.ChannelSettingsSections; value = require(33) /* metro dependency 33 */; const env0_12 = value.jsx; const env0_13 = value.jsxs; (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/threads/native/components/ThreadLongPressActionSheet.tsx'); exports.default = ThreadLongPressActionSheet; } function ThreadLongPressActionSheetConnected({channel, onClose}) { // fn#109963, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14732:279, offset: 0x023636e8, size: 1012 bytes, params: 2, frame: 37 var object2; var r5; const ActionSheetRow = (require(6807) /* metro dependency 6807: ActionSheetRowNative */).ActionSheetRow; var Group; var intl; const env0_2 = channel.getGuildId(); const guild = (require(566) /* metro dependency 566: flux */).useStateFromStores([GuildStore], _fun109964); const {isMuted, hasJoined} = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([JoinedThreadsStore], function() { var object = {}; var channelBinding = channel; object.isMuted = JoinedThreadsStore.isMuted(channelBinding.id); object.hasJoined = JoinedThreadsStore.hasJoined(channelBinding.id); return object; }); const value3 = (require(6860) /* metro dependency 6860: ThreadHooks */).useCanManageThread(channel); const value4 = (require(6860) /* metro dependency 6860: ThreadHooks */).useIsThreadModerator(channel); const value5 = (require(6860) /* metro dependency 6860: ThreadHooks */).useCanUnarchiveThread(channel); const value6 = (require(6860) /* metro dependency 6860: ThreadHooks */).useCanJoinThreadVoice(channel); const value7 = (require(566) /* metro dependency 566: flux */).useStateFromStores([VoiceStateStore], function() { return VoiceStateStore.isInChannel(channel.id); }); const value8 = (require(566) /* metro dependency 566: flux */).useStateFromStores([VoiceStateStore], function() { return !importDefault(dependencyMap[32]).isEmpty(VoiceStateStore.getVoiceStatesForChannel(channel.id)); }); const value9 = (importDefault(9626) /* metro dependency 9626: useHandleJoinThreadVoice */)(channel); const value10 = (importDefault(4805) /* metro dependency 4805: useChannelName */)(channel, true); const DeveloperMode = (require(3829) /* metro dependency 3829: UserSettings */).DeveloperMode; const value11 = DeveloperMode.useSetting(); const env0_3 = value11; const value12 = (importDefault(11247) /* metro dependency 11247: useMobileChannelFavoriteActions */)(channel, 'ThreadLongPressActionSheet'); const r10 = guild != null ? ((Component) => )(importDefault(6819) /* metro dependency 6819: GuildIcon */) : ((Avatar) => )((require(1305) /* metro dependency 1305: native */).Avatar); object2 = {channel: channel, guild: guild, canManageThread: value3, canModerateThread: value4, canUnarchiveThread: value5, isMuted: isMuted, hasJoined: hasJoined}; object2.isForumPost = channel.isForumPost(); object2.handleJoinThreadVoice = value6 ? value7 ? null : value9 : null; object2.hasActiveThreadVoice = value8; object2.favorites = value12; const value16 = ThreadLongPressActionSheetConnectedGetActionSheetButtons(object2); env0_3.useEffect(_fun109981, [value16.length, value11, onClose]); const ActionSheet = (require(6805) /* metro dependency 6805: ActionSheetNative */).ActionSheet; object2 = {}; const ActionSheetIconHeader = (require(11251) /* metro dependency 11251: ActionSheetIconHeaderNative */).ActionSheetIconHeader; object2.header = ; const value17 = value16.map(_fun109982); if (value11) { Group = ActionSheetRow.Group; var actionSheetRowProps = {icon: ((Icon) => )((require(6807) /* metro dependency 6807: ActionSheetRowNative */).ActionSheetRow.Icon)}; intl = (require(1244) /* metro dependency 1244: indexNative */).intl; actionSheetRowProps.label = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.DQ797g); actionSheetRowProps.onPress = onPress_109985; r5 = ; } else { r5 = value11; } return ( {value17} {r5} ); } function ThreadLongPressActionSheet({channelId, onClose}) { // fn#109986, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14732:5222, offset: 0x02364738, size: 153 bytes, params: 2, frame: 18 const channel = (require(566) /* metro dependency 566: flux */).useStateFromStores([ChannelStore], function() { return ChannelStore.getChannel(channelId); }); env0_3.useEffect(function() { if (channel == null) { onClose(); } }, [channel, onClose]); return channel != null ? : null; } function ThreadLongPressActionSheetConnectedGetActionSheetButtons({channel, canManageThread, canModerateThread, canUnarchiveThread, isMuted, hasJoined, isForumPost, handleJoinThreadVoice, hasActiveThreadVoice, favorites}) { // fn#109968, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14732:1096, owner: ThreadLongPressActionSheetConnected.getActionSheetButtons, offset: 0x02363b80, size: 1846 bytes, params: 2, frame: 31 var object; var object3; var object8; const XLargeIcon = (require(4066) /* metro dependency 4066: XLargeIcon */).XLargeIcon; var object16; var isLockedThread2; var object17; var object18; const items2 = []; let push = items2.push; const object19 = {}; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; let string = intl.string; const t = (require(1244) /* metro dependency 1244: indexNative */).t; object19.label = Reflect.apply(string, intl, [t.e6RscS]); const EyeIcon = (require(8999) /* metro dependency 8999: EyeIcon */).EyeIcon; object19.IconComponent = EyeIcon; object19.onPress = function() { require(dependencyMap[9]).ack(channel.id, {section: AnalyticsSections.THREAD_ACTION_SHEET, object: AnalyticsObjects.MARK_THREAD_AS_READ_BUTTON, objectType: AnalyticsObjectTypes.ACK_MANUAL}, true, true); }; Reflect.apply(push, items2, [{sectionKey: 'mark-as-read', buttons: [object19]}]); const value2 = (importDefault(11234) /* metro dependency 11234: buildFavoritesSectionButtonsNative */)(favorites); if (value2 != null) { items2.push({sectionKey: 'favorites', buttons: [value2]}); } const object20 = {sectionKey: 'channel-actions', buttons: []}; let buttons = object20.buttons; push = buttons.push; if (hasJoined) { object3 = {}; string = intl.string; object3.label = isForumPost ? Reflect.apply(string, intl, [t['2LsZdT']]) : Reflect.apply(string, intl, [t['fa/84m']]); object3.IconComponent = (require(4054) /* metro dependency 4054: UserMinusIcon */).UserMinusIcon; object3.isDestructive = true; object3.onPress = onPress_109970; Reflect.apply(push, buttons, [object3]); } else { object = {}; string = intl.string; object.label = isForumPost ? Reflect.apply(string, intl, [t.ihLPiO]) : Reflect.apply(string, intl, [t['10kukS']]); object.IconComponent = (require(10859) /* metro dependency 10859: GroupPlusIcon */).GroupPlusIcon; object.onPress = onPress_109971; Reflect.apply(push, buttons, [object]); } if (handleJoinThreadVoice != null) { buttons = object20.buttons; push = buttons.push; object8 = {}; string = intl.string; object8.label = hasActiveThreadVoice ? Reflect.apply(string, intl, [t['0D/6Rz']]) : Reflect.apply(string, intl, [t.My50nf]); object8.IconComponent = (require(8850) /* metro dependency 8850: PhoneCallIcon */).PhoneCallIcon; object8.onPress = handleJoinThreadVoice; Reflect.apply(push, buttons, [object8]); } const threadMetadata = channel.threadMetadata; if (threadMetadata == null) { if (canManageThread) { buttons = object20.buttons; push = buttons.push; string = intl.string; Reflect.apply(push, buttons, [{label: isForumPost ? Reflect.apply(string, intl, [t.BTs4Kb]) : Reflect.apply(string, intl, [t.wiIevd]), IconComponent: XLargeIcon, onPress: onPress_109973}]); } } else if (threadMetadata.archived) { if (canUnarchiveThread) { buttons = object20.buttons; push = buttons.push; object16 = {}; string = intl.string; object16.label = isForumPost ? Reflect.apply(string, intl, [t.cnRubV]) : Reflect.apply(string, intl, [t.S9E4G7]); object16.IconComponent = (require(4076) /* metro dependency 4076: ClockIcon */).ClockIcon; object16.onPress = onPress_109972; Reflect.apply(push, buttons, [object16]); } } else if (canManageThread) { buttons = object20.buttons; push = buttons.push; string = intl.string; Reflect.apply(push, buttons, [{label: isForumPost ? Reflect.apply(string, intl, [t.BTs4Kb]) : Reflect.apply(string, intl, [t.wiIevd]), IconComponent: XLargeIcon, onPress: onPress_109973}]); } if (canModerateThread) { isLockedThread2 = channel.isLockedThread(); buttons = object20.buttons; push = buttons.push; object17 = {}; string = intl.string; if (isLockedThread2) { object17.label = isForumPost ? Reflect.apply(string, intl, [t['/OKSxp']]) : Reflect.apply(string, intl, [t['jeyb/W']]); object17.IconComponent = (require(11237) /* metro dependency 11237: LockUnlockedIcon */).LockUnlockedIcon; object17.onPress = onPress_109974; Reflect.apply(push, buttons, [object17]); } else { object17.label = isForumPost ? Reflect.apply(string, intl, [t['Ur/0Na']]) : Reflect.apply(string, intl, [t.HoCqm8]); object17.IconComponent = (require(6705) /* metro dependency 6705: LockIcon */).LockIcon; object17.onPress = onPress_109975; Reflect.apply(push, buttons, [object17]); } } if (canModerateThread) { buttons = object20.buttons; push = buttons.push; object18 = {}; string = intl.string; object18.label = isForumPost ? Reflect.apply(string, intl, [t.NP1yHG]) : Reflect.apply(string, intl, [t['2Mk1TP']]); object18.IconComponent = (require(9646) /* metro dependency 9646: PencilIcon */).PencilIcon; object18.onPress = onPress_109976; Reflect.apply(push, buttons, [object18]); } buttons = object20.buttons; push = buttons.push; const object21 = {}; string = intl.string; const WqhZss = t.WqhZss; object21.label = Reflect.apply(string, intl, [WqhZss]); const LinkIcon = (require(4056) /* metro dependency 4056: LinkIcon */).LinkIcon; object21.IconComponent = LinkIcon; object21.isDestructive = false; object21.onPress = onPress_109977; Reflect.apply(push, buttons, [object21]); items2.push(object20); const object22 = {sectionKey: 'notifications', buttons: []}; buttons = object22.buttons; push = buttons.push; const object23 = {}; string = intl.string; if (isMuted) { object23.label = isForumPost ? Reflect.apply(string, intl, [t['0JQfsP']]) : Reflect.apply(string, intl, [t['Cq/TzF']]); object23.IconComponent = (require(9216) /* metro dependency 9216: BellIcon */).BellIcon; object23.onPress = onPress_109978; Reflect.apply(push, buttons, [object23]); } else { object23.label = isForumPost ? Reflect.apply(string, intl, [t['nP+Ykd']]) : Reflect.apply(string, intl, [t.bUUd8q]); object23.IconComponent = (require(10629) /* metro dependency 10629: BellSlashIcon */).BellSlashIcon; object23.onPress = onPress_109979; Reflect.apply(push, buttons, [object23]); } buttons = object22.buttons; push = buttons.push; const object24 = {}; object24.label = intl.string(t.h850Ss); const ChannelNotificationIcon = (require(11241) /* metro dependency 11241: ChannelNotificationIcon */).ChannelNotificationIcon; object24.IconComponent = ChannelNotificationIcon; object24.onPress = onPress_109980; object24.disableColor = true; Reflect.apply(push, buttons, [object24]); items2.push(object22); return items2; } function _fun109982(a0) { // fn#109982, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14732:4479, offset: 0x023645ba, size: 97 bytes, params: 2, frame: 18 const ActionSheetRow = (require(6807) /* metro dependency 6807: ActionSheetRowNative */).ActionSheetRow; const Group = ActionSheetRow.Group; return ( {a0.buttons.map(_fun109983)} ); } function ThreadLongPressActionSheetConnectedOnPress() { // fn#109985, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14732:5029, owner: ThreadLongPressActionSheetConnected.onPress, offset: 0x023646e8, size: 80 bytes, params: 1, frame: 14 onClose(); const clipboardUtilsNativeModule = require(6797) /* metro dependency 6797: ClipboardUtilsNative */; clipboardUtilsNativeModule.copy(channel.id); (require(3856) /* metro dependency 3856: ToastUtils */).presentIdCopied(); } function getActionSheetButtonsOnPress_109970() { // fn#109970, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14732:1836, owner: ThreadLongPressActionSheetConnected.getActionSheetButtons.onPress, offset: 0x02364320, size: 52 bytes, params: 1, frame: 14 let value = environment.__proto__.__proto__; value = importDefault(7153) /* metro dependency 7153: ThreadActionCreators */; value.leaveThread(channel, 'Context Menu'); } function getActionSheetButtonsOnPress_109971() { // fn#109971, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14732:2028, owner: ThreadLongPressActionSheetConnected.getActionSheetButtons.onPress, offset: 0x02364354, size: 52 bytes, params: 1, frame: 14 let value = environment.__proto__.__proto__; value = importDefault(7153) /* metro dependency 7153: ThreadActionCreators */; value.joinThread(channel, 'Context Menu'); } function getActionSheetButtonsOnPress_109972() { // fn#109972, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14732:2415, owner: ThreadLongPressActionSheetConnected.getActionSheetButtons.onPress, offset: 0x02364388, size: 48 bytes, params: 1, frame: 14 let value = environment.__proto__.__proto__; value = importDefault(7153) /* metro dependency 7153: ThreadActionCreators */; value.unarchiveThread(channel, false); } function getActionSheetButtonsOnPress_109973() { // fn#109973, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14732:2596, owner: ThreadLongPressActionSheetConnected.getActionSheetButtons.onPress, offset: 0x023643b8, size: 48 bytes, params: 1, frame: 14 let value = environment.__proto__.__proto__; value = importDefault(7153) /* metro dependency 7153: ThreadActionCreators */; value.archiveThread(channel, false); } function getActionSheetButtonsOnPress_109974() { // fn#109974, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14732:2807, owner: ThreadLongPressActionSheetConnected.getActionSheetButtons.onPress, offset: 0x023643e8, size: 45 bytes, params: 1, frame: 12 let value = environment.__proto__.__proto__; value = importDefault(7153) /* metro dependency 7153: ThreadActionCreators */; value.unlockThread(channel); } function getActionSheetButtonsOnPress_109975() { // fn#109975, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14732:2980, owner: ThreadLongPressActionSheetConnected.getActionSheetButtons.onPress, offset: 0x02364415, size: 45 bytes, params: 1, frame: 12 let value = environment.__proto__.__proto__; value = importDefault(7153) /* metro dependency 7153: ThreadActionCreators */; value.lockThread(channel); } function getActionSheetButtonsOnPress_109976() { // fn#109976, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14732:3157, owner: ThreadLongPressActionSheetConnected.getActionSheetButtons.onPress, offset: 0x02364442, size: 80 bytes, params: 1, frame: 15 let value = environment.__proto__.__proto__; const defaultImport = importDefault(8148) /* metro dependency 8148: ChannelSettingsActionCreators */; const setSection = defaultImport.setSection; const OVERVIEW = ChannelSettingsSections.OVERVIEW; Reflect.apply(setSection, defaultImport, [OVERVIEW]); value = defaultImport; value.open(channel.id); } function getActionSheetButtonsOnPress_109977() { // fn#109977, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14732:3331, owner: ThreadLongPressActionSheetConnected.getActionSheetButtons.onPress, offset: 0x02364492, size: 56 bytes, params: 1, frame: 14 let value = environment.__proto__.__proto__; value = require(12148) /* metro dependency 12148: ChannelActionSheetUtils */; const copyGuildChannelOrThreadLink = value.copyGuildChannelOrThreadLink; const channelBinding = channel; Reflect.apply(copyGuildChannelOrThreadLink, value, [channelBinding.guild_id, channelBinding.id]); } function getActionSheetButtonsOnPress_109978() { // fn#109978, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14732:3602, owner: ThreadLongPressActionSheetConnected.getActionSheetButtons.onPress, offset: 0x023644ca, size: 60 bytes, params: 1, frame: 15 let value = environment.__proto__.__proto__; value = importDefault(7153) /* metro dependency 7153: ThreadActionCreators */; value.setNotificationSettings(channel, {muted: !isMuted}); } function getActionSheetButtonsOnPress_109979() { // fn#109979, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14732:3802, owner: ThreadLongPressActionSheetConnected.getActionSheetButtons.onPress, offset: 0x02364506, size: 135 bytes, params: 1, frame: 18 let value = environment.__proto__.__proto__; const defaultImport = importDefault(dependencyMap[24]); const openLazy = defaultImport.openLazy; value = require(dependencyMap[26]); value = value(dependencyMap[25], dependencyMap.paths); const channelBinding = channel; const value3 = 'muteSettings' + channelBinding.id; const object2 = {}; object2.guildId = channelBinding.getGuildId(); object2.channelId = channelBinding.id; Reflect.apply(openLazy, defaultImport, [value, value3, object2]); } function getActionSheetButtonsOnPress_109980() { // fn#109980, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14732:4027, owner: ThreadLongPressActionSheetConnected.getActionSheetButtons.onPress, offset: 0x0236458d, size: 45 bytes, params: 1, frame: 12 let value = environment.__proto__.__proto__; value = require(11243) /* metro dependency 11243: threadActionSheets */; value.showThreadNotificationsBottomSheet(channel); } function _fun109983({label, IconComponent, trailing, isDestructive, disableColor, onPress}, a1) { // fn#109983, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14732:4551, offset: 0x0236461b, size: 179 bytes, params: 3, frame: 22 const ActionSheetRow = (require(6807) /* metro dependency 6807: ActionSheetRowNative */).ActionSheetRow; const r7 = isDestructive ? 'danger' : 'default'; const ActionSheetRow2 = (require(6807) /* metro dependency 6807: ActionSheetRowNative */).ActionSheetRow; const Icon = ActionSheetRow2.Icon; return ( } trailing={trailing} onPress={function() { onClose(); onPress(); }} key={a1} /> ); }