/* 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] */ import ObjectWithoutProperties from '../../../by-id/module-00029-ObjectWithoutProperties.js'; /* Metro dependency 29 */ import QuestStore from '../QuestStore.tsx'; /* Metro dependency 7093 */ import QuestDisclosureModalActionCreators from './QuestDisclosureModal/QuestDisclosureModalActionCreators.tsx'; /* Metro dependency 13580 */ import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ReactModule from '../../../by-id/module-00031-React.js'; /* Metro dependency 31 */ import * as JsxRuntimeModule from '../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */ import * as PlatformUtilsModule from '../../../utils/PlatformUtils.tsx'; /* Metro dependency 477 */ import * as ConstantsModule from '../../../Constants.tsx'; /* Metro dependency 661 */ import * as IndexNativeModule from '../../../intl/index.native.tsx'; /* Metro dependency 1244 */ import * as LinkExternalSmallIconModule from '../../../design/components/Icon/native/redesign/generated/LinkExternalSmallIcon.tsx'; /* Metro dependency 6249 */ import * as QuestTypesModule from '../QuestTypes.tsx'; /* Metro dependency 6531 */ import * as AnalyticsTypesModule from '../lib/analytics/AnalyticsTypes.tsx'; /* Metro dependency 7120 */ import * as IconButtonNativeModule from '../../../design/components/Button/native/IconButton.native.tsx'; /* Metro dependency 8341 */ import * as ContextMenuNativeModule from '../../../design/components/ContextMenu/native/ContextMenu.native.tsx'; /* Metro dependency 8811 */ import * as QuestHooksModule from '../hooks/QuestHooks.tsx'; /* Metro dependency 9483 */ import * as QuestCopyUtilsModule from '../utils/QuestCopyUtils.tsx'; /* Metro dependency 9505 */ import * as ContentImpressionTrackerHooksModule from '../lib/analytics/ContentImpressionTrackerHooks.tsx'; /* Metro dependency 9513 */ import * as AdAnalyticsInterfaceExperimentModule from '../experiments/AdAnalyticsInterfaceExperiment.tsx'; /* Metro dependency 9519 */ import * as AnalyticsHooksModule from '../lib/analytics/AnalyticsHooks.tsx'; /* Metro dependency 9949 */ 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}); let value = ReactModule; value = value.memo(_fun104046); (FileImportTrackerModule).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 = ObjectWithoutProperties(a0, env0_3); const IconButton = (IconButtonNativeModule).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 = (QuestHooksModule).useQuestPreviewActions(quest.id); const handleComplete = value5.handleComplete; const handleProgress = value5.handleProgress; const handleResetDismissibilityClick = value5.handleResetDismissibilityClick; const handleResetDismissibilityClick2 = 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 = (AnalyticsHooksModule).useTrackQuestContentClickedWithImpression(); const value8 = (ContentImpressionTrackerHooksModule).useQuestImpressionId(); const externalCtaLabel = (QuestCopyUtilsModule).getExternalCtaLabel(quest); if (showShareLink) { moduleValue6 = require(7114) /* metro dependency 7114: QuestUtils */; r23 = moduleValue6.isShareableQuest(quest.config); } else { r23 = showShareLink; } let binding = handleResetDismissibilityClick2; 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 = (QuestHooksModule).useShouldShowQuestPreviewOverrides(quest); const value19 = binding.useMemo(_fun104058, [handleOverridePreviewClick, quest.id, value6?.id]); binding = handleResetDismissibilityClick2; const value20 = binding.useMemo(_fun104060, [value15, value17, quest.preview, value18, value19, additionalItems]); const value21 = binding.useCallback(_fun104061, [quest.id, value7, value8, sourceQuestContent]); const ContextMenu = (ContextMenuNativeModule).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 = (PlatformUtilsModule).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 object = {}; const QuestContent = (QuestTypesModule).QuestContent; const QUEST_HOME_MOBILE = QuestContent.QUEST_HOME_MOBILE; object.content = QUEST_HOME_MOBILE; const QuestContentCTA = (AnalyticsTypesModule).QuestContentCTA; const CONTEXT_MENU_OPEN_GAME_LINK = QuestContentCTA.CONTEXT_MENU_OPEN_GAME_LINK; object.ctaContent = CONTEXT_MENU_OPEN_GAME_LINK; object.impressionId = env0_11; object.sourceQuestContent = sourceQuestContent; Reflect.apply(openGameLinkDirectly, value, [questBinding, object]); } 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 object; 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; object = {}; object.content = (require(6531) /* metro dependency 6531: QuestTypes */).QuestContent.QUEST_HOME_MOBILE; object.ctaContent = (require(7120) /* metro dependency 7120: AnalyticsTypes */).QuestContentCTA.CONTEXT_MENU_COPY_LINK; object.impressionId = env0_11; object.sourceQuestContent = sourceQuestContent; Reflect.apply(copyShareLink, moduleValue, [id, object]); 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 = QuestDisclosureModalActionCreators; const showModal = defaultImport.showModal; const object = {}; object.quest = quest; object.isTargetedDisclosure = false; const object2 = {}; const QuestContent = (QuestTypesModule).QuestContent; const QUEST_HOME_MOBILE = QuestContent.QUEST_HOME_MOBILE; object2.content = QUEST_HOME_MOBILE; const QuestContentCTA = (AnalyticsTypesModule).QuestContentCTA; const CONTEXT_MENU_OPEN_DISCLOSURE = QuestContentCTA.CONTEXT_MENU_OPEN_DISCLOSURE; object2.ctaContent = CONTEXT_MENU_OPEN_DISCLOSURE; object2.sourceQuestContent = sourceQuestContent; object.trackingCtx = object2; Reflect.apply(showModal, defaultImport, [object]); } 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 object = {}; object.label = env0_12; const LinkExternalSmallIcon = (LinkExternalSmallIconModule).LinkExternalSmallIcon; object.IconComponent = LinkExternalSmallIcon; object.action = env0_14; object.accessibilityRole = 'link'; const items3 = [object]; object = {}; const intl = (IndexNativeModule).intl; const string = intl.string; const t = (IndexNativeModule).t; const GcsZKJ = t.GcsZKJ; object.label = Reflect.apply(string, intl, [GcsZKJ]); object.action = env0_16; object.iconSource = importDefault(13624) /* metro dependency 13624 */; items3[1] = object; if (env0_13) { object = {}; object.label = intl.string(t.WqhZss); object.IconComponent = (require(4060) /* metro dependency 4060: CopyIcon */).CopyIcon; object.action = env0_15; items2 = [object]; } 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 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); } } 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 object; const QuestContent = (QuestTypesModule).QuestContent; const QuestContentCTA = (AnalyticsTypesModule).QuestContentCTA; var captureAdUserAction; let value = environment.__proto__; 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; object = {}; object.type = (require(9518) /* metro dependency 9518: captureAdUserActionTypes */).AdUserActionType.CLICK_INTERNAL; object.adCreativeType = (require(7121) /* metro dependency 7121: AdCreativeType */).AdCreativeType.QUEST; object.adCreativeId = quest.id; object.questContentCTA = QuestContentCTA.OPEN_CONTEXT_MENU; object.surfaceId = QuestContent.QUEST_HOME_MOBILE; object.sourceQuestContent = sourceQuestContent; object.impressionId = env0_11; Reflect.apply(captureAdUserAction, value, [object]); } else { env0_10({questId: quest.id, questContent: QuestContent.QUEST_HOME_MOBILE, questContentCTA: QuestContentCTA.OPEN_CONTEXT_MENU, sourceQuestContent: sourceQuestContent}); } } } } global.__d(_fun104044, 13623, [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]) /* metro module 13623, 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] */;