/* Metro module 13623; source: modules/quests/native/QuestContextMenu.tsx; dependencies: [29, 31, 7093, 661, 33, 8341, 8639, 1244, 9483, 566, 6531, 9949, 9513, 9505, 7114, 477, 4093, 9480, 9520, 7120, 3869, 13580, 9484, 6249, 13624, 4060, 7116, 6797, 4064, 9519, 9517, 9518, 7121, 8811, 2] */ function _fun104044(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#104044, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13820:6, offset: 0x02281fe8, size: 231 bytes, params: 8, frame: 19 const env0_0 = require; const env0_3 = ['ref']; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_4 = importDefault(29) /* metro dependency 29 */; let value = importAll(31) /* metro dependency 31 */; const questStore = importDefault(7093) /* metro dependency 7093: QuestStore */; const env0_7 = (require(661) /* metro dependency 661: Constants */).LinkingTypes; const env0_8 = (require(33) /* metro dependency 33 */).jsx; value = value.memo(_fun104046); (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/quests/native/QuestContextMenu.tsx'); exports.default = value; } function renderDefaultButton(a0) { // fn#104045, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13820:177, offset: 0x022820cf, size: 229 bytes, params: 2, frame: 19 const ref = a0.ref; const value2 = env0_4(a0, env0_3); const IconButton = (require(8341) /* metro dependency 8341: IconButtonNative */).IconButton; const iconButtonProps = {ref: ref, ...value2}; iconButtonProps['icon'] = importDefault(8639) /* metro dependency 8639 */; iconButtonProps['variant'] = 'secondary'; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; const string = intl.string; const CAgr1w = (require(1244) /* metro dependency 1244: indexNative */).t.CAgr1w; iconButtonProps['accessibilityLabel'] = Reflect.apply(string, intl, [CAgr1w]); iconButtonProps['accessibilityHint'] = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.hd0b7t); return ; } function _fun104046({children = renderDefaultButton, quest, showShareLink, additionalItems = [], sourceQuestContent}) { // fn#104046, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13820:432, offset: 0x022821b4, size: 1019 bytes, params: 2, frame: 37 var r23; var moduleValue6; showShareLink = !(showShareLink === undefined) && showShareLink; const value5 = (require(9483) /* metro dependency 9483: QuestHooks */).useQuestPreviewActions(quest.id); const handleComplete = value5.handleComplete; const handleProgress = value5.handleProgress; const handleResetDismissibilityClick = value5.handleResetDismissibilityClick; const env0_5 = handleResetDismissibilityClick; const handleResetStatusClick = value5.handleResetStatusClick; const handleOverridePreviewClick = value5.handleOverridePreviewClick; const handleResetHasBeenSeenClick = value5.handleResetHasBeenSeenClick; const value6 = (require(566) /* metro dependency 566: flux */).useStateFromStores([QuestStore], function() { return QuestStore.getQuestPreviewOverride(require(dependencyMap[10]).QuestContent.QUEST_BAR_MOBILE); }, []); const value7 = (require(9949) /* metro dependency 9949: AnalyticsHooks */).useTrackQuestContentClickedWithImpression(); const value8 = (require(9513) /* metro dependency 9513: ContentImpressionTrackerHooks */).useQuestImpressionId(); const externalCtaLabel = (require(9505) /* metro dependency 9505: QuestCopyUtils */).getExternalCtaLabel(quest); if (showShareLink) { moduleValue6 = require(7114) /* metro dependency 7114: QuestUtils */; r23 = moduleValue6.isShareableQuest(quest.config); } else { r23 = showShareLink; } let binding = env0_5; const value10 = binding.useCallback(_fun104048, [quest, value8, sourceQuestContent]); const value11 = binding.useCallback(_fun104049, [r23, quest.id, value8, sourceQuestContent]); const value12 = binding.useCallback(_fun104050, [quest, sourceQuestContent]); const value13 = binding.useCallback(_fun104051, [quest.id]); const value14 = binding.useCallback(_fun104052, [quest.id]); const value15 = binding.useMemo(_fun104053, [externalCtaLabel, value10, value12, r23, value11]); const value17 = binding.useMemo(_fun104055, [binding.useMemo(_fun104054, [quest, value13, value14]), handleComplete, handleResetDismissibilityClick, handleProgress, handleResetStatusClick, handleResetHasBeenSeenClick, quest.id]); const value18 = (require(9483) /* metro dependency 9483: QuestHooks */).useShouldShowQuestPreviewOverrides(quest); const value19 = binding.useMemo(_fun104058, [handleOverridePreviewClick, quest.id, value6?.id]); binding = env0_5; const value20 = binding.useMemo(_fun104060, [value15, value17, quest.preview, value18, value19, additionalItems]); const value21 = binding.useCallback(_fun104061, [quest.id, value7, value8, sourceQuestContent]); const ContextMenu = (require(8811) /* metro dependency 8811: ContextMenuNative */).ContextMenu; return ( {children} ); } function _fun104048() { // fn#104048, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13820:1040, offset: 0x022825e5, size: 279 bytes, params: 1, frame: 18 var r2; var defaultImport; var moduleValue2; let value = environment.__proto__; const isIOS2 = (require(477) /* metro dependency 477: PlatformUtils */).isIOS(); if (isIOS2) { defaultImport = importDefault(4093) /* metro dependency 4093: parseURL */; moduleValue2 = require(9505) /* metro dependency 9505: QuestCopyUtils */; r2 = defaultImport(moduleValue2.getCtaLink(quest.config)).payload.type === LinkingTypes.INVITE; } else { r2 = isIOS2; } if (r2) { (require(9480) /* metro dependency 9480: QuestUtilsNative */).dismissOverlayScreens(); } value = require(9520) /* metro dependency 9520: QuestPlatformUtils */; const openGameLinkDirectly = value.openGameLinkDirectly; const questBinding = quest; const object2 = {}; const QuestContent = (require(6531) /* metro dependency 6531: QuestTypes */).QuestContent; const QUEST_HOME_MOBILE = QuestContent.QUEST_HOME_MOBILE; object2.content = QUEST_HOME_MOBILE; const QuestContentCTA = (require(7120) /* metro dependency 7120: AnalyticsTypes */).QuestContentCTA; const CONTEXT_MENU_OPEN_GAME_LINK = QuestContentCTA.CONTEXT_MENU_OPEN_GAME_LINK; object2.ctaContent = CONTEXT_MENU_OPEN_GAME_LINK; object2.impressionId = env0_11; object2.sourceQuestContent = sourceQuestContent; Reflect.apply(openGameLinkDirectly, value, [questBinding, object2]); } function _fun104049() { // fn#104049, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13820:1372, offset: 0x022826fc, size: 216 bytes, params: 1, frame: 18 var value2; var moduleValue; var copyShareLink; var id; var object2; var AccessibilityAnnouncer; var announce; var intl; if (env0_13) { value2 = environment.__proto__; moduleValue = require(9505) /* metro dependency 9505: QuestCopyUtils */; copyShareLink = moduleValue.copyShareLink; id = quest.id; object2 = {}; object2.content = (require(6531) /* metro dependency 6531: QuestTypes */).QuestContent.QUEST_HOME_MOBILE; object2.ctaContent = (require(7120) /* metro dependency 7120: AnalyticsTypes */).QuestContentCTA.CONTEXT_MENU_COPY_LINK; object2.impressionId = env0_11; object2.sourceQuestContent = sourceQuestContent; Reflect.apply(copyShareLink, moduleValue, [id, object2]); AccessibilityAnnouncer = (require(3869) /* metro dependency 3869: AccessibilityAnnouncerAndroid */).AccessibilityAnnouncer; announce = AccessibilityAnnouncer.announce; intl = (require(1244) /* metro dependency 1244: indexNative */).intl; Reflect.apply(announce, AccessibilityAnnouncer, [intl.string((require(1244) /* metro dependency 1244: indexNative */).t['+5kSoW'])]); } } function _fun104050() { // fn#104050, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13820:1672, offset: 0x022827d4, size: 136 bytes, params: 1, frame: 17 const defaultImport = importDefault(13580) /* metro dependency 13580: QuestDisclosureModalActionCreators */; const showModal = defaultImport.showModal; const object3 = {}; object3.quest = quest; object3.isTargetedDisclosure = false; const object4 = {}; const QuestContent = (require(6531) /* metro dependency 6531: QuestTypes */).QuestContent; const QUEST_HOME_MOBILE = QuestContent.QUEST_HOME_MOBILE; object4.content = QUEST_HOME_MOBILE; const QuestContentCTA = (require(7120) /* metro dependency 7120: AnalyticsTypes */).QuestContentCTA; const CONTEXT_MENU_OPEN_DISCLOSURE = QuestContentCTA.CONTEXT_MENU_OPEN_DISCLOSURE; object4.ctaContent = CONTEXT_MENU_OPEN_DISCLOSURE; object4.sourceQuestContent = sourceQuestContent; object3.trackingCtx = object4; Reflect.apply(showModal, defaultImport, [object3]); } function _fun104051() { // fn#104051, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13820:1905, offset: 0x0228285c, size: 53 bytes, params: 1, frame: 13 let value = environment.__proto__; value = require(9484) /* metro dependency 9484: QuestActionCreators */; return value.manuallyStartConsoleQuest(quest.id, true); } function _fun104052() { // fn#104052, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13820:1979, offset: 0x02282891, size: 50 bytes, params: 1, frame: 11 let value = environment.__proto__; value = require(9484) /* metro dependency 9484: QuestActionCreators */; return value.manualStopConsoleQuest(quest.id); } function _fun104053() { // fn#104053, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13820:2043, offset: 0x022828c3, size: 285 bytes, params: 1, frame: 21 var items2; let object2 = {}; object2.label = env0_12; const LinkExternalSmallIcon = (require(6249) /* metro dependency 6249: LinkExternalSmallIcon */).LinkExternalSmallIcon; object2.IconComponent = LinkExternalSmallIcon; object2.action = env0_14; object2.accessibilityRole = 'link'; const items3 = [object2]; object2 = {}; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; const string = intl.string; const t = (require(1244) /* metro dependency 1244: indexNative */).t; const GcsZKJ = t.GcsZKJ; object2.label = Reflect.apply(string, intl, [GcsZKJ]); object2.action = env0_16; object2.iconSource = importDefault(13624) /* metro dependency 13624 */; items3[1] = object2; if (env0_13) { object2 = {}; object2.label = intl.string(t.WqhZss); object2.IconComponent = (require(4060) /* metro dependency 4060: CopyIcon */).CopyIcon; object2.action = env0_15; items2 = [object2]; } else { items2 = []; } arraySpread(items3, items2, 2, require); return items3; } function _fun104054() { // fn#104054, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13820:2337, offset: 0x022829e0, size: 109 bytes, params: 1, frame: 13 let value = environment.__proto__; value = require(7116) /* metro dependency 7116: QuestTaskUtils */; return value.isConsoleQuest(quest) ? [{label: 'Start Console Heartbeat', action: env0_17}, {label: 'Stop Console Heartbeat', action: env0_18}] : []; } function _fun104055() { // fn#104055, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13820:2481, offset: 0x02282a4d, size: 183 bytes, params: 1, frame: 15 const items2 = [{label: 'Set Random Quest Progress', action: action_104056}]; items2[1] = {label: 'Complete Quest', action: handleComplete}; items2[2] = {label: 'Reset Quest', action: handleResetStatusClick}; items2[3] = {label: 'Reset Dismissibility', action: handleResetDismissibilityClick}; const handleResetHasBeenSeenClickBinding = handleResetHasBeenSeenClick; items2[4] = {label: 'Reset Quest Seen', action: handleResetHasBeenSeenClickBinding}; const value = arraySpread(items2, env0_20, 5, handleResetHasBeenSeenClickBinding); items2[value] = {label: 'Copy Quest ID', action: action_104057}; value + 1; return items2; } function _fun104058() { // fn#104058, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13820:2841, offset: 0x02282b74, size: 104 bytes, params: 1, frame: 14 const value2 = undefined; const CheckmarkLargeIcon = (env0_9 == null ? value2 : env0_9.id) !== quest.id ? value2 : (require(4064) /* metro dependency 4064: CheckmarkLargeIcon */).CheckmarkLargeIcon; return {label: 'Show in Quest Bar', action: function() { return handleOverridePreviewClick(require(dependencyMap[10]).QuestContent.QUEST_BAR_MOBILE); }, IconComponent: CheckmarkLargeIcon}; } function _fun104060() { // fn#104060, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13820:3050, offset: 0x02282c0f, size: 132 bytes, params: 1, frame: 15 var r0; var items2; var value2; const r4 = env0_1 != null ? [env0_19, env0_1] : [env0_19]; if (env0_22) { r4.push([env0_23]); } if (quest.preview) { items2 = []; value2 = arraySpread(items2, r4, 0, r4); items2[value2] = env0_21; value2 + 1; r0 = items2; } else { r0 = r4; } return r0; } function _fun104061() { // fn#104061, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13820:3164, offset: 0x02282c93, size: 360 bytes, params: 1, frame: 17 var object2; const QuestContent = (require(6531) /* metro dependency 6531: QuestTypes */).QuestContent; const QuestContentCTA = (require(7120) /* metro dependency 7120: AnalyticsTypes */).QuestContentCTA; var captureAdUserAction; let value = environment.__proto__; const adAnalyticsInterfaceExperimentModule = require(9519) /* metro dependency 9519: AdAnalyticsInterfaceExperiment */; const shouldMigrateToAdAnalyticsInterface = adAnalyticsInterfaceExperimentModule.shouldMigrateToAdAnalyticsInterface; const AdAnalyticsInterfaceExperimentStep = adAnalyticsInterfaceExperimentModule.AdAnalyticsInterfaceExperimentStep; const STEP_2_CLICKED_INTERNAL = AdAnalyticsInterfaceExperimentStep.STEP_2_CLICKED_INTERNAL; if (Reflect.apply(shouldMigrateToAdAnalyticsInterface, adAnalyticsInterfaceExperimentModule, [STEP_2_CLICKED_INTERNAL, 'quest_context_menu'])) { value = require(9517) /* metro dependency 9517: captureAdUserAction */; captureAdUserAction = value.captureAdUserAction; object2 = {}; object2.type = (require(9518) /* metro dependency 9518: captureAdUserActionTypes */).AdUserActionType.CLICK_INTERNAL; object2.adCreativeType = (require(7121) /* metro dependency 7121: AdCreativeType */).AdCreativeType.QUEST; object2.adCreativeId = quest.id; object2.questContentCTA = QuestContentCTA.OPEN_CONTEXT_MENU; object2.surfaceId = QuestContent.QUEST_HOME_MOBILE; object2.sourceQuestContent = sourceQuestContent; object2.impressionId = env0_11; Reflect.apply(captureAdUserAction, value, [object2]); } else { env0_10({questId: quest.id, questContent: QuestContent.QUEST_HOME_MOBILE, questContentCTA: QuestContentCTA.OPEN_CONTEXT_MENU, sourceQuestContent: sourceQuestContent}); } } function action_104056() { // fn#104056, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13820:2528, offset: 0x02282b04, size: 62 bytes, params: 1, frame: 12 const value = environment.__proto__; const handleProgressBinding = handleProgress; const Math = global.Math; return handleProgressBinding(0.9 * Math.random() + 0.03); } function action_104057() { // fn#104057, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13820:2733, offset: 0x02282b42, size: 50 bytes, params: 1, frame: 11 let value = environment.__proto__.__proto__; value = require(6797) /* metro dependency 6797: ClipboardUtilsNative */; return value.copy(quest.id); }