decord/beta/source/modules/quests/native/QuestContextMenu.tsx
2026-10-12 16:32:48 +00:00

496 lines
20 KiB
TypeScript

// Module ID: 15430
// Function ID: 15431
// Name: QuestContextMenu
// Dependencies: [109, 19, 7391, 1085, 21, 7574, 8772, 1126, 558, 576, 9171, 5975, 504, 12979, 9202, 9193, 7411, 1382, 5069, 9168, 9204, 7416, 4828, 15388, 5979, 9172, 7706, 15431, 5042, 7413, 6886, 6196, 9174, 9175, 9178, 9363, 2]
// Module 15430 (QuestContextMenu)
import Fragment from "Fragment" /* 21 */;
import Constants from "Constants" /* 1085 */;
import intl3 from "intl" /* 1126 */;
import PlatformUtils from "PlatformUtils" /* 1382 */;
import AccessibilityAnnouncer2 from "AccessibilityAnnouncer" /* 4828 */;
import CopyIcon from "CopyIcon" /* 5042 */;
import parseURLDefault from "parseURL" /* 5069 */;
import QuestTypes from "QuestTypes" /* 5975 */;
import AdCreativeType from "AdCreativeType" /* 5979 */;
import CheckmarkLargeIcon2 from "CheckmarkLargeIcon" /* 6196 */;
import ClipboardUtils from "ClipboardUtils" /* 6886 */;
import QuestTaskUtils from "QuestTaskUtils" /* 7413 */;
import AnalyticsTypes from "AnalyticsTypes" /* 7416 */;
import IconButton2 from "IconButton" /* 7574 */;
import LinkExternalSmallIcon from "LinkExternalSmallIcon" /* 7706 */;
import AssetRegistryDefault from "AssetRegistry" /* 8772 */;
import QuestUtils from "QuestUtils" /* 9168 */;
import QuestActionCreators from "QuestActionCreators" /* 9172 */;
import AdAnalyticsInterfaceExperiment from "AdAnalyticsInterfaceExperiment" /* 9174 */;
import captureAdUserAction2 from "captureAdUserAction" /* 9175 */;
import captureAdUserActionTypes from "captureAdUserActionTypes" /* 9178 */;
import QuestCopyUtils from "QuestCopyUtils" /* 9193 */;
import QuestPlatformUtils from "QuestPlatformUtils" /* 9204 */;
import QuestDisclosureModalActionCreatorsDefault from "QuestDisclosureModalActionCreators" /* 15388 */;
import AssetRegistryDefault2 from "AssetRegistry" /* 15431 */;
import _objectWithoutProperties from "_objectWithoutProperties" /* 109 */;
import react from "react" /* 19 */;
import QuestStore from "QuestStore" /* 7391 */;
import ReactCompilerGating from "ReactCompilerGating" /* 558 */;
import size from "module_2" /* 2 */;
let obj1, showModalResult;
function renderDefaultButton(ref) {
ref = ref.ref;
const tmp = _objectWithoutProperties(ref, closure_3);
const IconButton = IconButton2.IconButton;
const merged = Object.assign(tmp);
const intl = intl3.intl;
const intl2 = intl3.intl;
return <IconButton ref={ref} icon={AssetRegistryDefault} variant="secondary" accessibilityLabel={intl.string(intl3.t.CAgr1w)} accessibilityHint={intl2.string(intl3.t.hd0b7t)} />;
}
let closure_3 = ["ref"];
const LinkingTypes = Constants.LinkingTypes;
const jsx = Fragment.jsx;
let memo = react.memo;
const memoResult = memo(ReactCompilerGating.isReactCompilerEnabled() ? (function QuestContextMenu(arg0) {
let additionalItems;
let children;
let getQuestImpressionId;
let handleComplete;
let handleOverridePreviewClick;
let handleProgress;
let handleResetDismissibilityClick;
let handleResetStatusClick;
let quest;
let showShareLink;
let sourceQuestContent;
let tmp14;
let tmp7;
let tmp8;
let tmp9;
let tmp = quest;
let obj = quest(handleProgress[9]);
const cResult = obj.c(89);
({ children, quest } = arg0);
({ showShareLink, additionalItems, sourceQuestContent } = arg0);
if (undefined === children) {
children = renderDefaultButton;
}
const tmp4 = undefined !== showShareLink && showShareLink;
if (cResult[0] !== additionalItems) {
let items = additionalItems;
if (undefined === additionalItems) {
items = [];
}
cResult[0] = additionalItems;
cResult[1] = items;
let tmp5 = items;
} else {
tmp5 = cResult[1];
}
let tmpResult = tmp(tmp2[10]);
const questPreviewActions = tmpResult.useQuestPreviewActions(quest.id);
({ handleComplete, handleProgress } = questPreviewActions);
({ handleResetDismissibilityClick, handleResetStatusClick, handleOverridePreviewClick } = questPreviewActions);
if (cResult[2] === Symbol.for("react.memo_cache_sentinel")) {
const items1 = [getQuestImpressionId];
class S {
constructor() {
return closure_6.getQuestPreviewOverride(quest(handleProgress[11]).QuestContent.QUEST_BAR_MOBILE);
}
}
const items2 = [];
cResult[2] = items1;
cResult[3] = S;
cResult[4] = items2;
tmp9 = items2;
tmp8 = S;
tmp7 = items1;
} else {
tmp7 = cResult[2];
tmp8 = cResult[3];
tmp9 = cResult[4];
}
const tmpResult5 = tmp(handleProgress[12]);
const stateFromStores = tmpResult5.useStateFromStores(tmp7, tmp8, tmp9);
const tmpResult6 = tmp(handleProgress[13]);
const trackQuestContentClickedWithImpression = tmpResult6.useTrackQuestContentClickedWithImpression();
const tmpResult7 = tmp(handleProgress[14]);
getQuestImpressionId = tmpResult7.useGetQuestImpressionId();
if (cResult[5] !== quest) {
const tmpResult8 = tmp(handleProgress[15]);
const externalCtaLabel = tmpResult8.getExternalCtaLabel(quest);
class S {
constructor() {
return closure_6.getQuestPreviewOverride(quest(handleProgress[11]).QuestContent.QUEST_BAR_MOBILE);
}
}
cResult[6] = externalCtaLabel;
tmp14 = externalCtaLabel;
} else {
tmp14 = cResult[6];
}
if (cResult[7] === quest.config) {
let tmp16;
if (cResult[8] === tmp4) {
tmp16 = cResult[9];
}
let closure_7 = tmp16;
if (cResult[10] === getQuestImpressionId) {
if (cResult[11] === quest) {
let tmp18;
if (cResult[12] === sourceQuestContent) {
tmp18 = cResult[13];
}
if (cResult[14] === getQuestImpressionId) {
if (cResult[15] === tmp16) {
if (cResult[16] === quest.id) {
if (cResult[19] === quest) {
if (cResult[22] !== quest.id) {
class X {
constructor() {
obj = closure_0(closure_2[25]);
return obj.manuallyStartConsoleQuest(quest.id, true);
}
}
class H {
constructor() {
tmp = closure_1(closure_2[23]);
obj = { creative: null, isTargetedDisclosure: false, trackingCtx: null };
obj1 = { type: closure_0(closure_2[24]).AdCreativeType.QUEST, quest };
showModal = tmp.showModal;
obj.creative = obj1;
obj4 = { content: closure_0(closure_2[11]).QuestContent.QUEST_HOME_MOBILE, ctaContent: closure_0(closure_2[21]).QuestContentCTA.CONTEXT_MENU_OPEN_DISCLOSURE, sourceQuestContent };
obj.trackingCtx = obj4;
showModalResult = showModal(obj);
return;
}
}
class S {
constructor() {
return closure_6.getQuestPreviewOverride(quest(handleProgress[11]).QuestContent.QUEST_BAR_MOBILE);
}
}
cResult[23] = X;
} else {
class X {
constructor() {
obj = closure_0(closure_2[25]);
return obj.manuallyStartConsoleQuest(quest.id, true);
}
}
}
class H {
constructor() {
tmp = closure_1(closure_2[23]);
obj = { creative: null, isTargetedDisclosure: false, trackingCtx: null };
obj1 = { type: closure_0(closure_2[24]).AdCreativeType.QUEST, quest };
showModal = tmp.showModal;
obj.creative = obj1;
obj4 = { content: closure_0(closure_2[11]).QuestContent.QUEST_HOME_MOBILE, ctaContent: closure_0(closure_2[21]).QuestContentCTA.CONTEXT_MENU_OPEN_DISCLOSURE, sourceQuestContent };
obj.trackingCtx = obj4;
showModalResult = showModal(obj);
return;
}
}
class S {
constructor() {
return closure_6.getQuestPreviewOverride(quest(handleProgress[11]).QuestContent.QUEST_BAR_MOBILE);
}
}
let obj2 = { label: tmp14, IconComponent: tmp(tmp2[26]).LinkExternalSmallIcon, action: tmp18, accessibilityRole: "link" };
cResult[26] = tmp14;
cResult[27] = tmp18;
cResult[28] = obj2;
}
class H {
constructor() {
tmp = closure_1(closure_2[23]);
obj = { creative: null, isTargetedDisclosure: false, trackingCtx: null };
obj1 = { type: closure_0(closure_2[24]).AdCreativeType.QUEST, quest };
showModal = tmp.showModal;
obj.creative = obj1;
obj4 = { content: closure_0(closure_2[11]).QuestContent.QUEST_HOME_MOBILE, ctaContent: closure_0(closure_2[21]).QuestContentCTA.CONTEXT_MENU_OPEN_DISCLOSURE, sourceQuestContent };
obj.trackingCtx = obj4;
showModalResult = showModal(obj);
return;
}
}
class S {
constructor() {
return closure_6.getQuestPreviewOverride(quest(handleProgress[11]).QuestContent.QUEST_BAR_MOBILE);
}
}
cResult[19] = quest;
cResult[20] = sourceQuestContent;
cResult[21] = H;
}
}
}
class S {
constructor() {
return closure_6.getQuestPreviewOverride(quest(handleProgress[11]).QuestContent.QUEST_BAR_MOBILE);
}
}
cResult[14] = getQuestImpressionId;
cResult[15] = tmp16;
cResult[16] = quest.id;
cResult[17] = sourceQuestContent;
cResult[18] = tmp21;
}
}
class S {
constructor() {
return closure_6.getQuestPreviewOverride(quest(handleProgress[11]).QuestContent.QUEST_BAR_MOBILE);
}
}
cResult[10] = getQuestImpressionId;
cResult[11] = quest;
cResult[12] = sourceQuestContent;
cResult[13] = tmp19;
tmp18 = tmp19;
}
let isShareableQuestResult = tmp4;
if (isShareableQuestResult) {
class X {
constructor() {
obj = closure_0(closure_2[25]);
return obj.manuallyStartConsoleQuest(quest.id, true);
}
}
isShareableQuestResult = obj7.isShareableQuest(quest.config);
}
cResult[7] = quest.config;
cResult[8] = tmp4;
cResult[9] = isShareableQuestResult;
tmp16 = isShareableQuestResult;
}) : (function QuestContextMenu(children) {
let stateFromStores;
children = children.children;
if (children === undefined) {
children = stateFromStores;
}
const quest = children.quest;
let flag = children.showShareLink;
if (flag === undefined) {
flag = false;
}
let additionalItems = children.additionalItems;
if (additionalItems === undefined) {
additionalItems = [];
}
const sourceQuestContent = children.sourceQuestContent;
flag = undefined;
let action;
let callback1;
let callback2;
let callback3;
let callback4;
let memo;
let memo1;
let memo2;
let shouldShowQuestPreviewOverrides;
let memo3;
let tmp = quest;
const tmp2 = sourceQuestContent;
let obj = quest(sourceQuestContent[10]);
const questPreviewActions = obj.useQuestPreviewActions(quest.id);
const handleComplete = questPreviewActions.handleComplete;
const handleProgress = questPreviewActions.handleProgress;
const handleResetDismissibilityClick = questPreviewActions.handleResetDismissibilityClick;
const handleResetStatusClick = questPreviewActions.handleResetStatusClick;
const handleOverridePreviewClick = questPreviewActions.handleOverridePreviewClick;
const handleResetHasBeenSeenClick = questPreviewActions.handleResetHasBeenSeenClick;
let obj2 = quest(sourceQuestContent[12]);
let items = [handleResetStatusClick];
stateFromStores = obj2.useStateFromStores(items, () => handleResetStatusClick.getQuestPreviewOverride(quest(sourceQuestContent[11]).QuestContent.QUEST_BAR_MOBILE), []);
let obj3 = quest(sourceQuestContent[13]);
const trackQuestContentClickedWithImpression = obj3.useTrackQuestContentClickedWithImpression();
let obj4 = quest(sourceQuestContent[14]);
const getQuestImpressionId = obj4.useGetQuestImpressionId();
let obj5 = quest(sourceQuestContent[15]);
const externalCtaLabel = obj5.getExternalCtaLabel(quest);
if (flag) {
let tmpResult = tmp(tmp2[16]);
flag = tmpResult.isShareableQuest(quest.config);
}
let items1 = [quest, getQuestImpressionId, sourceQuestContent];
action = handleResetDismissibilityClick.useCallback(() => {
const obj = PlatformUtils;
let isIOSResult = obj.isIOS();
if (isIOSResult) {
const tmp5 = parseURLDefault;
const tmpResult = QuestCopyUtils;
isIOSResult = tmp5(tmpResult.getCtaLink(quest.config)).payload.type === LinkingTypes.INVITE;
}
if (isIOSResult) {
const tmpResult3 = QuestUtils;
const result = tmpResult3.dismissOverlayScreens();
}
const tmpResult4 = QuestPlatformUtils;
const obj2 = { content: QuestTypes.QuestContent.QUEST_HOME_MOBILE, ctaContent: AnalyticsTypes.QuestContentCTA.CONTEXT_MENU_OPEN_GAME_LINK, impressionId: getQuestImpressionId(), sourceQuestContent };
tmpResult4.openGameLinkDirectly(quest, obj2);
}, items1);
let items2 = [flag, quest.id, getQuestImpressionId, sourceQuestContent];
callback1 = handleResetDismissibilityClick.useCallback(() => {
const tmp = flag;
if (tmp) {
const obj = { content: QuestTypes.QuestContent.QUEST_HOME_MOBILE, ctaContent: AnalyticsTypes.QuestContentCTA.CONTEXT_MENU_COPY_LINK, impressionId: getQuestImpressionId(), sourceQuestContent };
const copyShareLink = QuestCopyUtils.copyShareLink;
const id = quest.id;
QuestCopyUtils;
copyShareLink(id, obj);
const AccessibilityAnnouncer = AccessibilityAnnouncer2.AccessibilityAnnouncer;
const announce = AccessibilityAnnouncer.announce;
const intl = intl3.intl;
announce(intl.string(intl3.t["+5kSoW"]));
}
}, items2);
let items3 = [quest, sourceQuestContent];
callback2 = handleResetDismissibilityClick.useCallback(() => {
const obj = { creative: { type: AdCreativeType.AdCreativeType.QUEST, quest }, isTargetedDisclosure: false, trackingCtx: { content: QuestTypes.QuestContent.QUEST_HOME_MOBILE, ctaContent: AnalyticsTypes.QuestContentCTA.CONTEXT_MENU_OPEN_DISCLOSURE, sourceQuestContent } };
const showModal = QuestDisclosureModalActionCreatorsDefault.showModal;
({ type: AdCreativeType.AdCreativeType.QUEST, quest });
({ content: QuestTypes.QuestContent.QUEST_HOME_MOBILE, ctaContent: AnalyticsTypes.QuestContentCTA.CONTEXT_MENU_OPEN_DISCLOSURE, sourceQuestContent });
showModal(obj);
}, items3);
const items4 = [quest.id];
callback3 = handleResetDismissibilityClick.useCallback(() => {
const obj = QuestActionCreators;
return obj.manuallyStartConsoleQuest(quest.id, true);
}, items4);
const items5 = [quest.id];
callback4 = handleResetDismissibilityClick.useCallback(() => {
const obj = QuestActionCreators;
return obj.manualStopConsoleQuest(quest.id);
}, items5);
const items6 = [externalCtaLabel, action, callback2, flag, callback1];
memo = handleResetDismissibilityClick.useMemo(() => {
let intl;
let intl2;
let items2;
const items = [{ label: externalCtaLabel, IconComponent: LinkExternalSmallIcon.LinkExternalSmallIcon, action, accessibilityRole: "link" }, ];
const obj2 = { label: intl.string(intl3.t.GcsZKJ), action: callback2, iconSource: AssetRegistryDefault2 };
({ label: externalCtaLabel, IconComponent: LinkExternalSmallIcon.LinkExternalSmallIcon, action, accessibilityRole: "link" });
intl = intl3.intl;
items[1] = obj2;
const tmp4 = flag;
if (tmp4) {
const obj3 = { label: intl2.string(intl3.t.WqhZss), IconComponent: CopyIcon.CopyIcon, action: callback1 };
intl2 = tmp2(1126).intl;
const items1 = [obj3];
items2 = items1;
} else {
items2 = [];
}
HermesBuiltin.arraySpread(items, items2, 2);
return items;
}, items6);
const items7 = [quest, callback3, callback4];
memo1 = handleResetDismissibilityClick.useMemo(() => {
let items1;
const obj = QuestTaskUtils;
if (obj.isConsoleQuest(quest)) {
const items = [{ label: "Start Console Heartbeat", action: callback3 }, ];
const obj2 = { label: "Start Console Heartbeat", action: callback3 };
const obj3 = { label: "Stop Console Heartbeat", action: callback4 };
items[1] = obj3;
items1 = items;
} else {
items1 = [];
}
return items1;
}, items7);
const items8 = [memo1, handleComplete, handleResetDismissibilityClick, handleProgress, handleResetStatusClick, handleResetHasBeenSeenClick, quest.id];
memo2 = handleResetDismissibilityClick.useMemo(() => {
let id;
let obj = {
label: "Set Random Quest Progress",
action() {
return handleProgress(0.9 * Math.random() + 0.03);
}
};
const items = [obj, , , , , ];
const obj2 = { label: "Complete Quest", action: handleComplete };
items[1] = obj2;
const obj3 = { label: "Reset Quest", action: handleResetStatusClick };
items[2] = obj3;
const obj4 = { label: "Reset Dismissibility", action: handleResetDismissibilityClick };
items[3] = obj4;
const obj5 = { label: "Reset Quest Seen", action: handleResetHasBeenSeenClick };
items[4] = obj5;
items[HermesBuiltin.arraySpread(items, memo1, 5)] = {
label: "Copy Quest ID",
action() {
const obj = quest(sourceQuestContent[30]);
return obj.copy(id.id);
}
};
return items;
}, items8);
const tmpResult2 = tmp(tmp2[10]);
shouldShowQuestPreviewOverrides = tmpResult2.useShouldShowQuestPreviewOverrides(quest);
const items9 = [handleOverridePreviewClick, quest.id, ];
let id;
const useMemo = handleResetDismissibilityClick.useMemo;
if (stateFromStores != null) {
id = stateFromStores.id;
}
items9[2] = id;
memo3 = useMemo(() => {
let CheckmarkLargeIcon;
let id;
const obj = {
label: "Show in Quest Bar",
action() {
return handleOverridePreviewClick(quest(sourceQuestContent[11]).QuestContent.QUEST_BAR_MOBILE);
},
IconComponent: CheckmarkLargeIcon
};
if (stateFromStores != null) {
id = stateFromStores.id;
}
CheckmarkLargeIcon = undefined;
if (id === quest.id) {
CheckmarkLargeIcon = CheckmarkLargeIcon2.CheckmarkLargeIcon;
}
return obj;
}, items9);
const items10 = [memo, memo2, quest.preview, shouldShowQuestPreviewOverrides, memo3, additionalItems];
const items11 = [quest.id, trackQuestContentClickedWithImpression, getQuestImpressionId, sourceQuestContent];
const items12 = obj7.useMemo(() => {
let items1;
if (null != additionalItems) {
const items = [memo, tmp2];
items1 = items;
} else {
items1 = [memo];
}
const tmp5 = shouldShowQuestPreviewOverrides;
if (tmp5) {
const items2 = [memo3];
items1.push(items2);
}
let tmp8 = items1;
if (quest.preview) {
const items3 = [];
items3[HermesBuiltin.arraySpread(items3, items1, 0)] = memo2;
tmp8 = items3;
}
return tmp8;
}, items10);
const onOpen = obj7.useCallback(() => {
const obj = AdAnalyticsInterfaceExperiment;
if (obj.shouldMigrateToAdAnalyticsInterface(AdAnalyticsInterfaceExperiment.AdAnalyticsInterfaceExperimentStep.STEP_2_CLICKED_INTERNAL, "quest_context_menu")) {
const obj2 = { type: captureAdUserActionTypes.AdUserActionType.CLICK_INTERNAL, adCreativeType: AdCreativeType.AdCreativeType.QUEST, adCreativeId: quest.id, questContentCTA: AnalyticsTypes.QuestContentCTA.OPEN_CONTEXT_MENU, surfaceId: QuestTypes.QuestContent.QUEST_HOME_MOBILE, sourceQuestContent, impressionId: getQuestImpressionId() };
const captureAdUserAction = captureAdUserAction2.captureAdUserAction;
captureAdUserAction2;
captureAdUserAction(obj2);
} else {
const obj3 = { questId: quest.id, questContent: QuestTypes.QuestContent.QUEST_HOME_MOBILE, questContentCTA: AnalyticsTypes.QuestContentCTA.OPEN_CONTEXT_MENU, sourceQuestContent };
trackQuestContentClickedWithImpression(obj3);
}
}, items11);
return handleResetHasBeenSeenClick(tmp(tmp2[35]).ContextMenu, { items: items12, onOpen, triggerOnTap: true, children });
}));
let result = size.fileFinishedImporting("modules/quests/native/QuestContextMenu.tsx");
export default memoResult;