/* 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);
}