// Metro module 14176 (f14177). import _objectWithoutProperties from "../../../_bundle/_objectWithoutProperties"; import * as Module19 from "react"; import { useCallback, useMemo } from "react"; import QuestStore from "../QuestStore"; import { LinkingTypes } from "../../../Constants"; import { IconButton } from "../../../design/components/Button/native/IconButton.native"; import Module8964 from "../../../_bundle/Module8964"; import { intl, t } from "../../../intl/index.native"; import { useQuestPreviewActions, useShouldShowQuestPreviewOverrides } from "../hooks/QuestHooks"; import { useStateFromStores } from "../../../_bundle/Module589"; import { QuestContent } from "../QuestTypes"; import { useTrackQuestContentClickedWithImpression } from "../lib/analytics/AnalyticsHooks"; import { useQuestImpressionId } from "../lib/analytics/ContentImpressionTrackerHooks"; import { getExternalCtaLabel, getCtaLink, copyShareLink } from "../utils/QuestCopyUtils"; import * as _QuestUtils from "../utils/QuestUtils"; import { isIOS } from "../../../utils/PlatformUtils"; import parseURL from "../../../utils/native/parseURL"; import { dismissOverlayScreens } from "./QuestUtils.native"; import { openGameLinkDirectly } from "../utils/QuestPlatformUtils"; import { QuestContentCTA } from "../lib/analytics/AnalyticsTypes"; import { AccessibilityAnnouncer } from "../../../_bundle/Module3902"; import QuestDisclosureModalActionCreators from "./QuestDisclosureModal/QuestDisclosureModalActionCreators"; import { manuallyStartConsoleQuest, manualStopConsoleQuest } from "../QuestActionCreators"; import { LinkExternalSmallIcon } from "../../../design/components/Icon/native/redesign/generated/LinkExternalSmallIcon"; import Module14177 from "../../../_bundle/Module14177"; import { CopyIcon } from "../../../design/components/Icon/native/redesign/generated/CopyIcon"; import { isConsoleQuest } from "../utils/QuestTaskUtils"; import { copy } from "../../../utils/ClipboardUtils.native"; import { CheckmarkLargeIcon } from "../../../design/components/Icon/native/redesign/generated/CheckmarkLargeIcon"; import { shouldMigrateToAdAnalyticsInterface, AdAnalyticsInterfaceExperimentStep } from "../experiments/AdAnalyticsInterfaceExperiment"; import { captureAdUserAction } from "../../ads/analytics/captureAdUserAction"; import { AdUserActionType } from "../../ads/analytics/captureAdUserActionTypes"; import { AdCreativeType } from "../../../_bundle/Module6013"; import { ContextMenu } from "../../../design/components/ContextMenu/native/ContextMenu.native"; let _excluded; const renderDefaultButton = function renderDefaultButton(a0) { return ; }; _excluded = ["ref"]; const r29 = Module19.memo(function(a0) { let children = a0.children; if (children === void 0) { children = renderDefaultButton; } let trackQuestContentClickedWithImpression, questImpressionId, externalCtaLabel, isShareableQuest, callback, callback2, callback3, callback4, callback5, memo, memo2, memo3, shouldShowQuestPreviewOverrides, memo4; const quest = a0.quest; let showShareLink = a0.showShareLink; if (showShareLink === void 0) { showShareLink = false; } let additionalItems = a0.additionalItems; if (additionalItems === void 0) { additionalItems = []; } let c21007_1 = additionalItems; const sourceQuestContent = a0.sourceQuestContent; trackQuestContentClickedWithImpression = void 0; questImpressionId = void 0; externalCtaLabel = void 0; isShareableQuest = void 0; callback = void 0; callback2 = void 0; callback3 = void 0; callback4 = void 0; callback5 = void 0; memo = void 0; memo2 = void 0; memo3 = void 0; shouldShowQuestPreviewOverrides = void 0; memo4 = void 0; const questPreviewActions = useQuestPreviewActions(quest.id); const { handleComplete, handleProgress, handleResetDismissibilityClick, handleResetStatusClick, handleOverridePreviewClick, handleResetHasBeenSeenClick } = questPreviewActions; const stateFromStores = useStateFromStores([QuestStore], () => QuestStore.getQuestPreviewOverride(QuestContent.QUEST_BAR_MOBILE), []); trackQuestContentClickedWithImpression = useTrackQuestContentClickedWithImpression(); questImpressionId = useQuestImpressionId(); externalCtaLabel = getExternalCtaLabel(quest); if (showShareLink) { showShareLink = _QuestUtils.isShareableQuest(quest.config); } isShareableQuest = showShareLink; callback = useCallback(() => { if (isIOS() && parseURL(getCtaLink(quest.config)).payload.type === LinkingTypes.INVITE) { dismissOverlayScreens(); } openGameLinkDirectly(quest, { content: QuestContent.QUEST_HOME_MOBILE, ctaContent: QuestContentCTA.CONTEXT_MENU_OPEN_GAME_LINK, impressionId: questImpressionId, sourceQuestContent }); }, [quest, questImpressionId, sourceQuestContent]); callback2 = useCallback(() => { if (isShareableQuest) { copyShareLink(quest.id, { content: QuestContent.QUEST_HOME_MOBILE, ctaContent: QuestContentCTA.CONTEXT_MENU_COPY_LINK, impressionId: questImpressionId, sourceQuestContent }); AccessibilityAnnouncer.announce(intl.string(t["+5kSoW"])); } }, [isShareableQuest, quest.id, questImpressionId, sourceQuestContent]); callback3 = useCallback(() => { QuestDisclosureModalActionCreators.showModal({ quest, isTargetedDisclosure: false, trackingCtx: { content: QuestContent.QUEST_HOME_MOBILE, ctaContent: QuestContentCTA.CONTEXT_MENU_OPEN_DISCLOSURE, sourceQuestContent } }); }, [quest, sourceQuestContent]); callback4 = useCallback(() => manuallyStartConsoleQuest(quest.id, true), [quest.id]); callback5 = useCallback(() => manualStopConsoleQuest(quest.id), [quest.id]); memo = useMemo(() => [{ label: externalCtaLabel, IconComponent: LinkExternalSmallIcon, action: callback, accessibilityRole: "link" }, { label: intl.string(t.GcsZKJ), action: callback3, iconSource: Module14177 }, ...isShareableQuest ? [{ label: intl.string(t.WqhZss), IconComponent: CopyIcon, action: callback2 }] : []], [externalCtaLabel, callback, callback3, isShareableQuest, callback2]); memo2 = useMemo(() => isConsoleQuest(quest) ? [{ label: "Start Console Heartbeat", action: callback4 }, { label: "Stop Console Heartbeat", action: callback5 }] : [], [quest, callback4, callback5]); memo3 = useMemo(() => [{ label: "Set Random Quest Progress", action: () => handleProgress(0.9 * Math.random() + 0.03) }, { label: "Complete Quest", action: handleComplete }, { label: "Reset Quest", action: handleResetStatusClick }, { label: "Reset Dismissibility", action: handleResetDismissibilityClick }, { label: "Reset Quest Seen", action: handleResetHasBeenSeenClick }, ...memo2, { label: "Copy Quest ID", action: () => copy(quest.id) }], [memo2, handleComplete, handleResetDismissibilityClick, handleProgress, handleResetStatusClick, handleResetHasBeenSeenClick, quest.id]); shouldShowQuestPreviewOverrides = useShouldShowQuestPreviewOverrides(quest); const r90 = [handleOverridePreviewClick, quest.id, ,]; const id = stateFromStores?.id; const r93 = () => ({ label: "Show in Quest Bar", action: () => handleOverridePreviewClick(QuestContent.QUEST_BAR_MOBILE), IconComponent: stateFromStores?.id === quest.id ? CheckmarkLargeIcon : void 0 }); r90[2] = id; memo4 = useMemo(r93, r90); return { const r5 = c21007_1 != null ? [memo, c21007_1] : [memo]; if (shouldShowQuestPreviewOverrides) { r5.push([memo4]); } return quest.preview ? [...r5, memo3] : r5; }, [memo, memo3, quest.preview, shouldShowQuestPreviewOverrides, memo4, additionalItems])} onOpen={useCallback(() => { if (shouldMigrateToAdAnalyticsInterface(AdAnalyticsInterfaceExperimentStep.STEP_2_CLICKED_INTERNAL, "quest_context_menu")) { captureAdUserAction({ type: AdUserActionType.CLICK_INTERNAL, adCreativeType: AdCreativeType.QUEST, adCreativeId: quest.id, questContentCTA: QuestContentCTA.OPEN_CONTEXT_MENU, surfaceId: QuestContent.QUEST_HOME_MOBILE, sourceQuestContent, impressionId: questImpressionId }); } else { trackQuestContentClickedWithImpression({ questId: quest.id, questContent: QuestContent.QUEST_HOME_MOBILE, questContentCTA: QuestContentCTA.OPEN_CONTEXT_MENU, sourceQuestContent }); } }, [quest.id, trackQuestContentClickedWithImpression, questImpressionId, sourceQuestContent])} triggerOnTap>{children}; }); export default r29;