This commit is contained in:
janisslsm committed 2026-07-28 01:06:53 +03:00
1 parent af3b49f756
commit 1781d25a15
22448 files changed
+2731829 -2650550

No files matched your search

@@ -1,424 +1,498 @@
/* Metro module 13591; source: modules/quests/native/QuestBottomSheet/QuestBottomSheet.tsx; dependencies: [57, 31, 27, 7093, 6528, 33, 4501, 697, 7099, 9484, 3857, 1244, 8947, 9483, 9520, 6531, 13568, 566, 10183, 7116, 6275, 13592, 13593, 9949, 9513, 7120, 9519, 9517, 9518, 7121, 13630, 13632, 13633, 7114, 8129, 4573, 2] */
import React from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import Module00057 from '../../../../by-id/module-00057.js'; /* Metro dependency 57 */
import ToastActionCreators from '../../../toast/native/ToastActionCreators.tsx'; /* Metro dependency 3857 */
import QuestStore from '../../QuestStore.tsx'; /* Metro dependency 7093 */
import QuestBottomSheetHeader from './QuestBottomSheetHeader.tsx'; /* Metro dependency 13592 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
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 IndexNativeModule from '../../../../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as CreateStylesModule from '../../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */
import * as TextModule from '../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as BottomSheetNativeModule from '../../../../design/components/Sheet/native/BottomSheet.native.tsx'; /* Metro dependency 6275 */
import * as QuestConstantsModule from '../../QuestConstants.tsx'; /* Metro dependency 6528 */
import * as QuestTypesModule from '../../QuestTypes.tsx'; /* Metro dependency 6531 */
import * as GetQuestLoggerModule from '../../lib/getQuestLogger.tsx'; /* Metro dependency 7099 */
import * as QuestTaskUtilsModule from '../../utils/QuestTaskUtils.tsx'; /* Metro dependency 7116 */
import * as AnalyticsTypesModule from '../../lib/analytics/AnalyticsTypes.tsx'; /* Metro dependency 7120 */
import * as WarningIconModule from '../../../../design/components/Icon/native/redesign/generated/WarningIcon.tsx'; /* Metro dependency 8129 */
import * as QuestHooksModule from '../../hooks/QuestHooks.tsx'; /* Metro dependency 9483 */
import * as QuestActionCreatorsModule from '../../QuestActionCreators.tsx'; /* Metro dependency 9484 */
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 */
import * as QuestHooksNativeModule from '../QuestHooks.native.tsx'; /* Metro dependency 13568 */
function _fun103256(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#103256, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:6, offset: 0x0225e8d9, size: 687 bytes, params: 8, frame: 28
const env0_0 = require;
const closure = useEnrolledQuestContentProps;
const closure2 = QuestBottomSheetContent;
const useEnrolledQuestContentProps2 = useEnrolledQuestContentProps;
const QuestBottomSheetContent2 = QuestBottomSheetContent;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
let value = importDefault(31) /* metro dependency 31 */;
const env0_5 = (require(31) /* metro dependency 31 */).useState;
const env0_6 = (require(27) /* metro dependency 27 */).View;
const questStore = importDefault(7093) /* metro dependency 7093: QuestStore */;
const questConstantsModule = require(6528) /* metro dependency 6528: QuestConstants */;
const env0_8 = questConstantsModule.QuestsExperimentLocations;
const env0_9 = questConstantsModule.QuestTaskPlatform;
const value3 = require(33) /* metro dependency 33 */;
const env0_10 = value3.jsx;
const env0_11 = value3.jsxs;
const env0_12 = value3.Fragment;
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
const object = {};
const object5 = {display: 'flex'};
let value = React;
const createStyles = CreateStylesModule.createStyles;
const object2 = {};
const object3 = {display: 'flex'};
let PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object5.paddingHorizontal = PX_16;
object3.paddingHorizontal = PX_16;
const PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object5.gap = PX_24;
object.contentContainer = object5;
const object6 = {display: 'flex'};
object3.gap = PX_24;
object2.contentContainer = object3;
const object4 = {display: 'flex'};
let PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object6.gap = PX_8;
object4.gap = PX_8;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object6.marginHorizontal = -PX_16;
object4.marginHorizontal = -PX_16;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object6.paddingHorizontal = PX_16;
object4.paddingHorizontal = PX_16;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object6.marginTop = PX_16;
object4.marginTop = PX_16;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object6.paddingTop = PX_16;
object6.borderTopWidth = 1;
object4.paddingTop = PX_16;
object4.borderTopWidth = 1;
const BORDER_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_SUBTLE;
object6.borderTopColor = BORDER_SUBTLE;
object.microphoneUnit = object6;
object4.borderTopColor = BORDER_SUBTLE;
object2.microphoneUnit = object4;
PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object.microphoneUnitHeader = {'display': 'flex', 'flexDirection': 'row', 'alignItems': 'center', gap: PX_8};
const env0_14 = Reflect.apply(createStyles, createStylesModule, [object]);
object2.microphoneUnitHeader = {'display': 'flex', 'flexDirection': 'row', 'alignItems': 'center', gap: PX_8};
const env0_14 = Reflect.apply(createStyles, CreateStylesModule, [object2]);
value = value.createContext({isInQuestBottomSheet: false});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/quests/native/QuestBottomSheet/QuestBottomSheet.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/quests/native/QuestBottomSheet/QuestBottomSheet.tsx');
exports.default = QuestBottomSheetConnected;
exports.QuestBottomSheetStep = {TASK_SELECT: 'TASK_SELECT', CONSOLE_CONNECT: 'CONSOLE_CONNECT',
TASK_STATUS: 'TASK_STATUS'};
exports.useEnrolledQuestContentProps = closure;
exports.QuestBottomSheetContent = closure2;
exports.useEnrolledQuestContentProps = useEnrolledQuestContentProps2;
exports.QuestBottomSheetContent = QuestBottomSheetContent2;
exports.QuestBottomSheetContext = value;
}
function QuestBottomSheet({quest, initialStep, sourceQuestContent}) { // fn#103257, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:861, offset: 0x0225eb88, size: 628 bytes, params: 2, frame: 35
const styles = useStyles();
let QUEST_HOME_MOBILE = QuestsExperimentLocations.QUEST_HOME_MOBILE;
const {step, defibrillator, stepActions, handleTaskSelect,
showMicrophone} = useEnrolledQuestContentProps({quest: quest, initialStep: initialStep,
location: QUEST_HOME_MOBILE, sourceQuestContent: sourceQuestContent});
const value3 = (QuestHooksNativeModule).useHasWatchVideoOnMobileTasks(quest.config);
const hasWatchVideoTasks2 = (QuestTaskUtilsModule).hasWatchVideoTasks(quest);
const isInGameQuest2 = (QuestTaskUtilsModule).isInGameQuest(quest);
const [property, env0_0] = Module00057(useState(0), 2);
const value7 = env0_4.useMemo(function() {
return {isInQuestBottomSheet: true};
}, []);
const Provider = env0_15.Provider;
const BottomSheet = (BottomSheetNativeModule).BottomSheet;
const object2 = {};
QUEST_HOME_MOBILE = QuestsExperimentLocations.QUEST_HOME_MOBILE;
object2.header = (
<QuestBottomSheetHeader
quest={quest}
step={step}
location={QUEST_HOME_MOBILE}
/>
);
object2.footer = (
isInGameQuest2
? null
: (
hasWatchVideoTasks2
? (
value3
? ((Component) => <Component quest={quest} sourceQuestContent={sourceQuestContent} step={step} isDefibrilating={defibrillator.isActive} onLayout={onLayout_103259} onBack={stepActions.onBack} onDefib={defibrillator.start} onConnectConsoleNext={stepActions.onNext} />)(importDefault(13593) /* metro dependency 13593: QuestBottomSheetFooter */)
: null
)
: ((Component) => <Component quest={quest} sourceQuestContent={sourceQuestContent} step={step} isDefibrilating={defibrillator.isActive} onLayout={onLayout_103259} onBack={stepActions.onBack} onDefib={defibrillator.start} onConnectConsoleNext={stepActions.onNext} />)(importDefault(13593) /* metro dependency 13593: QuestBottomSheetFooter */)
)
);
object2.startExpanded = true;
const TASK_SELECT = env0_13.TASK_SELECT;
QUEST_HOME_MOBILE = QuestsExperimentLocations.QUEST_HOME_MOBILE;
return (
<Provider value={value7}>
<BottomSheet {...object2}>
<View style={[styles.contentContainer, {paddingBottom: step === TASK_SELECT ? 0 : property}]}>
<QuestBottomSheetContent
defibrillator={defibrillator}
quest={quest}
handleTaskSelect={handleTaskSelect}
location={QUEST_HOME_MOBILE}
showMicrophone={showMicrophone}
sourceQuestContent={sourceQuestContent}
step={step}
/>
</View>
</BottomSheet>
</Provider>
);
function QuestBottomSheetOnLayout({nativeEvent}) { // fn#103259, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:1556, owner: QuestBottomSheet.onLayout, offset: 0x01dff69d, size: 36 bytes, params: 2, frame: 11
env0_0(nativeEvent.layout.height);
}
function QuestBottomSheet({quest, initialStep, sourceQuestContent}) { // fn#103257, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:861, offset: 0x0225eb88, size: 628 bytes, params: 2, frame: 35
const styles = useStyles();
let QUEST_HOME_MOBILE = QuestsExperimentLocations.QUEST_HOME_MOBILE;
const {step, defibrillator, stepActions, handleTaskSelect,
showMicrophone} = useEnrolledQuestContentProps({quest: quest, initialStep: initialStep,
location: QUEST_HOME_MOBILE, sourceQuestContent: sourceQuestContent});
const value3 = (require(13568) /* metro dependency 13568: QuestHooksNative */).useHasWatchVideoOnMobileTasks(quest.config);
const hasWatchVideoTasks2 = (require(7116) /* metro dependency 7116: QuestTaskUtils */).hasWatchVideoTasks(quest);
const isInGameQuest2 = (require(7116) /* metro dependency 7116: QuestTaskUtils */).isInGameQuest(quest);
const [property, env0_0] = env0_3(useState(0), 2);
const value7 = env0_4.useMemo(function() {
return {isInQuestBottomSheet: true};
}, []);
const Provider = env0_15.Provider;
const BottomSheet = (require(6275) /* metro dependency 6275: BottomSheetNative */).BottomSheet;
const object = {};
const QuestBottomSheetHeader = importDefault(13592) /* metro dependency 13592: QuestBottomSheetHeader */;
QUEST_HOME_MOBILE = QuestsExperimentLocations.QUEST_HOME_MOBILE;
object.header = <QuestBottomSheetHeader quest={quest} step={step} location={QUEST_HOME_MOBILE} />;
object.footer = isInGameQuest2 ? null : hasWatchVideoTasks2 ? value3 ? ((Component) => <Component quest={quest} sourceQuestContent={sourceQuestContent} step={step} isDefibrilating={defibrillator.isActive} onLayout={onLayout_103259} onBack={stepActions.onBack} onDefib={defibrillator.start} onConnectConsoleNext={stepActions.onNext} />)(importDefault(13593) /* metro dependency 13593: QuestBottomSheetFooter */) : null : ((Component) => <Component quest={quest} sourceQuestContent={sourceQuestContent} step={step} isDefibrilating={defibrillator.isActive} onLayout={onLayout_103259} onBack={stepActions.onBack} onDefib={defibrillator.start} onConnectConsoleNext={stepActions.onNext} />)(importDefault(13593) /* metro dependency 13593: QuestBottomSheetFooter */);
object.startExpanded = true;
const TASK_SELECT = env0_13.TASK_SELECT;
QUEST_HOME_MOBILE = QuestsExperimentLocations.QUEST_HOME_MOBILE;
return (
<Provider value={value7}>
<BottomSheet {...object}>
<View style={[styles.contentContainer, {paddingBottom: step === TASK_SELECT ? 0 : property}]}>
<QuestBottomSheetContent
defibrillator={defibrillator}
quest={quest}
handleTaskSelect={handleTaskSelect}
location={QUEST_HOME_MOBILE}
showMicrophone={showMicrophone}
sourceQuestContent={sourceQuestContent}
step={step}
/>
</View>
</BottomSheet>
</Provider>
);
}
function useEnrolledQuestContentProps({quest, initialStep, location, sourceQuestContent}) { // fn#103260, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:1913, offset: 0x0225ee07, size: 407 bytes, params: 2, frame: 23
const env0_2 = (require(9949) /* metro dependency 9949: AnalyticsHooks */).useTrackQuestContentClickedWithImpression();
const env0_3 = (require(9513) /* metro dependency 9513: ContentImpressionTrackerHooks */).useQuestImpressionId();
const value3 = (require(9483) /* metro dependency 9483: QuestHooks */).useQuestTaskDetails(quest);
const value4 = (require(9483) /* metro dependency 9483: QuestHooks */).useIsQuestProgressing(quest);
const value6 = env0_3((require(9483) /* metro dependency 9483: QuestHooks */).useTaskPlatformScreen(quest, value3),
3);
const property = value6[0];
const env0_4 = value6[2];
const value7 = (require(13568) /* metro dependency 13568: QuestHooksNative */).useHasWatchVideoOnMobileTasks(quest.config);
const value9 = env0_3(useSteps({quest: quest, initialStep: initialStep, location: location}), 2);
const property2 = value9[0];
const property3 = value9[1];
const value10 = useDefibrillator(quest);
const userStatus = quest.userStatus;
return {quest: quest, defibrillator: value10, step: property2, stepActions: property3,
showMicrophone: !(userStatus?.completedAt != null) && !value4 && property === (require(6531) /* metro dependency 6531: QuestTypes */).TaskPlatformScreen.CONSOLE && !value7,
handleTaskSelect: handleTaskSelect};
}
function QuestBottomSheetContent({defibrillator, quest, handleTaskSelect, showMicrophone, sourceQuestContent, step}) { // fn#103279, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:5366, offset: 0x0225f98c, size: 400 bytes, params: 2, frame: 27
var r5;
var r10;
var items2;
showMicrophone = !(showMicrophone === undefined) && showMicrophone;
const value4 = (require(13568) /* metro dependency 13568: QuestHooksNative */).useHasWatchVideoOnMobileTasks(quest.config);
const value5 = env0_4.useMemo(_fun103280, [quest, value4, sourceQuestContent]);
const jsxRuntimeEnv0_12Binding = jsxRuntimeEnv0_12;
const TASK_SELECT = env0_13.TASK_SELECT;
const items3 = [step === TASK_SELECT && ((Component) => <Component onTaskSelect={handleTaskSelect} />)(importDefault(13632) /* metro dependency 13632: QuestBottomSheetTaskSelect */)];
const CONSOLE_CONNECT = env0_13.CONSOLE_CONNECT;
items3[1] = step === CONSOLE_CONNECT && ((Component) => <Component quest={quest} step={step} sourceQuestContent={sourceQuestContent} />)(importDefault(13633) /* metro dependency 13633: QuestBottomSheetConsoleConnect */);
const TASK_STATUS = env0_13.TASK_STATUS;
const value10 = step === TASK_STATUS;
if (value10) {
items2 = [value5];
r10 = showMicrophone && !value4;
r10 = r10 && <MicrophoneUnit quest={quest} errorHints={defibrillator?.errorHints} />;
items2[1] = r10;
r5 = <View>{items2}</View>;
} else {
r5 = value10;
}
items3[2] = r5;
return (
<>
{items3}
</>
);
}
function MicrophoneUnit({quest, errorHints}) { // fn#103281, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:6111, offset: 0x0225fbec, size: 648 bytes, params: 2, frame: 30
var r7;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var items;
var value7;
var value8;
const styles = useStyles();
const questHooksModule = require(9483) /* metro dependency 9483: QuestHooks */;
const useQuestHowToHelpArticle = questHooksModule.useQuestHowToHelpArticle;
const message = Reflect.apply(useQuestHowToHelpArticle, questHooksModule, []).message;
const value4 = (errorHints?.length ?? 0) > 0;
if (value4) {
if (errorHints != null) {
value7 = errorHints.map(function(a0) {
return a0.message;
});
items = [];
value8 = arraySpread(items, value7, 0, undefined);
items[value8] = message;
value8 + 1;
r7 = items;
function useEnrolledQuestContentProps({quest, initialStep, location, sourceQuestContent}) { // fn#103260, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:1913, offset: 0x0225ee07, size: 407 bytes, params: 2, frame: 23
const env0_2 = (AnalyticsHooksModule).useTrackQuestContentClickedWithImpression();
const env0_3 = (ContentImpressionTrackerHooksModule).useQuestImpressionId();
const value3 = (QuestHooksModule).useQuestTaskDetails(quest);
const value4 = (QuestHooksModule).useIsQuestProgressing(quest);
const value6 = env0_3((QuestHooksModule).useTaskPlatformScreen(quest, value3),
3);
const property = value6[0];
const env0_4 = value6[2];
const value7 = (QuestHooksNativeModule).useHasWatchVideoOnMobileTasks(quest.config);
const value9 = env0_3(useSteps({quest: quest, initialStep: initialStep, location: location}), 2);
const property2 = value9[0];
const property3 = value9[1];
const value10 = useDefibrillator(quest);
const userStatus = quest.userStatus;
return {quest: quest, defibrillator: value10, step: property2, stepActions: property3,
showMicrophone: !(userStatus?.completedAt != null) && !value4 && property === (require(6531) /* metro dependency 6531: QuestTypes */).TaskPlatformScreen.CONSOLE && !value7,
handleTaskSelect: handleTaskSelect};
function useSteps({quest, initialStep}) { // fn#103261, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:2287, owner: useEnrolledQuestContentProps.useSteps, offset: 0x0225ef9e, size: 843 bytes, params: 2, frame: 31
const TaskPlatformScreen = (QuestTypesModule).TaskPlatformScreen;
const userStatus = quest.userStatus;
const value2 = userStatus?.completedAt != null;
const useConnectedAccounts = QuestHooksModule.useConnectedAccounts;
const xboxAndPlaystationAccounts = Reflect.apply(useConnectedAccounts, QuestHooksModule,
[]).xboxAndPlaystationAccounts;
let binding = env1_4;
const value4 = binding.useMemo(_fun103262, [quest, xboxAndPlaystationAccounts]);
const value5 = QuestHooksModule.useQuestTaskDetails(quest);
const value6 = QuestHooksModule.useIsQuestProgressing(quest);
const value8 = env1_3(QuestHooksModule.useTaskPlatformScreen(quest, value5), 3);
const property = value8[0];
const property2 = value8[1];
const property3 = value8[2];
binding = env1_4;
const useState = binding.useState;
let r7 = value4.length === 0 && !value2 && property === TaskPlatformScreen.CONSOLE;
r7 = !r7 ? initialStep === env1_13.CONSOLE_CONNECT : r7;
const value14 = env1_3(Reflect.apply(useState, binding, [r7]), 2);
const property4 = value14[0];
const property5 = value14[1];
const r12 = value6 || value5.progressSeconds > 0;
let r5 = value4.length !== 0 || value2;
r5 = !r5 ? property !== TaskPlatformScreen.CONSOLE : r5;
r5 = !r5 ? property4 : r5;
if (!r5) {
property5(true);
}
const value18 = env1_4.useCallback(_fun103265, [property3]);
const value19 = env1_4.useMemo(_fun103268, []);
const value20 = env1_4.useMemo(_fun103269, [property4, r12]);
const value21 = env1_4.useMemo(_fun103270, [property, property4, r12, value18]);
const value22 = (QuestHooksNativeModule).useHasWatchVideoOnMobileTasks(quest.config);
const useMobileActivityQuest = QuestHooksNativeModule.useMobileActivityQuest;
const value23 = env1_4.useMemo(_fun103271, [property2, value21, value19, value20, value22,
Reflect.apply(useMobileActivityQuest, QuestHooksNativeModule, [quest]).isMobileActivityQuest]);
return [value23.type, {onBack: value23?.onBack, onNext: value23?.onNext}];
function _fun103262() { // fn#103262, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:2464, offset: 0x0225f2e9, size: 64 bytes, params: 1, frame: 11
var environment;
let value = environment.__proto__.__proto__;
value = Reflect.apply((require(9520) /* metro dependency 9520: QuestPlatformUtils */).supportedConsoles, value,
[quest]);
return value.filter(function(a0) {
var env0_0 = a0;
return xboxAndPlaystationAccounts.find(_fun103264);
});
function _fun103263(a0) { // fn#103263, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:2506, offset: 0x0225f329, size: 36 bytes, params: 2, frame: 11
const env0_0 = a0;
return xboxAndPlaystationAccounts.find(_fun103264);
function _fun103264({type}) { // fn#103264, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:2517, offset: 0x0108b18c, size: 21 bytes, params: 2, frame: 2
return type === env0_0;
}
}
}
function _fun103265() { // fn#103265, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:2912, offset: 0x0225f34d, size: 29 bytes, params: 1, frame: 12
(0, ReactNativeModule.View)(false);
env0_4(null);
}
function showConsoleSelect() { // fn#103266, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:2956, owner: useEnrolledQuestContentProps.useSteps.showConsoleSelect, offset: 0x0225f36a, size: 18 bytes, params: 1, frame: 11
return (0, ReactNativeModule.View)(true);
}
function hideConsoleSelect() { // fn#103267, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:2984, owner: useEnrolledQuestContentProps.useSteps.hideConsoleSelect, offset: 0x0225f37c, size: 18 bytes, params: 1, frame: 11
return (0, ReactNativeModule.View)(false);
}
function _fun103268() { // fn#103268, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:3007, offset: 0x0225f38e, size: 36 bytes, params: 1, frame: 2
const TASK_STATUS = env2_13.TASK_STATUS;
return [{type: TASK_STATUS, shouldShow: true}];
}
function _fun103269() { // fn#103269, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:3066, offset: 0x0225f3b2, size: 95 bytes, params: 1, frame: 5
const value = environment.__proto__.__proto__;
const CONSOLE_CONNECT = env2_13.CONSOLE_CONNECT;
const TASK_STATUS = env2_13.TASK_STATUS;
return [{type: CONSOLE_CONNECT, shouldShow: ReactModule.useState, onNext: hideConsoleSelect}, {type: TASK_STATUS,
shouldShow: true, onBack: env0_7 ? undefined : showConsoleSelect}];
}
function _fun103270() { // fn#103270, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:3225, offset: 0x0225f411, size: 249 bytes, params: 1, frame: 17
const object = {};
const TASK_SELECT = env2_13.TASK_SELECT;
object.type = TASK_SELECT;
let binding = env0_2;
const value3 = undefined;
const TaskPlatformScreen = (QuestTypesModule).TaskPlatformScreen;
const SELECT = TaskPlatformScreen.SELECT;
object.shouldShow = binding === SELECT;
const CONSOLE_CONNECT = env2_13.CONSOLE_CONNECT;
binding = env0_2;
const CONSOLE = TaskPlatformScreen.CONSOLE;
const TASK_STATUS = env2_13.TASK_STATUS;
return [object, {type: CONSOLE_CONNECT, shouldShow: binding === CONSOLE && ReactModule.useState, onBack: QuestConstantsModule.QuestsExperimentLocations,
onNext: hideConsoleSelect}, {type: TASK_STATUS, shouldShow: true,
onBack: env0_7 ? value3 : env0_2 === TaskPlatformScreen.CONSOLE ? showConsoleSelect : QuestConstantsModule.QuestsExperimentLocations}];
}
function _fun103271() { // fn#103271, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:3661, offset: 0x0225f50a, size: 174 bytes, params: 1, frame: 14
const r2 = env0_3.length === 1 && env0_3.includes(QuestTaskPlatform.DESKTOP) || env0_14 || isMobileActivityQuest ? JsxRuntimeModule.jsxs : env0_3.length === 1 && env0_3.includes(QuestTaskPlatform.CONSOLE) ? JsxRuntimeModule.Fragment : env0_13;
return r2.find(function(a0) {
return a0.shouldShow;
}) ?? r2.at(-1);
}
}
function useDefibrillator(a0) { // fn#103273, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:3985, owner: useEnrolledQuestContentProps.useDefibrillator, offset: 0x0225f5c3, size: 206 bytes, params: 2, frame: 21
var environment;
const env0_0 = a0;
const value = environment.__proto__;
const getQuestLogger = GetQuestLoggerModule.getQuestLogger;
const QUEST_HOME_MOBILE = QuestsExperimentLocations.QUEST_HOME_MOBILE;
const value2 = Reflect.apply(getQuestLogger, GetQuestLoggerModule, [{quest: a0, location: QUEST_HOME_MOBILE}]);
const [property, property2] = env1_3(useState([]), 2);
const [property3, property4] = env1_3(useState(false), 2);
const binding = env1_4;
const useCallback = binding.useCallback;
return {errorHints: property, isActive: property3, start: Reflect.apply(useCallback, binding, [_fun103274, [a0,
value2, property4, property2]])};
function _fun103274() { // fn#103274, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:4162, offset: 0x0225f691, size: 116 bytes, params: 1, frame: 14
env0_3(true);
let value = QuestActionCreatorsModule.manuallyStartConsoleQuest(env0_0.id);
value = value.then(_fun103275);
value = value.catch(_fun103276);
value.finally(_fun103277);
function _fun103275({errorHints}) { // fn#103275, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:4219, offset: 0x0225f705, size: 25 bytes, params: 2, frame: 11
return env1_2(errorHints);
}
function _fun103276(a0) { // fn#103276, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:4251, offset: 0x0225f71e, size: 161 bytes, params: 2, frame: 19
env1_2([]);
env1_1.error('Failed to start console quest', a0);
const defaultImport = ToastActionCreators;
const open = defaultImport.open;
const object = {key: 'START_DEFIBRILLATOR_ERROR'};
const intl = (IndexNativeModule).intl;
const string = intl.string;
const CKsXk3 = (IndexNativeModule).t.CKsXk3;
object.content = Reflect.apply(string, intl, [CKsXk3]);
object.icon = importDefault(8947) /* metro dependency 8947 */;
Reflect.apply(open, defaultImport, [object]);
}
function _fun103277() { // fn#103277, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:4427, offset: 0x01ef13d1, size: 18 bytes, params: 1, frame: 11
return env1_3(false);
}
}
}
function handleTaskSelect(a0) { // fn#103278, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:4688, owner: useEnrolledQuestContentProps.handleTaskSelect, offset: 0x0225f7bf, size: 461 bytes, params: 2, frame: 19
const QuestContentCTA = (AnalyticsTypesModule).QuestContentCTA;
var object;
const QuestContent = (QuestTypesModule).QuestContent;
var captureAdUserAction;
let value = environment.__proto__;
const CONSOLE = QuestTaskPlatform.CONSOLE;
const r6 = a0 === CONSOLE ? QuestContentCTA.SELECT_CONSOLE_PLATFORM : a0 === QuestTaskPlatform.DESKTOP ? QuestContentCTA.SELECT_DESKTOP_PLATFORM : QuestContentCTA.DESELECT_PLATFORM;
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_bottom_sheet'])) {
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 = r6;
object.surfaceId = QuestContent.QUEST_BOTTOM_SHEET;
object.sourceQuestContent = sourceQuestContent;
object.impressionId = env0_3;
Reflect.apply(captureAdUserAction, value, [object]);
} else {
env0_2({questId: quest.id, questContent: QuestContent.QUEST_BOTTOM_SHEET, questContentCTA: r6,
sourceQuestContent: sourceQuestContent});
}
env0_4(a0);
}
}
function QuestBottomSheetContent({defibrillator, quest, handleTaskSelect, showMicrophone, sourceQuestContent, step}) { // fn#103279, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:5366, offset: 0x0225f98c, size: 400 bytes, params: 2, frame: 27
var r5;
var r10;
var items2;
showMicrophone = !(showMicrophone === undefined) && showMicrophone;
const value4 = (QuestHooksNativeModule).useHasWatchVideoOnMobileTasks(quest.config);
const value5 = env0_4.useMemo(_fun103280, [quest, value4, sourceQuestContent]);
const jsxRuntimeEnv0_12Binding = jsxRuntimeEnv0_12;
const TASK_SELECT = env0_13.TASK_SELECT;
const items3 = [
step === TASK_SELECT && ((Component) => <Component onTaskSelect={handleTaskSelect} />)(importDefault(13632) /* metro dependency 13632: QuestBottomSheetTaskSelect */),
];
const CONSOLE_CONNECT = env0_13.CONSOLE_CONNECT;
items3[1] = step === CONSOLE_CONNECT && ((Component) => <Component quest={quest} step={step} sourceQuestContent={sourceQuestContent} />)(importDefault(13633) /* metro dependency 13633: QuestBottomSheetConsoleConnect */);
const TASK_STATUS = env0_13.TASK_STATUS;
const value10 = step === TASK_STATUS;
if (value10) {
items2 = [value5];
r10 = showMicrophone && !value4;
r10 = r10 && <MicrophoneUnit quest={quest} errorHints={defibrillator?.errorHints} />;
items2[1] = r10;
r5 = (
<View>
{items2}
</View>
);
} else {
r5 = value10;
}
items3[2] = r5;
return (
<>
{items3}
</>
);
function _fun103280() { // fn#103280, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:5561, offset: 0x0225fb1c, size: 208 bytes, params: 1, frame: 17
var r0;
var moduleValue;
var isInGameQuest2;
var moduleValue2;
if (env0_2) {
const QuestBottomSheetProgressCardWatchTask = (require(13630) /* metro dependency 13630: QuestBottomSheetProgressCard */).QuestBottomSheetProgressCardWatchTask;
r0 = <QuestBottomSheetProgressCardWatchTask quest={quest} sourceQuestContent={sourceQuestContent} />;
} else {
moduleValue = require(7116) /* metro dependency 7116: QuestTaskUtils */;
isInGameQuest2 = moduleValue.isInGameQuest(quest);
moduleValue2 = require(13630) /* metro dependency 13630: QuestBottomSheetProgressCard */;
r0 = (
isInGameQuest2
? (
<moduleValue2.QuestBottomSheetProgressCardInGameTask quest={quest} sourceQuestContent={sourceQuestContent} />
)
: (
<moduleValue2.QuestBottomSheetProgressCardPlayStreamTask
quest={quest}
sourceQuestContent={sourceQuestContent}
/>
)
);
}
return r0;
}
}
function MicrophoneUnit({quest, errorHints}) { // fn#103281, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:6111, offset: 0x0225fbec, size: 648 bytes, params: 2, frame: 30
var r7;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var items3;
var value7;
var value8;
const styles = useStyles();
const useQuestHowToHelpArticle = QuestHooksModule.useQuestHowToHelpArticle;
const message = Reflect.apply(useQuestHowToHelpArticle, QuestHooksModule, []).message;
const value4 = (errorHints?.length ?? 0) > 0;
if (value4) {
if (errorHints != null) {
value7 = errorHints.map(function(a0) {
return a0.message;
});
items3 = [];
value8 = arraySpread(items3, value7, 0, undefined);
items3[value8] = message;
value8 + 1;
r7 = items3;
} else {
r7 = [(require(7114) /* metro dependency 7114: QuestUtils */).isSponsoredPlayQuest(quest) ? intl.string((require(1244) /* metro dependency 1244: indexNative */).t.bUyEZZ) : intl.formatToPlainString((require(1244) /* metro dependency 1244: indexNative */).t.GXqvC1,
{gameTitle: quest.config.messages.gameTitle})];
}
} else {
r7 = [(require(7114) /* metro dependency 7114: QuestUtils */).isSponsoredPlayQuest(quest) ? intl.string((require(1244) /* metro dependency 1244: indexNative */).t.bUyEZZ) : intl.formatToPlainString((require(1244) /* metro dependency 1244: indexNative */).t.GXqvC1,
{gameTitle: quest.config.messages.gameTitle})];
}
} else {
r7 = [(require(7114) /* metro dependency 7114: QuestUtils */).isSponsoredPlayQuest(quest) ? intl.string((require(1244) /* metro dependency 1244: indexNative */).t.bUyEZZ) : intl.formatToPlainString((require(1244) /* metro dependency 1244: indexNative */).t.GXqvC1,
{gameTitle: quest.config.messages.gameTitle})];
}
const WarningIcon = (require(8129) /* metro dependency 8129: WarningIcon */).WarningIcon;
const warningIcon = <WarningIcon color={value4 ? 'text-feedback-critical' : 'text-feedback-warning'} />;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const items2 = [<View style={styles.microphoneUnitHeader}>{warningIcon}<Text variant="text-md/medium" color="mobile-text-heading-primary">{value4 ? intl.formatToPlainString((require(1244) /* metro dependency 1244: indexNative */).t['28Ql27'],
{gameTitle: quest.config.messages.gameTitle}) : intl.string((require(1244) /* metro dependency 1244: indexNative */).t.YstzGO)}</Text></View>];
items2[1] = r7.map(_fun103283);
return (
<View style={styles.microphoneUnit}>
{items2}
</View>
);
}
function QuestBottomSheetConnected({questId, initialStep, sourceQuestContent, questContentPosition}) { // fn#103284, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:7103, offset: 0x0225feb5, size: 211 bytes, params: 2, frame: 21
const quest = (require(566) /* metro dependency 566: flux */).useStateFromStores([QuestStore], function() {
return QuestStore.getQuest(questId);
});
if (quest == null) {
return null;
} else {
const QuestContentImpressionTrackerNative = (require(10183) /* metro dependency 10183: QuestContentImpressionTrackerNative */).QuestContentImpressionTrackerNative;
const WarningIcon = (WarningIconModule).WarningIcon;
const warningIcon = <WarningIcon color={value4 ? 'text-feedback-critical' : 'text-feedback-warning'} />;
const Text = (TextModule).Text;
const items2 = [
<View style={styles.microphoneUnitHeader}>
{warningIcon}
<Text variant="text-md/medium" color="mobile-text-heading-primary">
{value4 ? intl.formatToPlainString((require(1244) /* metro dependency 1244: indexNative */).t['28Ql27'],
{gameTitle: quest.config.messages.gameTitle}) : intl.string((require(1244) /* metro dependency 1244: indexNative */).t.YstzGO)}
</Text>
</View>,
];
items2[1] = r7.map(_fun103283);
return (
<QuestContentImpressionTrackerNative
overrideVisibility
questOrQuests={quest}
questContent={(require(6531) /* metro dependency 6531: QuestTypes */).QuestContent.QUEST_BOTTOM_SHEET}
questContentPosition={questContentPosition}
sourceQuestContent={sourceQuestContent}
>
{children_103286}
</QuestContentImpressionTrackerNative>
<View style={styles.microphoneUnit}>
{items2}
</View>
);
function _fun103283(a0, a1) { // fn#103283, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:6880, offset: 0x0225fe74, size: 65 bytes, params: 3, frame: 15
const Text = (TextModule).Text;
return <Text {...{variant: 'text-sm/normal', children: a0}} key={a1} />;
}
}
}
function useSteps({quest, initialStep}) { // fn#103261, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:2287, owner: useEnrolledQuestContentProps.useSteps, offset: 0x0225ef9e, size: 843 bytes, params: 2, frame: 31
const TaskPlatformScreen = (require(6531) /* metro dependency 6531: QuestTypes */).TaskPlatformScreen;
const userStatus = quest.userStatus;
const value2 = userStatus?.completedAt != null;
const questHooksModule = require(9483) /* metro dependency 9483: QuestHooks */;
const useConnectedAccounts = questHooksModule.useConnectedAccounts;
const xboxAndPlaystationAccounts = Reflect.apply(useConnectedAccounts, questHooksModule,
[]).xboxAndPlaystationAccounts;
let binding = env1_4;
const value4 = binding.useMemo(_fun103262, [quest, xboxAndPlaystationAccounts]);
const value5 = questHooksModule.useQuestTaskDetails(quest);
const value6 = questHooksModule.useIsQuestProgressing(quest);
const value8 = env1_3(questHooksModule.useTaskPlatformScreen(quest, value5), 3);
const property = value8[0];
const property2 = value8[1];
const property3 = value8[2];
binding = env1_4;
const useState = binding.useState;
let r7 = value4.length === 0 && !value2 && property === TaskPlatformScreen.CONSOLE;
r7 = !r7 ? initialStep === env1_13.CONSOLE_CONNECT : r7;
const value14 = env1_3(Reflect.apply(useState, binding, [r7]), 2);
const property4 = value14[0];
const property5 = value14[1];
const r12 = value6 || value5.progressSeconds > 0;
let r5 = value4.length !== 0 || value2;
r5 = !r5 ? property !== TaskPlatformScreen.CONSOLE : r5;
r5 = !r5 ? property4 : r5;
if (!r5) {
property5(true);
function QuestBottomSheetConnected({questId, initialStep, sourceQuestContent, questContentPosition}) { // fn#103284, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:7103, offset: 0x0225feb5, size: 211 bytes, params: 2, frame: 21
const quest = (require(566) /* metro dependency 566: flux */).useStateFromStores([QuestStore], function() {
return QuestStore.getQuest(questId);
});
if (quest == null) {
return null;
} else {
const QuestContentImpressionTrackerNative = (require(10183) /* metro dependency 10183: QuestContentImpressionTrackerNative */).QuestContentImpressionTrackerNative;
return (
<QuestContentImpressionTrackerNative
overrideVisibility
questOrQuests={quest}
questContent={(require(6531) /* metro dependency 6531: QuestTypes */).QuestContent.QUEST_BOTTOM_SHEET}
questContentPosition={questContentPosition}
sourceQuestContent={sourceQuestContent}
>
{children_103286}
</QuestContentImpressionTrackerNative>
);
}
function QuestBottomSheetConnectedChildren() { // fn#103286, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:7481, owner: QuestBottomSheetConnected.children, offset: 0x0225ffa3, size: 53 bytes, params: 1, frame: 14
return (
<QuestBottomSheet
quest={quest}
initialStep={initialStep}
sourceQuestContent={sourceQuestContent}
/>
);
}
}
const value18 = env1_4.useCallback(_fun103265, [property3]);
const value19 = env1_4.useMemo(_fun103268, []);
const value20 = env1_4.useMemo(_fun103269, [property4, r12]);
const value21 = env1_4.useMemo(_fun103270, [property, property4, r12, value18]);
const value22 = (require(13568) /* metro dependency 13568: QuestHooksNative */).useHasWatchVideoOnMobileTasks(quest.config);
const questHooksNativeModule = require(13568) /* metro dependency 13568: QuestHooksNative */;
const useMobileActivityQuest = questHooksNativeModule.useMobileActivityQuest;
const value23 = env1_4.useMemo(_fun103271, [property2, value21, value19, value20, value22,
Reflect.apply(useMobileActivityQuest, questHooksNativeModule, [quest]).isMobileActivityQuest]);
return [value23.type, {onBack: value23?.onBack, onNext: value23?.onNext}];
}
function useDefibrillator(a0) { // fn#103273, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:3985, owner: useEnrolledQuestContentProps.useDefibrillator, offset: 0x0225f5c3, size: 206 bytes, params: 2, frame: 21
var environment;
const env0_0 = a0;
const value = environment.__proto__;
const getQuestLoggerModule = require(7099) /* metro dependency 7099: getQuestLogger */;
const getQuestLogger = getQuestLoggerModule.getQuestLogger;
const QUEST_HOME_MOBILE = QuestsExperimentLocations.QUEST_HOME_MOBILE;
const value2 = Reflect.apply(getQuestLogger, getQuestLoggerModule, [{quest: a0, location: QUEST_HOME_MOBILE}]);
const [property, property2] = env1_3(useState([]), 2);
const [property3, property4] = env1_3(useState(false), 2);
const binding = env1_4;
const useCallback = binding.useCallback;
return {errorHints: property, isActive: property3, start: Reflect.apply(useCallback, binding, [_fun103274, [a0,
value2, property4, property2]])};
}
function handleTaskSelect(a0) { // fn#103278, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:4688, owner: useEnrolledQuestContentProps.handleTaskSelect, offset: 0x0225f7bf, size: 461 bytes, params: 2, frame: 19
const QuestContentCTA = (require(7120) /* metro dependency 7120: AnalyticsTypes */).QuestContentCTA;
var object2;
const QuestContent = (require(6531) /* metro dependency 6531: QuestTypes */).QuestContent;
var captureAdUserAction;
let value = environment.__proto__;
const CONSOLE = QuestTaskPlatform.CONSOLE;
const r6 = a0 === CONSOLE ? QuestContentCTA.SELECT_CONSOLE_PLATFORM : a0 === QuestTaskPlatform.DESKTOP ? QuestContentCTA.SELECT_DESKTOP_PLATFORM : QuestContentCTA.DESELECT_PLATFORM;
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_bottom_sheet'])) {
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 = r6;
object2.surfaceId = QuestContent.QUEST_BOTTOM_SHEET;
object2.sourceQuestContent = sourceQuestContent;
object2.impressionId = env0_3;
Reflect.apply(captureAdUserAction, value, [object2]);
} else {
env0_2({questId: quest.id, questContent: QuestContent.QUEST_BOTTOM_SHEET, questContentCTA: r6,
sourceQuestContent: sourceQuestContent});
}
env0_4(a0);
}
function _fun103280() { // fn#103280, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:5561, offset: 0x0225fb1c, size: 208 bytes, params: 1, frame: 17
var r0;
var moduleValue;
var isInGameQuest2;
var moduleValue2;
if (env0_2) {
const QuestBottomSheetProgressCardWatchTask = (require(13630) /* metro dependency 13630: QuestBottomSheetProgressCard */).QuestBottomSheetProgressCardWatchTask;
r0 = <QuestBottomSheetProgressCardWatchTask quest={quest} sourceQuestContent={sourceQuestContent} />;
} else {
moduleValue = require(7116) /* metro dependency 7116: QuestTaskUtils */;
isInGameQuest2 = moduleValue.isInGameQuest(quest);
moduleValue2 = require(13630) /* metro dependency 13630: QuestBottomSheetProgressCard */;
r0 = isInGameQuest2 ? <moduleValue2.QuestBottomSheetProgressCardInGameTask quest={quest} sourceQuestContent={sourceQuestContent} /> : <moduleValue2.QuestBottomSheetProgressCardPlayStreamTask quest={quest} sourceQuestContent={sourceQuestContent} />;
}
return r0;
}
function _fun103283(a0, a1) { // fn#103283, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:6880, offset: 0x0225fe74, size: 65 bytes, params: 3, frame: 15
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
return <Text {...{variant: 'text-sm/normal', children: a0}} key={a1} />;
}
function QuestBottomSheetConnectedChildren() { // fn#103286, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:7481, owner: QuestBottomSheetConnected.children, offset: 0x0225ffa3, size: 53 bytes, params: 1, frame: 14
return (
<QuestBottomSheet
quest={quest}
initialStep={initialStep}
sourceQuestContent={sourceQuestContent}
/>
);
}
function _fun103262() { // fn#103262, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:2464, offset: 0x0225f2e9, size: 64 bytes, params: 1, frame: 11
var environment;
let value = environment.__proto__.__proto__;
value = Reflect.apply((require(9520) /* metro dependency 9520: QuestPlatformUtils */).supportedConsoles, value,
[quest]);
return value.filter(function(a0) {
var env0_0 = a0;
return xboxAndPlaystationAccounts.find(_fun103264);
});
}
function _fun103265() { // fn#103265, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:2912, offset: 0x0225f34d, size: 29 bytes, params: 1, frame: 12
env0_6(false);
env0_4(null);
}
function _fun103268() { // fn#103268, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:3007, offset: 0x0225f38e, size: 36 bytes, params: 1, frame: 2
const TASK_STATUS = env2_13.TASK_STATUS;
return [{type: TASK_STATUS, shouldShow: true}];
}
function _fun103269() { // fn#103269, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:3066, offset: 0x0225f3b2, size: 95 bytes, params: 1, frame: 5
const value = environment.__proto__.__proto__;
const CONSOLE_CONNECT = env2_13.CONSOLE_CONNECT;
const TASK_STATUS = env2_13.TASK_STATUS;
return [{type: CONSOLE_CONNECT, shouldShow: env0_5, onNext: hideConsoleSelect}, {type: TASK_STATUS,
shouldShow: true, onBack: env0_7 ? undefined : showConsoleSelect}];
}
function _fun103270() { // fn#103270, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:3225, offset: 0x0225f411, size: 249 bytes, params: 1, frame: 17
const object2 = {};
const TASK_SELECT = env2_13.TASK_SELECT;
object2.type = TASK_SELECT;
let binding = env0_2;
const value3 = undefined;
const TaskPlatformScreen = (require(6531) /* metro dependency 6531: QuestTypes */).TaskPlatformScreen;
const SELECT = TaskPlatformScreen.SELECT;
object2.shouldShow = binding === SELECT;
const CONSOLE_CONNECT = env2_13.CONSOLE_CONNECT;
binding = env0_2;
const CONSOLE = TaskPlatformScreen.CONSOLE;
const TASK_STATUS = env2_13.TASK_STATUS;
return [object2, {type: CONSOLE_CONNECT, shouldShow: binding === CONSOLE && env0_5, onBack: env0_8,
onNext: hideConsoleSelect}, {type: TASK_STATUS, shouldShow: true,
onBack: env0_7 ? value3 : env0_2 === TaskPlatformScreen.CONSOLE ? showConsoleSelect : env0_8}];
}
function _fun103271() { // fn#103271, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:3661, offset: 0x0225f50a, size: 174 bytes, params: 1, frame: 14
const r2 = env0_3.length === 1 && env0_3.includes(QuestTaskPlatform.DESKTOP) || env0_14 || isMobileActivityQuest ? env0_11 : env0_3.length === 1 && env0_3.includes(QuestTaskPlatform.CONSOLE) ? env0_12 : env0_13;
return r2.find(function(a0) {
return a0.shouldShow;
}) ?? r2.at(-1);
}
function _fun103274() { // fn#103274, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:4162, offset: 0x0225f691, size: 116 bytes, params: 1, frame: 14
env0_3(true);
const questActionCreatorsModule = require(9484) /* metro dependency 9484: QuestActionCreators */;
let value = questActionCreatorsModule.manuallyStartConsoleQuest(env0_0.id);
value = value.then(_fun103275);
value = value.catch(_fun103276);
value.finally(_fun103277);
}
function _fun103263(a0) { // fn#103263, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:2506, offset: 0x0225f329, size: 36 bytes, params: 2, frame: 11
const env0_0 = a0;
return xboxAndPlaystationAccounts.find(_fun103264);
}
function _fun103275({errorHints}) { // fn#103275, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:4219, offset: 0x0225f705, size: 25 bytes, params: 2, frame: 11
return env1_2(errorHints);
}
function _fun103276(a0) { // fn#103276, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13781:4251, offset: 0x0225f71e, size: 161 bytes, params: 2, frame: 19
env1_2([]);
env1_1.error('Failed to start console quest', a0);
const defaultImport = importDefault(3857) /* metro dependency 3857: ToastActionCreators */;
const open = defaultImport.open;
const object2 = {key: 'START_DEFIBRILLATOR_ERROR'};
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const CKsXk3 = (require(1244) /* metro dependency 1244: indexNative */).t.CKsXk3;
object2.content = Reflect.apply(string, intl, [CKsXk3]);
object2.icon = importDefault(8947) /* metro dependency 8947 */;
Reflect.apply(open, defaultImport, [object2]);
}
global.__d(_fun103256, 13591, [57, 31, 27, 7093, 6528, 33, 4501, 697, 7099, 9484, 3857, 1244, 8947, 9483, 9520,
6531, 13568, 566, 10183, 7116, 6275, 13592, 13593, 9949, 9513, 7120, 9519, 9517, 9518, 7121, 13630, 13632,
13633, 7114, 8129, 4573,
2]) /* metro module 13591, dependencies: [57, 31, 27, 7093, 6528, 33, 4501, 697, 7099, 9484, 3857, 1244, 8947, 9483, 9520, 6531, 13568, 566, 10183, 7116, 6275, 13592, 13593, 9949, 9513, 7120, 9519, 9517, 9518, 7121, 13630, 13632, 13633, 7114, 8129, 4573, 2] */;
@@ -1,176 +1,204 @@
/* Metro module 13633; source: modules/quests/native/QuestBottomSheet/QuestBottomSheetConsoleConnect.tsx; dependencies: [31, 27, 661, 33, 697, 4501, 9483, 9949, 9513, 9520, 4080, 7007, 13591, 1962, 9519, 9517, 9518, 7121, 7120, 6531, 9354, 6231, 6238, 10162, 1244, 9986, 2] */
import Native from '../../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as ConstantsModule from '../../../../Constants.tsx'; /* Metro dependency 661 */
import * as TableRowGroupNativeModule from '../../../../design/components/TableRow/native/TableRowGroup.native.tsx'; /* Metro dependency 6231 */
import * as TableRowNativeModule from '../../../../design/components/TableRow/native/TableRow.native.tsx'; /* Metro dependency 6238 */
import * as QuestTypesModule from '../../QuestTypes.tsx'; /* Metro dependency 6531 */
import * as AnalyticsTypesModule from '../../lib/analytics/AnalyticsTypes.tsx'; /* Metro dependency 7120 */
import * as AdCreativeTypeModule from '../../../../external/discord_common/js/shared/shared-constants/AdCreativeType.tsx'; /* Metro dependency 7121 */
import * as QuestHooksModule from '../../hooks/QuestHooks.tsx'; /* Metro dependency 9483 */
import * as ContentImpressionTrackerHooksModule from '../../lib/analytics/ContentImpressionTrackerHooks.tsx'; /* Metro dependency 9513 */
import * as CaptureAdUserActionTypesModule from '../../../ads/analytics/captureAdUserActionTypes.tsx'; /* Metro dependency 9518 */
import * as AnalyticsHooksModule from '../../lib/analytics/AnalyticsHooks.tsx'; /* Metro dependency 9949 */
function _fun104107(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#104107, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13830:6, offset: 0x02285bd7, size: 358 bytes, params: 8, frame: 21
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importAll(31) /* metro dependency 31 */;
(require(27) /* metro dependency 27 */).View;
let value = require(661) /* metro dependency 661: Constants */;
(ReactNativeModule).View;
let value = ConstantsModule;
const env0_4 = value.PlatformTypes;
const env0_5 = value.UserSettingsSections;
value = require(33) /* metro dependency 33 */;
const env0_6 = value.jsx;
value.jsxs;
value.Fragment;
(importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.PLATFORM_XBOX;
(importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.PLATFORM_PLAYSTATION;
(Native).unsafe_rawColors.PLATFORM_XBOX;
(Native).unsafe_rawColors.PLATFORM_PLAYSTATION;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
const PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
const PX_16 = (Native).space.PX_16;
Reflect.apply(createStyles, value, [{platformButtonsContainer: {'display': 'flex', 'flexDirection': 'row',
'gap': null, 'justifyContent': 'space-between', gap: PX_16}, platformButton: {'flex': 1, 'display': 'flex',
'justifyContent': 'center', 'alignItems': 'center'}}]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/quests/native/QuestBottomSheet/QuestBottomSheetConsoleConnect.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/quests/native/QuestBottomSheet/QuestBottomSheetConsoleConnect.tsx');
exports.default = QuestBottomSheetConsoleConnect;
}
function NonInlineConsoleConnection({consoles, onConsoleSelect}) { // fn#104108, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13830:521, offset: 0x02285d3d, size: 94 bytes, params: 2, frame: 16
const TableRowGroup = (require(6231) /* metro dependency 6231: TableRowGroupNative */).TableRowGroup;
return (
<TableRowGroup hasIcons>
{consoles.map(_fun104109)}
</TableRowGroup>
);
}
function ConsoleRow(a0) { // fn#104110, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13830:695, offset: 0x02285dd5, size: 518 bytes, params: 2, frame: 24
var value3;
const TableRow = (require(6238) /* metro dependency 6238: TableRowNative */).TableRow;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var value4;
const env0_0 = a0.onPress;
let value = Object.create(null);
value.onPress = 0;
value = copyDataProperties({}, a0, value, undefined);
const type = value.type;
const PLAYSTATION = PlatformTypes.PLAYSTATION;
if (PLAYSTATION === type) {
value4 = undefined;
function NonInlineConsoleConnection({consoles, onConsoleSelect}) { // fn#104108, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13830:521, offset: 0x02285d3d, size: 94 bytes, params: 2, frame: 16
const TableRowGroup = (TableRowGroupNativeModule).TableRowGroup;
return (
<TableRow
arrow
icon={((PlaystationNeutralIcon) => <PlaystationNeutralIcon />)((require(10162) /* metro dependency 10162: PlaystationNeutralIcon */).PlaystationNeutralIcon)}
label={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.JafL6p)}
subLabel={value.account != null ? intl.string((require(1244) /* metro dependency 1244: indexNative */).t['u30/ut']) : value4}
onPress={onPress_104111}
<TableRowGroup hasIcons>
{consoles.map(_fun104109)}
</TableRowGroup>
);
function _fun104109(a0) { // fn#104109, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13830:650, offset: 0x02285d9b, size: 58 bytes, params: 2, frame: 16
return (
<ConsoleRow
{...a0}
{...{['onPress']: onConsoleSelect}}
key={a0.type}
/>
);
}
}
function ConsoleRow(a0) { // fn#104110, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13830:695, offset: 0x02285dd5, size: 518 bytes, params: 2, frame: 24
var value3;
const TableRow = (TableRowNativeModule).TableRow;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var value4;
const env0_0 = a0.onPress;
let value = Object.create(null);
value.onPress = 0;
value = copyDataProperties({}, a0, value, undefined);
const type = value.type;
const PLAYSTATION = PlatformTypes.PLAYSTATION;
if (PLAYSTATION === type) {
value4 = undefined;
return (
<TableRow
arrow
icon={((PlaystationNeutralIcon) => <PlaystationNeutralIcon />)((require(10162) /* metro dependency 10162: PlaystationNeutralIcon */).PlaystationNeutralIcon)}
label={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.JafL6p)}
subLabel={value.account != null ? intl.string((require(1244) /* metro dependency 1244: indexNative */).t['u30/ut']) : value4}
onPress={onPress_104111}
/>
);
}
const XBOX = PlatformTypes.XBOX;
if (XBOX === type) {
value3 = undefined;
return (
<TableRow
arrow
icon={((XboxNeutralIcon) => <XboxNeutralIcon />)((require(9986) /* metro dependency 9986: XboxNeutralIcon */).XboxNeutralIcon)}
label={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.Nfvo72)}
subLabel={value.account != null ? intl.string((require(1244) /* metro dependency 1244: indexNative */).t['u30/ut']) : value3}
onPress={onPress_104112}
/>
);
}
return null;
function ConsoleRowOnPress() { // fn#104111, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13830:976, owner: ConsoleRow.onPress, offset: 0x00c950e6, size: 20 bytes, params: 1, frame: 11
return onPress(env0_1);
}
function ConsoleRowOnPress_104112() { // fn#104112, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13830:1201, owner: ConsoleRow.onPress, offset: 0x00c950e6, size: 20 bytes, params: 1, frame: 11
return onPress(env0_1);
}
}
function QuestBottomSheetConsoleConnect({quest, step, sourceQuestContent}) { // fn#104113, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13830:1351, offset: 0x02285fdb, size: 212 bytes, params: 2, frame: 18
const useConnectedAccounts = QuestHooksModule.useConnectedAccounts;
const xboxAndPlaystationAccounts = Reflect.apply(useConnectedAccounts, QuestHooksModule,
[]).xboxAndPlaystationAccounts;
const xboxAndPlaystationAccounts2 = xboxAndPlaystationAccounts;
const env0_4 = (AnalyticsHooksModule).useTrackQuestContentClickedWithImpression();
const env0_5 = (ContentImpressionTrackerHooksModule).useQuestImpressionId();
return (
<NonInlineConsoleConnection
consoles={xboxAndPlaystationAccounts2.useMemo(_fun104114, [quest, xboxAndPlaystationAccounts])}
onConsoleSelect={onConsoleSelect}
/>
);
}
const XBOX = PlatformTypes.XBOX;
if (XBOX === type) {
value3 = undefined;
return (
<TableRow
arrow
icon={((XboxNeutralIcon) => <XboxNeutralIcon />)((require(9986) /* metro dependency 9986: XboxNeutralIcon */).XboxNeutralIcon)}
label={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.Nfvo72)}
subLabel={value.account != null ? intl.string((require(1244) /* metro dependency 1244: indexNative */).t['u30/ut']) : value3}
onPress={onPress_104112}
/>
);
}
return null;
}
function _fun104114() { // fn#104114, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13830:1594, offset: 0x022860af, size: 64 bytes, params: 1, frame: 11
var environment;
let value = environment.__proto__;
value = Reflect.apply((require(9520) /* metro dependency 9520: QuestPlatformUtils */).supportedConsoles, value,
[quest]);
return value.map(function(a0) {
var env0_0 = a0;
var object = {type: a0};
object.account = xboxAndPlaystationAccounts.find(_fun104116);
return object;
});
function _fun104115(a0) { // fn#104115, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13830:1632, offset: 0x022860ef, size: 47 bytes, params: 2, frame: 12
const env0_0 = a0;
const object = {type: a0};
object.account = xboxAndPlaystationAccounts.find(_fun104116);
return object;
function _fun104116({type}) { // fn#104116, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13830:1660, offset: 0x0108b18c, size: 21 bytes, params: 2, frame: 2
return type === env0_0;
}
function QuestBottomSheetConsoleConnect({quest, step, sourceQuestContent}) { // fn#104113, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13830:1351, offset: 0x02285fdb, size: 212 bytes, params: 2, frame: 18
const questHooksModule = require(9483) /* metro dependency 9483: QuestHooks */;
const useConnectedAccounts = questHooksModule.useConnectedAccounts;
const xboxAndPlaystationAccounts = Reflect.apply(useConnectedAccounts, questHooksModule,
[]).xboxAndPlaystationAccounts;
const env0_3 = xboxAndPlaystationAccounts;
const env0_4 = (require(9949) /* metro dependency 9949: AnalyticsHooks */).useTrackQuestContentClickedWithImpression();
const env0_5 = (require(9513) /* metro dependency 9513: ContentImpressionTrackerHooks */).useQuestImpressionId();
return (
<NonInlineConsoleConnection
consoles={env0_3.useMemo(_fun104114, [quest, xboxAndPlaystationAccounts])}
onConsoleSelect={onConsoleSelect}
/>
);
}
}
function _fun104109(a0) { // fn#104109, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13830:650, offset: 0x02285d9b, size: 58 bytes, params: 2, frame: 16
return (
<ConsoleRow
{...a0}
{...{['onPress']: onConsoleSelect}}
key={a0.type}
/>
);
}
function _fun104114() { // fn#104114, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13830:1594, offset: 0x022860af, size: 64 bytes, params: 1, frame: 11
var environment;
let value = environment.__proto__;
value = Reflect.apply((require(9520) /* metro dependency 9520: QuestPlatformUtils */).supportedConsoles, value,
[quest]);
return value.map(function(a0) {
var env0_0 = a0;
var object = {type: a0};
object.account = xboxAndPlaystationAccounts.find(_fun104116);
return object;
});
}
function openQuestBottomSheet() { // fn#104117, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13830:1709, owner: QuestBottomSheetConsoleConnect.openQuestBottomSheet, offset: 0x0228611e, size: 117 bytes, params: 1, frame: 17
let value = environment.__proto__;
const defaultImport = importDefault(dependencyMap[10]);
const openLazy = defaultImport.openLazy;
value = require(dependencyMap[13]);
value = value(dependencyMap[12], dependencyMap.paths);
Reflect.apply(openLazy, defaultImport, [value, 'QuestBottomSheet', {questId: quest.id, initialStep: step,
sourceQuestContent: sourceQuestContent}]);
}
function onConsoleSelect(a0) { // fn#104118, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13830:1891, owner: QuestBottomSheetConsoleConnect.onConsoleSelect, offset: 0x02286193, size: 871 bytes, params: 2, frame: 19
var value;
const AdAnalyticsInterfaceExperimentStep = (require(9519) /* metro dependency 9519: AdAnalyticsInterfaceExperiment */).AdAnalyticsInterfaceExperimentStep;
const QuestContent = (require(6531) /* metro dependency 6531: QuestTypes */).QuestContent;
const QuestContentCTA = (require(7120) /* metro dependency 7120: AnalyticsTypes */).QuestContentCTA;
const AdUserActionType = (require(9518) /* metro dependency 9518: captureAdUserActionTypes */).AdUserActionType;
const AdCreativeType = (require(7121) /* metro dependency 7121: AdCreativeType */).AdCreativeType;
var moduleValue3;
if (a0.account != null) {
value = environment.__proto__;
moduleValue3 = require(9519) /* metro dependency 9519: AdAnalyticsInterfaceExperiment */;
if (moduleValue3.shouldMigrateToAdAnalyticsInterface(AdAnalyticsInterfaceExperimentStep.STEP_2_CLICKED_INTERNAL,
'quest_bottom_sheet_console_connect')) {
(require(9517) /* metro dependency 9517: captureAdUserAction */).captureAdUserAction({type: AdUserActionType.CLICK_INTERNAL,
adCreativeType: AdCreativeType.QUEST, adCreativeId: quest.id,
questContentCTA: QuestContentCTA.VIEW_CONSOLE_CONNECTIONS, surfaceId: QuestContent.QUEST_BOTTOM_SHEET,
sourceQuestContent: sourceQuestContent, impressionId: env0_5});
} else {
env0_4({questId: quest.id, questContent: QuestContent.QUEST_BOTTOM_SHEET,
questContentCTA: QuestContentCTA.VIEW_CONSOLE_CONNECTIONS, sourceQuestContent: sourceQuestContent});
}
(importDefault(4080) /* metro dependency 4080: ActionSheetActionCreators */).hideActionSheet();
(require(7007) /* metro dependency 7007: openUserSettings */).openUserSettings({screen: UserSettingsSections.CONNECTIONS});
} else {
value = environment.__proto__;
var moduleValue = require(9519) /* metro dependency 9519: AdAnalyticsInterfaceExperiment */;
if (moduleValue.shouldMigrateToAdAnalyticsInterface(AdAnalyticsInterfaceExperimentStep.STEP_2_CLICKED_INTERNAL,
'quest_bottom_sheet_console_connect')) {
(require(9517) /* metro dependency 9517: captureAdUserAction */).captureAdUserAction({type: AdUserActionType.CLICK_INTERNAL,
adCreativeType: AdCreativeType.QUEST, adCreativeId: quest.id,
questContentCTA: QuestContentCTA.CONNECT_CONSOLE,
surfaceId: QuestContent.QUEST_BOTTOM_SHEET, sourceQuestContent: sourceQuestContent,
impressionId: env0_5});
} else {
env0_4({questId: quest.id, questContent: QuestContent.QUEST_BOTTOM_SHEET,
questContentCTA: QuestContentCTA.CONNECT_CONSOLE, sourceQuestContent: sourceQuestContent});
function openQuestBottomSheet() { // fn#104117, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13830:1709, owner: QuestBottomSheetConsoleConnect.openQuestBottomSheet, offset: 0x0228611e, size: 117 bytes, params: 1, frame: 17
let value = environment.__proto__;
const defaultImport = importDefault(dependencyMap[10]);
const openLazy = defaultImport.openLazy;
value = require(dependencyMap[13]);
value = value(dependencyMap[12], dependencyMap.paths);
Reflect.apply(openLazy, defaultImport, [value, 'QuestBottomSheet', {questId: quest.id, initialStep: step,
sourceQuestContent: sourceQuestContent}]);
}
value = importDefault(9354) /* metro dependency 9354: authorizeConnectionNative */;
value({platformType: a0.type, location: 'quests', onClose: openQuestBottomSheet});
function onConsoleSelect(a0) { // fn#104118, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13830:1891, owner: QuestBottomSheetConsoleConnect.onConsoleSelect, offset: 0x02286193, size: 871 bytes, params: 2, frame: 19
var value;
const AdAnalyticsInterfaceExperimentStep = (require(9519) /* metro dependency 9519: AdAnalyticsInterfaceExperiment */).AdAnalyticsInterfaceExperimentStep;
const QuestContent = (QuestTypesModule).QuestContent;
const QuestContentCTA = (AnalyticsTypesModule).QuestContentCTA;
const AdUserActionType = (CaptureAdUserActionTypesModule).AdUserActionType;
const AdCreativeType = (AdCreativeTypeModule).AdCreativeType;
var moduleValue3;
if (a0.account != null) {
value = environment.__proto__;
moduleValue3 = require(9519) /* metro dependency 9519: AdAnalyticsInterfaceExperiment */;
if (moduleValue3.shouldMigrateToAdAnalyticsInterface(AdAnalyticsInterfaceExperimentStep.STEP_2_CLICKED_INTERNAL,
'quest_bottom_sheet_console_connect')) {
(require(9517) /* metro dependency 9517: captureAdUserAction */).captureAdUserAction({type: AdUserActionType.CLICK_INTERNAL,
adCreativeType: AdCreativeType.QUEST, adCreativeId: quest.id,
questContentCTA: QuestContentCTA.VIEW_CONSOLE_CONNECTIONS, surfaceId: QuestContent.QUEST_BOTTOM_SHEET,
sourceQuestContent: sourceQuestContent, impressionId: env0_5});
} else {
env0_4({questId: quest.id, questContent: QuestContent.QUEST_BOTTOM_SHEET,
questContentCTA: QuestContentCTA.VIEW_CONSOLE_CONNECTIONS, sourceQuestContent: sourceQuestContent});
}
(importDefault(4080) /* metro dependency 4080: ActionSheetActionCreators */).hideActionSheet();
(require(7007) /* metro dependency 7007: openUserSettings */).openUserSettings({screen: UserSettingsSections.CONNECTIONS});
} else {
value = environment.__proto__;
var moduleValue = require(9519) /* metro dependency 9519: AdAnalyticsInterfaceExperiment */;
if (moduleValue.shouldMigrateToAdAnalyticsInterface(AdAnalyticsInterfaceExperimentStep.STEP_2_CLICKED_INTERNAL,
'quest_bottom_sheet_console_connect')) {
(require(9517) /* metro dependency 9517: captureAdUserAction */).captureAdUserAction({type: AdUserActionType.CLICK_INTERNAL,
adCreativeType: AdCreativeType.QUEST, adCreativeId: quest.id,
questContentCTA: QuestContentCTA.CONNECT_CONSOLE,
surfaceId: QuestContent.QUEST_BOTTOM_SHEET, sourceQuestContent: sourceQuestContent,
impressionId: env0_5});
} else {
env0_4({questId: quest.id, questContent: QuestContent.QUEST_BOTTOM_SHEET,
questContentCTA: QuestContentCTA.CONNECT_CONSOLE, sourceQuestContent: sourceQuestContent});
}
value = importDefault(9354) /* metro dependency 9354: authorizeConnectionNative */;
value({platformType: a0.type, location: 'quests', onClose: openQuestBottomSheet});
}
}
}
}
function _fun104115(a0) { // fn#104115, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13830:1632, offset: 0x022860ef, size: 47 bytes, params: 2, frame: 12
const env0_0 = a0;
const object2 = {type: a0};
object2.account = xboxAndPlaystationAccounts.find(_fun104116);
return object2;
}
global.__d(_fun104107, 13633, [31, 27, 661, 33, 697, 4501, 9483, 9949, 9513, 9520, 4080, 7007, 13591, 1962, 9519,
9517, 9518, 7121, 7120, 6531, 9354, 6231, 6238, 10162, 1244, 9986,
2]) /* metro module 13633, dependencies: [31, 27, 661, 33, 697, 4501, 9483, 9949, 9513, 9520, 4080, 7007, 13591, 1962, 9519, 9517, 9518, 7121, 7120, 6531, 9354, 6231, 6238, 10162, 1244, 9986, 2] */;
@@ -1,17 +1,44 @@
/* Metro module 13593; source: modules/quests/native/QuestBottomSheet/QuestBottomSheetFooter.tsx; dependencies: [57, 31, 27, 4502, 1878, 7093, 6276, 33, 697, 4501, 6531, 9483, 9500, 9505, 8461, 566, 3860, 5132, 9480, 13594, 4578, 9523, 9520, 13568, 9950, 13591, 8341, 1244, 5284, 9949, 9513, 13127, 9519, 9517, 9518, 7121, 7120, 1585, 1478, 4017, 4504, 4582, 2] */
import Module00057 from '../../../../by-id/module-00057.js'; /* Metro dependency 57 */
import Native from '../../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */
import UseWindowDimensionsNative from '../../../screen/useWindowDimensions.native.tsx'; /* Metro dependency 1478 */
import UseSafeAreaInsetsNative from '../../../safe_area/useSafeAreaInsets.native.tsx'; /* Metro dependency 1585 */
import UserStore from '../../../../stores/UserStore.tsx'; /* Metro dependency 1878 */
import ReanimatedRexport from '../../../reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */
import AccessibilityStore from '../../../a11y/AccessibilityStore.tsx'; /* Metro dependency 4502 */
import QuestStore from '../../QuestStore.tsx'; /* Metro dependency 7093 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
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 IndexNativeModule from '../../../../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as UseTokenModule from '../../../../design/tokens/native/useToken.tsx'; /* Metro dependency 3860 */
import * as ReanimatedRexportModule from '../../../reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */
import * as TimingModule from '../../../../design/animation/reanimated/timing/timing.tsx'; /* Metro dependency 4504 */
import * as ButtonNativeModule from '../../../../design/components/Button/native/Button.native.tsx'; /* Metro dependency 4578 */
import * as ButtonConstantsNativeModule from '../../../../design/components/Button/native/ButtonConstants.native.tsx'; /* Metro dependency 4582 */
import * as ActionSheetConstantsModule from '../../../action_sheet/native/ActionSheetConstants.tsx'; /* Metro dependency 6276 */
import * as QuestTypesModule from '../../QuestTypes.tsx'; /* Metro dependency 6531 */
import * as AnalyticsTypesModule from '../../lib/analytics/AnalyticsTypes.tsx'; /* Metro dependency 7120 */
import * as UseFetchCollectiblesProductModule from '../../../collectibles/hooks/useFetchCollectiblesProduct.tsx'; /* Metro dependency 8461 */
import * as QuestUtilsNativeModule from '../QuestUtils.native.tsx'; /* Metro dependency 9480 */
import * as QuestHooksModule from '../../hooks/QuestHooks.tsx'; /* Metro dependency 9483 */
import * as QuestRewardUtilsModule from '../../utils/QuestRewardUtils.tsx'; /* Metro dependency 9500 */
import * as ContentImpressionTrackerHooksModule from '../../lib/analytics/ContentImpressionTrackerHooks.tsx'; /* Metro dependency 9513 */
import * as AdAnalyticsInterfaceExperimentModule from '../../experiments/AdAnalyticsInterfaceExperiment.tsx'; /* Metro dependency 9519 */
import * as MobileQuestVideoWatchCtaCopyModule from '../../utils/MobileQuestVideoWatchCtaCopy.tsx'; /* Metro dependency 9523 */
import * as AnalyticsHooksModule from '../../lib/analytics/AnalyticsHooks.tsx'; /* Metro dependency 9949 */
import * as QuestCopyHooksModule from '../../hooks/QuestCopyHooks.tsx'; /* Metro dependency 9950 */
import * as RefreshIconModule from '../../../../design/components/Icon/native/redesign/generated/RefreshIcon.tsx'; /* Metro dependency 13127 */
import * as QuestHooksNativeModule from '../QuestHooks.native.tsx'; /* Metro dependency 13568 */
import * as QuestBottomSheetHooksModule from './QuestBottomSheetHooks.tsx'; /* Metro dependency 13594 */
function _fun103294(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#103294, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:6, offset: 0x02260909, size: 457 bytes, params: 8, frame: 22
const env0_0 = require;
const closure = useQuestRewardClaimHandler;
const useQuestRewardClaimHandler2 = useQuestRewardClaimHandler;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
const env0_5 = (require(27) /* metro dependency 27 */).View;
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
const questStore = importDefault(7093) /* metro dependency 7093: QuestStore */;
const env0_9 = (require(6276) /* metro dependency 6276: ActionSheetConstants */).ACTION_SHEET_MINIMUM_BOTTOM_PADDING;
let value = require(33) /* metro dependency 33 */;
let value = JsxRuntimeModule;
const env0_10 = value.jsx;
const env0_11 = value.jsxs;
let PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
@@ -22,368 +49,381 @@ function _fun103294(global, require, importDefault, importAll, module, exports,
paddingHorizontal: PX_16}}]);
object = {code: "function QuestBottomSheetFooterTsx1(){const{animation,H_PADDING_PX}=this.__closure;return{opacity:animation.get(),position:'absolute',top:0,left:0,transform:[{translateX:H_PADDING_PX}]};}"};
object = {code: "function QuestBottomSheetFooterTsx2(){const{interpolate,animation,windowWidth,H_PADDING_PX,ICON_SIZE_PX}=this.__closure;return{width:interpolate(animation.get(),[0,1],[windowWidth-H_PADDING_PX*2,windowWidth-H_PADDING_PX*2.5-ICON_SIZE_PX]),alignSelf:'flex-end'};}"};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/quests/native/QuestBottomSheet/QuestBottomSheetFooter.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/quests/native/QuestBottomSheet/QuestBottomSheetFooter.tsx');
exports.default = QuestBottomSheetFooter;
exports.useQuestRewardClaimHandler = closure;
}
function useQuestRewardClaimHandler({quest, hideActionSheet, questContent, onSuccess, sourceQuestContent}) { // fn#103295, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:375, offset: 0x02260ad2, size: 852 bytes, params: 2, frame: 32
var r13;
var styles;
hideActionSheet = hideActionSheet === undefined || hideActionSheet;
const r7 = questContent !== undefined ? questContent : (require(6531) /* metro dependency 6531: QuestTypes */).QuestContent.QUEST_BOTTOM_SHEET;
const env0_4 = sourceQuestContent;
const value5 = (require(9483) /* metro dependency 9483: QuestHooks */).useProgressState(quest);
const questRewardUtilsModule = require(9500) /* metro dependency 9500: QuestRewardUtils */;
const hasCollectiblesQuestReward2 = questRewardUtilsModule.hasCollectiblesQuestReward(quest.config);
let binding = env0_4;
const useMemo = binding.useMemo;
let object = [quest.config];
const value6 = Reflect.apply(useMemo, binding, [_fun103296, object]);
const useFetchCollectiblesProductModule = require(8461) /* metro dependency 8461: useFetchCollectiblesProduct */;
const useFetchCollectiblesProduct = useFetchCollectiblesProductModule.useFetchCollectiblesProduct;
const QuestProgressState = (require(9483) /* metro dependency 9483: QuestHooks */).QuestProgressState;
const COMPLETED = QuestProgressState.COMPLETED;
const {product, isFetching} = Reflect.apply(useFetchCollectiblesProduct, useFetchCollectiblesProductModule,
[value5 !== COMPLETED ? null : hasCollectiblesQuestReward2 ? value6 : null]);
const {isClaimingReward,
isFetchingRewardCode} = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([QuestStore],
function() {
var object = {};
var questBinding = quest;
object.isFetchingRewardCode = QuestStore.isFetchingRewardCode(questBinding.id);
object.isClaimingReward = QuestStore.isClaimingReward(questBinding.id);
return object;
});
const value10 = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], _fun103298);
const value11 = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], _fun103299);
const value12 = env0_4.useMemo(function() {
return isFetching || isFetchingRewardCode;
}, [isFetching, isFetchingRewardCode]);
const useTokenModule = require(3860) /* metro dependency 3860: useToken */;
let useToken = useTokenModule.useToken;
const BACKGROUND_BASE_LOWER = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOWER;
const value13 = Reflect.apply(useToken, useTokenModule, [BACKGROUND_BASE_LOWER]);
const moduleValue8 = useTokenModule;
useToken = moduleValue8.useToken;
const BACKGROUND_BASE_LOW = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOW;
const value14 = Reflect.apply(useToken, moduleValue8, [BACKGROUND_BASE_LOW]);
const moduleValue9 = useTokenModule;
useToken = moduleValue9.useToken;
const BACKGROUND_BASE_LOWEST = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOWEST;
if (product != null) {
object = {};
styles = product.styles;
r13 = styles?.buttonColors ?? [];
object.buttonColors = r13;
styles = product.styles;
r13 = styles?.confettiColors ?? [];
object.confettiColors = r13;
object.backgroundColors = [(importDefault(5132) /* metro dependency 5132 */)(value14),
(importDefault(5132) /* metro dependency 5132 */)(value13),
(importDefault(5132) /* metro dependency 5132 */)(Reflect.apply(useToken, moduleValue9,
[BACKGROUND_BASE_LOWEST]))];
product.styles = object;
}
binding = env0_4;
const useCallback = binding.useCallback;
return {isLoading: value12, isClaiming: isClaimingReward, claim: Reflect.apply(useCallback, binding, [_fun103301,
[quest, product, value10, value11, hideActionSheet, r7, onSuccess, sourceQuestContent]])};
}
function WatchTaskButton({questId, sourceQuestContent, taskDetails}) { // fn#103302, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:1915, offset: 0x02260f6b, size: 143 bytes, params: 2, frame: 19
const value2 = (require(13594) /* metro dependency 13594: QuestBottomSheetHooks */).useWatchTaskPressHandler({questId: questId,
sourceQuestContent: sourceQuestContent});
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
return (
<Button
grow
size="lg"
onPress={value2}
text={(require(9523) /* metro dependency 9523: MobileQuestVideoWatchCtaCopy */).getVideoQuestWatchCtaText(taskDetails)}
/>
);
}
function NextButton({onPress, disabled}) { // fn#103303, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:2167, offset: 0x02260ffa, size: 130 bytes, params: 2, frame: 18
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
return (
<Button
grow
size="lg"
onPress={onPress}
disabled={disabled}
text={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.a9OfTN)}
/>
);
}
function DefibButton({questId, loading, disabled, onPress, sourceQuestContent}) { // fn#103304, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:2323, offset: 0x0226107c, size: 269 bytes, params: 2, frame: 19
const env0_3 = (require(9949) /* metro dependency 9949: AnalyticsHooks */).useTrackQuestContentClickedWithImpression();
const env0_4 = (require(9513) /* metro dependency 9513: ContentImpressionTrackerHooks */).useQuestImpressionId();
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
const buttonProps = {'grow': true, 'size': 'lg', 'variant': 'secondary', loading: loading, disabled: disabled};
const RefreshIcon = (require(13127) /* metro dependency 13127: RefreshIcon */).RefreshIcon;
buttonProps.icon = <RefreshIcon />;
buttonProps.iconPosition = 'end';
buttonProps.onPress = onPress_103305;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
buttonProps.text = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.nPThNb);
return <Button {...buttonProps} />;
}
function ClaimButton({questId, disabled, loading, onPress, sourceQuestContent}) { // fn#103306, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:3279, offset: 0x02261300, size: 224 bytes, params: 2, frame: 18
const env0_3 = (require(9949) /* metro dependency 9949: AnalyticsHooks */).useTrackQuestContentClickedWithImpression();
const env0_4 = (require(9513) /* metro dependency 9513: ContentImpressionTrackerHooks */).useQuestImpressionId();
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
const buttonProps = {'grow': true, 'size': 'lg', disabled: disabled, loading: loading, onPress: onPress_103307};
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
buttonProps.text = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.cfY4PE);
return <Button {...buttonProps} />;
}
function AnimatedFooter({onLayout, ctaButton, backButton, style, withSafeArea}) { // fn#103308, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:4630, offset: 0x02261549, size: 618 bytes, params: 2, frame: 29
var object2;
withSafeArea = withSafeArea === undefined || withSafeArea;
const r16 = backButton != null && backButton !== false;
const bottom = (importDefault(1585) /* metro dependency 1585: useSafeAreaInsetsNative */)().bottom;
const styles = useStyles();
const width = (importDefault(1478) /* metro dependency 1478: useWindowDimensionsNative */)().width;
const value2 = (() => (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
_fun103310))();
const value5 = (require(4017) /* metro dependency 4017: ReanimatedRexport */).useSharedValue(r16 ? 1 : 0);
env0_4.useEffect(_fun103311, [r16, value2, value5]);
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
let useAnimatedStyle = reanimatedRexportModule.useAnimatedStyle;
let closure = AnimatedFooterY;
closure.__closure = {animation: value5, H_PADDING_PX: PX_16};
closure.__workletHash = 7564903336036;
closure.__initData = env0_14;
const value6 = Reflect.apply(useAnimatedStyle, reanimatedRexportModule, [closure]);
const moduleValue3 = reanimatedRexportModule;
useAnimatedStyle = moduleValue3.useAnimatedStyle;
closure = AnimatedFooterB;
object2 = {interpolate: reanimatedRexportModule.interpolate, animation: value5, windowWidth: width,
H_PADDING_PX: PX_16};
const LARGE_BUTTON_HEIGHT = (require(4582) /* metro dependency 4582: ButtonConstantsNative */).LARGE_BUTTON_HEIGHT;
object2.ICON_SIZE_PX = LARGE_BUTTON_HEIGHT;
closure.__closure = object2;
closure.__workletHash = 9095621288509;
closure.__initData = env0_15;
const value7 = Reflect.apply(useAnimatedStyle, moduleValue3, [closure]);
const Math = global.Math;
const value8 = Math.max(bottom, ACTION_SHEET_MINIMUM_BOTTOM_PADDING);
const items2 = [styles.container];
items2[1] = withSafeArea && ({paddingBottom: value8});
items2[2] = style;
const View2 = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View;
const view = <View2 style={value6}>{backButton}</View2>;
const View3 = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View;
return (
<View style={items2} onLayout={onLayout}>
{view}
<View3 style={value7}>
{ctaButton}
</View3>
</View>
);
}
function QuestBottomSheetFooter({quest, onLayout, step, isDefibrilating, onConnectConsoleNext, onBack, onDefib, style, withSafeArea, sourceQuestContent}) { // fn#103314, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:5820, offset: 0x02261934, size: 1145 bytes, params: 2, frame: 40
var r7;
var r0;
var value23;
var IconButton;
var intl;
isDefibrilating = !(isDefibrilating === undefined) && isDefibrilating;
const object2 = {quest: quest, sourceQuestContent: sourceQuestContent};
const value4 = useQuestRewardClaimHandler(object2);
const value5 = (require(9483) /* metro dependency 9483: QuestHooks */).useQuestTaskDetails(quest);
const value6 = (require(9483) /* metro dependency 9483: QuestHooks */).useIsQuestProgressing(quest);
const property = env0_3((require(9483) /* metro dependency 9483: QuestHooks */).useTaskPlatformScreen(quest,
value5), 1)[0];
const questHooksModule = require(9483) /* metro dependency 9483: QuestHooks */;
const useConnectedAccounts = questHooksModule.useConnectedAccounts;
const value9 = env0_4.useMemo(_fun103315, [quest, Reflect.apply(useConnectedAccounts, questHooksModule,
[]).xboxAndPlaystationAccounts]);
const value10 = (require(13568) /* metro dependency 13568: QuestHooksNative */).useHasWatchVideoOnMobileTasks(quest.config);
const {isMobileActivityQuest, launchMobileActivity,
questApplication} = (require(13568) /* metro dependency 13568: QuestHooksNative */).useMobileActivityQuest(quest);
const value12 = (require(9950) /* metro dependency 9950: QuestCopyHooks */).usePrimaryCtaCopy({quest: quest,
application: questApplication});
const value13 = (require(13594) /* metro dependency 13594: QuestBottomSheetHooks */).useMobileActivityPressHandler({questId: quest.id,
sourceQuestContent: sourceQuestContent, launchMobileActivity: launchMobileActivity});
let userStatus = quest.userStatus;
const value15 = userStatus?.completedAt != null;
userStatus = quest.userStatus;
const value16 = userStatus?.claimedAt != null;
const QuestBottomSheetStep = (require(13591) /* metro dependency 13591: QuestBottomSheet */).QuestBottomSheetStep;
const TASK_SELECT = QuestBottomSheetStep.TASK_SELECT;
if (step === TASK_SELECT) {
r0 = null;
} else {
var animatedFooterProps = {onLayout: onLayout,
ctaButton: (require(13591) /* metro dependency 13591: QuestBottomSheet */).QuestBottomSheetStep.CONSOLE_CONNECT === step ? <NextButton onPress={onConnectConsoleNext} disabled={value9.length === 0} /> : (require(13591) /* metro dependency 13591: QuestBottomSheet */).QuestBottomSheetStep.TASK_STATUS !== step ? null : value15 ? <ClaimButton questId={quest.id} onPress={value4.claim} disabled={value16} loading={value4.isLoading || value4.isClaiming} sourceQuestContent={sourceQuestContent} /> : value10 ? <WatchTaskButton questId={quest.id} taskDetails={value5} sourceQuestContent={sourceQuestContent} /> : isMobileActivityQuest ? ((Button) => <Button grow size="lg" onPress={value13} text={value12} icon={(require(9480) /* metro dependency 9480: QuestUtilsNative */).getPrimaryCtaIcon(quest)} />)((require(4578) /* metro dependency 4578: ButtonNative */).Button) : property !== (require(6531) /* metro dependency 6531: QuestTypes */).TaskPlatformScreen.CONSOLE || value6 ? <ClaimButton questId={quest.id} onPress={value4.claim} disabled sourceQuestContent={sourceQuestContent} /> : <DefibButton questId={quest.id} loading={isDefibrilating} disabled={isDefibrilating} onPress={onDefib} sourceQuestContent={sourceQuestContent} />};
value23 = onBack != null;
if (value23) {
IconButton = (require(8341) /* metro dependency 8341: IconButtonNative */).IconButton;
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
r7 = <IconButton accessibilityLabel={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['13/7kX'])} variant="secondary" icon={((ArrowLargeLeftIcon) => <ArrowLargeLeftIcon />)((require(5284) /* metro dependency 5284: ArrowLargeLeftIcon */).ArrowLargeLeftIcon)} onPress={onBack} size="lg" />;
} else {
r7 = value23;
exports.useQuestRewardClaimHandler = useQuestRewardClaimHandler2;
function useQuestRewardClaimHandler({quest, hideActionSheet, questContent, onSuccess, sourceQuestContent}) { // fn#103295, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:375, offset: 0x02260ad2, size: 852 bytes, params: 2, frame: 32
var r13;
var styles;
hideActionSheet = hideActionSheet === undefined || hideActionSheet;
const r7 = questContent !== undefined ? questContent : (require(6531) /* metro dependency 6531: QuestTypes */).QuestContent.QUEST_BOTTOM_SHEET;
const sourceQuestContent2 = sourceQuestContent;
const value5 = (QuestHooksModule).useProgressState(quest);
const hasCollectiblesQuestReward2 = QuestRewardUtilsModule.hasCollectiblesQuestReward(quest.config);
let binding = sourceQuestContent2;
const useMemo = binding.useMemo;
let object = [quest.config];
const value6 = Reflect.apply(useMemo, binding, [_fun103296, object]);
const useFetchCollectiblesProduct = UseFetchCollectiblesProductModule.useFetchCollectiblesProduct;
const QuestProgressState = (QuestHooksModule).QuestProgressState;
const COMPLETED = QuestProgressState.COMPLETED;
const {product, isFetching} = Reflect.apply(useFetchCollectiblesProduct, UseFetchCollectiblesProductModule,
[value5 !== COMPLETED ? null : hasCollectiblesQuestReward2 ? value6 : null]);
const {isClaimingReward,
isFetchingRewardCode} = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([QuestStore],
function() {
var object = {};
var questStoreBinding = QuestStore;
var questBinding = quest;
object.isFetchingRewardCode = questStoreBinding.isFetchingRewardCode(questBinding.id);
object.isClaimingReward = QuestStore.isClaimingReward(questBinding.id);
return object;
});
const value10 = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], _fun103298);
const value11 = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], _fun103299);
const value12 = sourceQuestContent2.useMemo(function() {
return isFetching || isFetchingRewardCode;
}, [isFetching, isFetchingRewardCode]);
let useToken = UseTokenModule.useToken;
const BACKGROUND_BASE_LOWER = (Native).colors.BACKGROUND_BASE_LOWER;
const value13 = Reflect.apply(useToken, UseTokenModule, [BACKGROUND_BASE_LOWER]);
useToken = UseTokenModule.useToken;
const BACKGROUND_BASE_LOW = (Native).colors.BACKGROUND_BASE_LOW;
const value14 = Reflect.apply(useToken, UseTokenModule, [BACKGROUND_BASE_LOW]);
useToken = UseTokenModule.useToken;
const BACKGROUND_BASE_LOWEST = (Native).colors.BACKGROUND_BASE_LOWEST;
if (product != null) {
object = {};
styles = product.styles;
r13 = styles?.buttonColors ?? [];
object.buttonColors = r13;
styles = product.styles;
r13 = styles?.confettiColors ?? [];
object.confettiColors = r13;
object.backgroundColors = [(importDefault(5132) /* metro dependency 5132 */)(value14),
(importDefault(5132) /* metro dependency 5132 */)(value13),
(importDefault(5132) /* metro dependency 5132 */)(Reflect.apply(useToken, UseTokenModule,
[BACKGROUND_BASE_LOWEST]))];
product.styles = object;
}
animatedFooterProps.backButton = r7;
animatedFooterProps.style = style;
animatedFooterProps.withSafeArea = withSafeArea;
r0 = <AnimatedFooter {...animatedFooterProps} />;
binding = sourceQuestContent2;
const useCallback = binding.useCallback;
return {isLoading: value12, isClaiming: isClaimingReward, claim: Reflect.apply(useCallback, binding, [_fun103301,
[quest, product, value10, value11, hideActionSheet, r7, onSuccess, sourceQuestContent]])};
function _fun103296() { // fn#103296, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:636, offset: 0x02260e26, size: 56 bytes, params: 1, frame: 11
let value = environment.__proto__;
value = require(9505) /* metro dependency 9505: QuestCopyUtils */;
const getDefaultReward = value.getDefaultReward;
return Reflect.apply(getDefaultReward, value, [quest.config]).skuId;
}
function _fun103298() { // fn#103298, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:1038, offset: 0x02260e9e, size: 39 bytes, params: 1, frame: 10
var r0;
let value = environment.__proto__;
value = UserStore.getCurrentUser();
if (value == null) {
r0 = undefined;
} else {
value = value.hasVerifiedEmailOrPhone();
r0 = value;
}
return r0;
}
function _fun103299() { // fn#103299, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:1158, offset: 0x02260ec5, size: 35 bytes, params: 1, frame: 10
const value = environment.__proto__;
return UserStore.getCurrentUser()?.verified;
}
function _fun103301() { // fn#103301, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:1701, offset: 0x02260ef8, size: 115 bytes, params: 1, frame: 13
const value = environment.__proto__;
return (QuestUtilsNativeModule).handleRewardClaimThenView({quest: quest,
product: product, hideActionSheet: hideActionSheet, questContent: env0_2,
currentUserHasVerifiedEmailOrPhone: env0_8, currentUserHasVerifiedEmail: ActionSheetConstantsModule.ACTION_SHEET_MINIMUM_BOTTOM_PADDING, onSuccess: onSuccess,
sourceQuestContent: sourceQuestContent});
}
}
return r0;
}
function _fun103296() { // fn#103296, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:636, offset: 0x02260e26, size: 56 bytes, params: 1, frame: 11
let value = environment.__proto__;
value = require(9505) /* metro dependency 9505: QuestCopyUtils */;
const getDefaultReward = value.getDefaultReward;
return Reflect.apply(getDefaultReward, value, [quest.config]).skuId;
}
function _fun103298() { // fn#103298, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:1038, offset: 0x02260e9e, size: 39 bytes, params: 1, frame: 10
var r0;
let value = environment.__proto__;
value = UserStore.getCurrentUser();
if (value == null) {
r0 = undefined;
} else {
value = value.hasVerifiedEmailOrPhone();
r0 = value;
function WatchTaskButton({questId, sourceQuestContent, taskDetails}) { // fn#103302, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:1915, offset: 0x02260f6b, size: 143 bytes, params: 2, frame: 19
const value2 = (QuestBottomSheetHooksModule).useWatchTaskPressHandler({questId: questId,
sourceQuestContent: sourceQuestContent});
const Button = (ButtonNativeModule).Button;
return (
<Button
grow
size="lg"
onPress={value2}
text={(MobileQuestVideoWatchCtaCopyModule).getVideoQuestWatchCtaText(taskDetails)}
/>
);
}
return r0;
}
function _fun103299() { // fn#103299, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:1158, offset: 0x02260ec5, size: 35 bytes, params: 1, frame: 10
const value = environment.__proto__;
return UserStore.getCurrentUser()?.verified;
}
function _fun103301() { // fn#103301, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:1701, offset: 0x02260ef8, size: 115 bytes, params: 1, frame: 13
const value = environment.__proto__;
return (require(9480) /* metro dependency 9480: QuestUtilsNative */).handleRewardClaimThenView({quest: quest,
product: product, hideActionSheet: hideActionSheet, questContent: env0_2,
currentUserHasVerifiedEmailOrPhone: env0_8, currentUserHasVerifiedEmail: env0_9, onSuccess: onSuccess,
sourceQuestContent: sourceQuestContent});
}
function DefibButtonOnPress(a0) { // fn#103305, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:2646, owner: DefibButton.onPress, offset: 0x02261189, size: 375 bytes, params: 2, 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_bottom_sheet_footer'])) {
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 = questId;
object2.questContentCTA = QuestContentCTA.DEFIBRILLATOR;
object2.surfaceId = QuestContent.QUEST_BOTTOM_SHEET;
object2.sourceQuestContent = sourceQuestContent;
object2.impressionId = env0_4;
Reflect.apply(captureAdUserAction, value, [object2]);
} else {
env0_3({questId: questId, questContent: QuestContent.QUEST_BOTTOM_SHEET,
questContentCTA: QuestContentCTA.DEFIBRILLATOR, sourceQuestContent: sourceQuestContent});
function NextButton({onPress, disabled}) { // fn#103303, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:2167, offset: 0x02260ffa, size: 130 bytes, params: 2, frame: 18
const Button = (ButtonNativeModule).Button;
const intl = (IndexNativeModule).intl;
return (
<Button
grow
size="lg"
onPress={onPress}
disabled={disabled}
text={intl.string((IndexNativeModule).t.a9OfTN)}
/>
);
}
if (onPress != null) {
onPress(a0);
function DefibButton({questId, loading, disabled, onPress, sourceQuestContent}) { // fn#103304, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:2323, offset: 0x0226107c, size: 269 bytes, params: 2, frame: 19
const env0_3 = (AnalyticsHooksModule).useTrackQuestContentClickedWithImpression();
const env0_4 = (ContentImpressionTrackerHooksModule).useQuestImpressionId();
const Button = (ButtonNativeModule).Button;
const buttonProps = {'grow': true, 'size': 'lg', 'variant': 'secondary', loading: loading, disabled: disabled};
const RefreshIcon = (RefreshIconModule).RefreshIcon;
buttonProps.icon = <RefreshIcon />;
buttonProps.iconPosition = 'end';
buttonProps.onPress = onPress_103305;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
buttonProps.text = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.nPThNb);
return <Button {...buttonProps} />;
function DefibButtonOnPress(a0) { // fn#103305, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:2646, owner: DefibButton.onPress, offset: 0x02261189, size: 375 bytes, params: 2, 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_bottom_sheet_footer'])) {
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 = questId;
object.questContentCTA = QuestContentCTA.DEFIBRILLATOR;
object.surfaceId = QuestContent.QUEST_BOTTOM_SHEET;
object.sourceQuestContent = sourceQuestContent;
object.impressionId = env0_4;
Reflect.apply(captureAdUserAction, value, [object]);
} else {
env0_3({questId: questId, questContent: QuestContent.QUEST_BOTTOM_SHEET,
questContentCTA: QuestContentCTA.DEFIBRILLATOR, sourceQuestContent: sourceQuestContent});
}
if (onPress != null) {
onPress(a0);
}
}
}
}
function ClaimButtonOnPress() { // fn#103307, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:3531, owner: ClaimButton.onPress, offset: 0x022613e0, size: 361 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_bottom_sheet_footer'])) {
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 = questId;
object2.questContentCTA = QuestContentCTA.CLAIM_REWARD;
object2.surfaceId = QuestContent.QUEST_BOTTOM_SHEET;
object2.sourceQuestContent = sourceQuestContent;
object2.impressionId = env0_4;
Reflect.apply(captureAdUserAction, value, [object2]);
} else {
env0_3({questId: questId, questContent: QuestContent.QUEST_BOTTOM_SHEET,
questContentCTA: QuestContentCTA.CLAIM_REWARD, sourceQuestContent: sourceQuestContent});
function ClaimButton({questId, disabled, loading, onPress, sourceQuestContent}) { // fn#103306, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:3279, offset: 0x02261300, size: 224 bytes, params: 2, frame: 18
const env0_3 = (AnalyticsHooksModule).useTrackQuestContentClickedWithImpression();
const env0_4 = (ContentImpressionTrackerHooksModule).useQuestImpressionId();
const Button = (ButtonNativeModule).Button;
const buttonProps = {'grow': true, 'size': 'lg', disabled: disabled, loading: loading, onPress: onPress_103307};
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
buttonProps.text = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.cfY4PE);
return <Button {...buttonProps} />;
function ClaimButtonOnPress() { // fn#103307, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:3531, owner: ClaimButton.onPress, offset: 0x022613e0, size: 361 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_bottom_sheet_footer'])) {
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 = questId;
object.questContentCTA = QuestContentCTA.CLAIM_REWARD;
object.surfaceId = QuestContent.QUEST_BOTTOM_SHEET;
object.sourceQuestContent = sourceQuestContent;
object.impressionId = env0_4;
Reflect.apply(captureAdUserAction, value, [object]);
} else {
env0_3({questId: questId, questContent: QuestContent.QUEST_BOTTOM_SHEET,
questContentCTA: QuestContentCTA.CLAIM_REWARD, sourceQuestContent: sourceQuestContent});
}
onPress();
}
}
onPress();
}
function AnimatedFooterUseReducedMotion() { // fn#103309, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:4788, owner: AnimatedFooter.useReducedMotion, offset: 0x022617b3, size: 59 bytes, params: 1, frame: 13
return (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore], function() {
return AccessibilityStore.useReducedMotion;
});
}
function _fun103311() { // fn#103311, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:4930, offset: 0x022617fd, size: 85 bytes, params: 1, frame: 19
const binding = env0_3;
const set = binding.set;
const timingModule = require(4504) /* metro dependency 4504: timing */;
const withTiming = timingModule.withTiming;
const value3 = 0;
Reflect.apply(set, binding, [Reflect.apply(withTiming, timingModule, [env0_0 ? 1 : value3,
{duration: env0_2 ? value3 : 200}])]);
}
function AnimatedFooterY() { // fn#103312, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:5039, owner: AnimatedFooter.y, offset: 0x02261852, size: 64 bytes, params: 1, frame: 10
const object2 = {'opacity': null, 'position': 'absolute', 'top': 0, 'left': 0};
object2.opacity = env0_3.get();
object2.transform = [{translateX: PX_16}];
return object2;
}
function AnimatedFooterB() { // fn#103313, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:5244, owner: AnimatedFooter.B, offset: 0x02261892, size: 162 bytes, params: 1, frame: 22
let value = environment.__proto__;
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
const interpolate = reanimatedRexportModule.interpolate;
const value3 = env0_3.get();
const items2 = [width - 2 * PX_16];
value = width - 2.5 * PX_16;
const LARGE_BUTTON_HEIGHT = (require(4582) /* metro dependency 4582: ButtonConstantsNative */).LARGE_BUTTON_HEIGHT;
items2[1] = value - LARGE_BUTTON_HEIGHT;
return {width: Reflect.apply(interpolate, reanimatedRexportModule, [value3, [0, 1], items2]), alignSelf: 'flex-end'};
}
function _fun103315() { // fn#103315, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:6251, offset: 0x02261dad, size: 64 bytes, params: 1, frame: 11
var environment;
let value = environment.__proto__;
value = Reflect.apply((require(9520) /* metro dependency 9520: QuestPlatformUtils */).supportedConsoles, value,
[quest]);
return value.filter(function(a0) {
var env0_0 = a0;
return xboxAndPlaystationAccounts.find(_fun103317);
});
}
function _fun103316(a0) { // fn#103316, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:6293, offset: 0x02261ded, size: 36 bytes, params: 2, frame: 11
const env0_0 = a0;
return xboxAndPlaystationAccounts.find(_fun103317);
function AnimatedFooter({onLayout, ctaButton, backButton, style, withSafeArea}) { // fn#103308, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:4630, offset: 0x02261549, size: 618 bytes, params: 2, frame: 29
withSafeArea = withSafeArea === undefined || withSafeArea;
const r16 = backButton != null && backButton !== false;
const bottom = (UseSafeAreaInsetsNative)().bottom;
const styles = useStyles();
const width = (UseWindowDimensionsNative)().width;
const value2 = (() => (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
_fun103310))();
const value5 = (require(4017) /* metro dependency 4017: ReanimatedRexport */).useSharedValue(r16 ? 1 : 0);
ReactModule.useEffect(_fun103311, [r16, value2, value5]);
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
let useAnimatedStyle = reanimatedRexportModule.useAnimatedStyle;
let closure = AnimatedFooterY;
closure.__closure = {animation: value5, H_PADDING_PX: PX_16};
closure.__workletHash = 7564903336036;
closure.__initData = env0_14;
const value6 = Reflect.apply(useAnimatedStyle, reanimatedRexportModule, [closure]);
const moduleValue3 = reanimatedRexportModule;
useAnimatedStyle = moduleValue3.useAnimatedStyle;
closure = AnimatedFooterB;
object = {interpolate: reanimatedRexportModule.interpolate, animation: value5, windowWidth: width,
H_PADDING_PX: PX_16};
const LARGE_BUTTON_HEIGHT = (ButtonConstantsNativeModule).LARGE_BUTTON_HEIGHT;
object.ICON_SIZE_PX = LARGE_BUTTON_HEIGHT;
closure.__closure = object;
closure.__workletHash = 9095621288509;
closure.__initData = env0_15;
const value7 = Reflect.apply(useAnimatedStyle, moduleValue3, [closure]);
const Math = global.Math;
const value8 = Math.max(bottom, ACTION_SHEET_MINIMUM_BOTTOM_PADDING);
const items2 = [styles.container];
items2[1] = withSafeArea && ({paddingBottom: value8});
items2[2] = style;
const View2 = (ReanimatedRexport).View;
const view = (
<View2 style={value6}>
{backButton}
</View2>
);
const View3 = (ReanimatedRexport).View;
return (
<View style={items2} onLayout={onLayout}>
{view}
<View3 style={value7}>
{ctaButton}
</View3>
</View>
);
function AnimatedFooterUseReducedMotion() { // fn#103309, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:4788, owner: AnimatedFooter.useReducedMotion, offset: 0x022617b3, size: 59 bytes, params: 1, frame: 13
return (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore], function() {
return AccessibilityStore.useReducedMotion;
});
function _fun103310() { // fn#103310, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:4856, offset: 0x022617ee, size: 15 bytes, params: 1, frame: 1
return AccessibilityStore.useReducedMotion;
}
}
function _fun103311() { // fn#103311, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:4930, offset: 0x022617fd, size: 85 bytes, params: 1, frame: 19
const set = Module00057.set;
const withTiming = TimingModule.withTiming;
const value3 = 0;
Reflect.apply(set, Module00057, [Reflect.apply(withTiming, TimingModule, [env0_0 ? 1 : value3,
{duration: env0_2 ? value3 : 200}])]);
}
function AnimatedFooterY() { // fn#103312, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:5039, owner: AnimatedFooter.y, offset: 0x02261852, size: 64 bytes, params: 1, frame: 10
const object = {'opacity': null, 'position': 'absolute', 'top': 0, 'left': 0};
object.opacity = Module00057.get();
object.transform = [{translateX: PX_16}];
return object;
}
function AnimatedFooterB() { // fn#103313, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:5244, owner: AnimatedFooter.B, offset: 0x02261892, size: 162 bytes, params: 1, frame: 22
let value = environment.__proto__;
const interpolate = ReanimatedRexportModule.interpolate;
const value3 = Module00057.get();
const items2 = [width - 2 * PX_16];
value = width - 2.5 * PX_16;
const LARGE_BUTTON_HEIGHT = (ButtonConstantsNativeModule).LARGE_BUTTON_HEIGHT;
items2[1] = value - LARGE_BUTTON_HEIGHT;
return {width: Reflect.apply(interpolate, ReanimatedRexportModule, [value3, [0, 1], items2]), alignSelf: 'flex-end'};
}
}
function QuestBottomSheetFooter({quest, onLayout, step, isDefibrilating, onConnectConsoleNext, onBack, onDefib, style, withSafeArea, sourceQuestContent}) { // fn#103314, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:5820, offset: 0x02261934, size: 1145 bytes, params: 2, frame: 40
var r7;
var r0;
var value23;
var IconButton;
var intl;
isDefibrilating = !(isDefibrilating === undefined) && isDefibrilating;
const object = {quest: quest, sourceQuestContent: sourceQuestContent};
const value4 = useQuestRewardClaimHandler(object);
const value5 = (QuestHooksModule).useQuestTaskDetails(quest);
const value6 = (QuestHooksModule).useIsQuestProgressing(quest);
const property = Module00057((QuestHooksModule).useTaskPlatformScreen(quest,
value5), 1)[0];
const useConnectedAccounts = QuestHooksModule.useConnectedAccounts;
const value9 = ReactModule.useMemo(_fun103315, [quest, Reflect.apply(useConnectedAccounts, QuestHooksModule,
[]).xboxAndPlaystationAccounts]);
const value10 = (QuestHooksNativeModule).useHasWatchVideoOnMobileTasks(quest.config);
const {isMobileActivityQuest, launchMobileActivity,
questApplication} = (QuestHooksNativeModule).useMobileActivityQuest(quest);
const value12 = (QuestCopyHooksModule).usePrimaryCtaCopy({quest: quest,
application: questApplication});
const value13 = (QuestBottomSheetHooksModule).useMobileActivityPressHandler({questId: quest.id,
sourceQuestContent: sourceQuestContent, launchMobileActivity: launchMobileActivity});
let userStatus = quest.userStatus;
const value15 = userStatus?.completedAt != null;
userStatus = quest.userStatus;
const value16 = userStatus?.claimedAt != null;
const QuestBottomSheetStep = (require(13591) /* metro dependency 13591: QuestBottomSheet */).QuestBottomSheetStep;
const TASK_SELECT = QuestBottomSheetStep.TASK_SELECT;
if (step === TASK_SELECT) {
r0 = null;
} else {
var animatedFooterProps = {onLayout: onLayout,
ctaButton: (require(13591) /* metro dependency 13591: QuestBottomSheet */).QuestBottomSheetStep.CONSOLE_CONNECT === step ? <NextButton onPress={onConnectConsoleNext} disabled={value9.length === 0} /> : (require(13591) /* metro dependency 13591: QuestBottomSheet */).QuestBottomSheetStep.TASK_STATUS !== step ? null : value15 ? <ClaimButton questId={quest.id} onPress={value4.claim} disabled={value16} loading={value4.isLoading || value4.isClaiming} sourceQuestContent={sourceQuestContent} /> : value10 ? <WatchTaskButton questId={quest.id} taskDetails={value5} sourceQuestContent={sourceQuestContent} /> : isMobileActivityQuest ? ((Button) => <Button grow size="lg" onPress={value13} text={value12} icon={(require(9480) /* metro dependency 9480: QuestUtilsNative */).getPrimaryCtaIcon(quest)} />)((require(4578) /* metro dependency 4578: ButtonNative */).Button) : property !== (require(6531) /* metro dependency 6531: QuestTypes */).TaskPlatformScreen.CONSOLE || value6 ? <ClaimButton questId={quest.id} onPress={value4.claim} disabled sourceQuestContent={sourceQuestContent} /> : <DefibButton questId={quest.id} loading={isDefibrilating} disabled={isDefibrilating} onPress={onDefib} sourceQuestContent={sourceQuestContent} />};
value23 = onBack != null;
if (value23) {
IconButton = (require(8341) /* metro dependency 8341: IconButtonNative */).IconButton;
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
r7 = (
<IconButton
accessibilityLabel={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['13/7kX'])}
variant="secondary"
icon={((ArrowLargeLeftIcon) => <ArrowLargeLeftIcon />)((require(5284) /* metro dependency 5284: ArrowLargeLeftIcon */).ArrowLargeLeftIcon)}
onPress={onBack}
size="lg"
/>
);
} else {
r7 = value23;
}
animatedFooterProps.backButton = r7;
animatedFooterProps.style = style;
animatedFooterProps.withSafeArea = withSafeArea;
r0 = <AnimatedFooter {...animatedFooterProps} />;
}
return r0;
function _fun103315() { // fn#103315, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:6251, offset: 0x02261dad, size: 64 bytes, params: 1, frame: 11
var environment;
let value = environment.__proto__;
value = Reflect.apply((require(9520) /* metro dependency 9520: QuestPlatformUtils */).supportedConsoles, value,
[quest]);
return value.filter(function(a0) {
var env0_0 = a0;
return xboxAndPlaystationAccounts.find(_fun103317);
});
function _fun103316(a0) { // fn#103316, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:6293, offset: 0x02261ded, size: 36 bytes, params: 2, frame: 11
const env0_0 = a0;
return xboxAndPlaystationAccounts.find(_fun103317);
function _fun103317({type}) { // fn#103317, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13783:6304, offset: 0x0108b18c, size: 21 bytes, params: 2, frame: 2
return type === env0_0;
}
}
}
}
}
global.__d(_fun103294, 13593, [57, 31, 27, 4502, 1878, 7093, 6276, 33, 697, 4501, 6531, 9483, 9500, 9505, 8461, 566,
3860, 5132, 9480, 13594, 4578, 9523, 9520, 13568, 9950, 13591, 8341, 1244, 5284, 9949, 9513, 13127, 9519, 9517,
9518, 7121, 7120, 1585, 1478, 4017, 4504, 4582,
2]) /* metro module 13593, dependencies: [57, 31, 27, 4502, 1878, 7093, 6276, 33, 697, 4501, 6531, 9483, 9500, 9505, 8461, 566, 3860, 5132, 9480, 13594, 4578, 9523, 9520, 13568, 9950, 13591, 8341, 1244, 5284, 9949, 9513, 13127, 9519, 9517, 9518, 7121, 7120, 1585, 1478, 4017, 4504, 4582, 2] */;
@@ -1,149 +1,170 @@
/* Metro module 13592; source: modules/quests/native/QuestBottomSheet/QuestBottomSheetHeader.tsx; dependencies: [57, 31, 27, 1878, 33, 4501, 697, 9483, 7116, 13568, 566, 9500, 7114, 1244, 13591, 6531, 13569, 4559, 4570, 4573, 5278, 8638, 2] */
import Module00057 from '../../../../by-id/module-00057.js'; /* Metro dependency 57 */
import UserStore from '../../../../stores/UserStore.tsx'; /* Metro dependency 1878 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
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 IndexNativeModule from '../../../../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as UseIsScreenReaderEnabledNativeModule from '../../../a11y/native/useIsScreenReaderEnabled.native.tsx'; /* Metro dependency 4559 */
import * as QuestTaskUtilsModule from '../../utils/QuestTaskUtils.tsx'; /* Metro dependency 7116 */
import * as QuestHooksModule from '../../hooks/QuestHooks.tsx'; /* Metro dependency 9483 */
import * as QuestRewardUtilsModule from '../../utils/QuestRewardUtils.tsx'; /* Metro dependency 9500 */
import * as QuestHooksNativeModule from '../QuestHooks.native.tsx'; /* Metro dependency 13568 */
import * as QuestDockHooksModule from '../QuestDock/QuestDockHooks.tsx'; /* Metro dependency 13569 */
import * as QuestBottomSheetModule from './QuestBottomSheet.tsx'; /* Metro dependency 13591 */
function _fun103287(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#103287, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13782:6, offset: 0x0225ffd8, size: 390 bytes, params: 8, frame: 22
var object3;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
const env0_5 = (require(27) /* metro dependency 27 */).View;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
let value = require(33) /* metro dependency 33 */;
let value = JsxRuntimeModule;
const env0_7 = value.jsx;
const env0_8 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object3 = {};
const object4 = {'display': 'flex', 'gap': 6};
object = {};
const object2 = {'display': 'flex', 'gap': 6};
const PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object4.paddingHorizontal = PX_16;
object2.paddingHorizontal = PX_16;
let PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object4.paddingTop = PX_8;
object3.container = object4;
object2.paddingTop = PX_8;
object.container = object2;
PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object3.containerWithActionSheet = {'alignItems': 'center', 'flexDirection': 'row', paddingHorizontal: PX_8};
object3.title = {textAlign: 'center'};
object3.titleWithActionSheet = {'textAlign': 'left', 'flex': 1};
object3.actionSheetButton = {'flexGrow': 0, 'flexShrink': 0};
const env0_9 = Reflect.apply(createStyles, value, [object3]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/quests/native/QuestBottomSheet/QuestBottomSheetHeader.tsx');
object.containerWithActionSheet = {'alignItems': 'center', 'flexDirection': 'row', paddingHorizontal: PX_8};
object.title = {textAlign: 'center'};
object.titleWithActionSheet = {'textAlign': 'left', 'flex': 1};
object.actionSheetButton = {'flexGrow': 0, 'flexShrink': 0};
const env0_9 = Reflect.apply(createStyles, value, [object]);
(FileImportTrackerModule).fileFinishedImporting('modules/quests/native/QuestBottomSheet/QuestBottomSheetHeader.tsx');
exports.default = QuestBottomSheetHeader;
}
function QuestBottomSheetHeader({quest, step, withActionSheet, location}) { // fn#103288, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13782:627, offset: 0x0226015e, size: 530 bytes, params: 2, frame: 26
var r5;
var PressableOpacity;
var intl;
withActionSheet = !(withActionSheet === undefined) && withActionSheet;
const styles = useStyles();
const value2 = (require(13569) /* metro dependency 13569: QuestDockHooks */).useActionSheetPressHandler(quest);
const value3 = useHeaderCopy({quest: quest, step: step, location: location});
const value4 = (require(4559) /* metro dependency 4559: useIsScreenReaderEnabledNative */).useIsScreenReaderEnabled();
const binding = env0_4;
const value5 = binding.useRef(null);
binding.useEffect(_fun103293, [value4]);
const items2 = [styles.container];
items2[1] = withActionSheet && styles.containerWithActionSheet;
const r6 = value3 != null && ((Text) => <Text ref={value5} variant="redesign/heading-18/bold" color="mobile-text-heading-primary" accessibilityRole="header" style={[styles.title,
withActionSheet && styles.titleWithActionSheet]}>{value3}</Text>)((require(4573) /* metro dependency 4573: Text */).Text);
if (withActionSheet) {
PressableOpacity = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity;
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
r5 = <PressableOpacity accessibilityRole="button" accessibilityLabel={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['UKOtz+'])} onPress={value2} style={styles.actionSheetButton}>{((MoreHorizontalIcon) => <MoreHorizontalIcon color={(importDefault(697) /* metro dependency 697: native */).colors.INTERACTIVE_TEXT_DEFAULT} />)((require(8638) /* metro dependency 8638: MoreHorizontalIcon */).MoreHorizontalIcon)}</PressableOpacity>;
} else {
r5 = withActionSheet;
}
return (
<View style={items2}>
{r6}
{r5}
</View>
);
}
function useHeaderCopy({quest, step}) { // fn#103289, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13782:762, owner: QuestBottomSheetHeader.useHeaderCopy, offset: 0x02260370, size: 507 bytes, params: 2, frame: 28
let value = undefined;
const userStatus = quest.userStatus;
const value2 = (userStatus == null ? value : userStatus.completedAt) != null;
const gameTitle = quest.config.messages.gameTitle;
const value4 = (require(9483) /* metro dependency 9483: QuestHooks */).useQuestTaskDetails(quest);
const hasWatchVideoTasks2 = (require(7116) /* metro dependency 7116: QuestTaskUtils */).hasWatchVideoTasks(quest);
const isInGameQuest2 = (require(7116) /* metro dependency 7116: QuestTaskUtils */).isInGameQuest(quest);
const property = env1_3((require(9483) /* metro dependency 9483: QuestHooks */).useTaskPlatformScreen(quest,
value4), 1)[0];
const targetMinutes = value4.targetMinutes;
const binding = env1_4;
const value7 = binding.useMemo(_fun103290, [quest]);
const value8 = (require(13568) /* metro dependency 13568: QuestHooksNative */).useHasWatchVideoOnMobileTasks(quest.config);
const currentUser = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() {
return UserStore.getCurrentUser();
});
const defaultRewardNameWithArticle = (require(9500) /* metro dependency 9500: QuestRewardUtils */).getDefaultRewardNameWithArticle(quest.config,
currentUser);
value = require(7114) /* metro dependency 7114: QuestUtils */;
value = value.isSponsoredPlayQuest(quest);
return binding.useMemo(_fun103292, [value2, hasWatchVideoTasks2, step, property, value7, gameTitle,
defaultRewardNameWithArticle, targetMinutes, value8, isInGameQuest2, value, quest.config]);
}
function _fun103293() { // fn#103293, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13782:2327, offset: 0x022608b3, size: 86 bytes, params: 1, frame: 12
var value3;
var moduleValue;
if (env0_0 && env0_1.current != null) {
value3 = environment.__proto__;
moduleValue = require(4570) /* metro dependency 4570: setAccessibilityFocusAndroid */;
moduleValue.setAccessibilityFocus({ref: env0_1, delay: 100});
}
}
function _fun103290() { // fn#103290, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13782:1065, offset: 0x0226056b, size: 52 bytes, params: 1, frame: 12
const value = environment.__proto__.__proto__;
return (require(7116) /* metro dependency 7116: QuestTaskUtils */).hasStreamOnDesktopTask({quest: quest});
}
function _fun103292() { // fn#103292, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13782:1335, offset: 0x0226059f, size: 788 bytes, params: 1, frame: 19
var value2;
var moduleValue;
var value3;
var stepBinding;
var value4;
var binding;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var formatToPlainString;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
var value5;
var value;
if (env0_2) {
value = environment.__proto__.__proto__;
return intl.string(t['ij5E/5']);
}
if (env0_4) {
binding = env0_9;
value5 = environment.__proto__.__proto__;
formatToPlainString = intl.formatToPlainString;
return binding ? Reflect.apply(formatToPlainString, intl, [t.ttFsLj,
{reward: env0_10}]) : Reflect.apply(formatToPlainString, intl, [t.IpoqqA, {questReward: env0_10}]);
}
if (env0_5) {
value2 = environment.__proto__.__proto__;
moduleValue = require(7116) /* metro dependency 7116: QuestTaskUtils */;
value3 = moduleValue.getDefaultInGameTask(quest.config);
if (value3 != null) {
return value3.messages.taskDescription;
function QuestBottomSheetHeader({quest, step, withActionSheet, location}) { // fn#103288, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13782:627, offset: 0x0226015e, size: 530 bytes, params: 2, frame: 26
var r5;
var PressableOpacity;
var intl;
withActionSheet = !(withActionSheet === undefined) && withActionSheet;
const styles = useStyles();
const value2 = (QuestDockHooksModule).useActionSheetPressHandler(quest);
const value3 = useHeaderCopy({quest: quest, step: step, location: location});
const value4 = (UseIsScreenReaderEnabledNativeModule).useIsScreenReaderEnabled();
const value5 = ReactModule.useRef(null);
ReactModule.useEffect(_fun103293, [value4]);
const items2 = [styles.container];
items2[1] = withActionSheet && styles.containerWithActionSheet;
const r6 = value3 != null && ((Text) => <Text ref={value5} variant="redesign/heading-18/bold" color="mobile-text-heading-primary" accessibilityRole="header" style={[styles.title,
withActionSheet && styles.titleWithActionSheet]}>{value3}</Text>)((require(4573) /* metro dependency 4573: Text */).Text);
if (withActionSheet) {
PressableOpacity = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity;
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
r5 = (
<PressableOpacity
accessibilityRole="button"
accessibilityLabel={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['UKOtz+'])}
onPress={value2}
style={styles.actionSheetButton}
>
{((MoreHorizontalIcon) => <MoreHorizontalIcon color={(importDefault(697) /* metro dependency 697: native */).colors.INTERACTIVE_TEXT_DEFAULT} />)((require(8638) /* metro dependency 8638: MoreHorizontalIcon */).MoreHorizontalIcon)}
</PressableOpacity>
);
} else {
r5 = withActionSheet;
}
stepBinding = step;
value4 = environment.__proto__.__proto__;
} else {
stepBinding = step;
return (
<View style={items2}>
{r6}
{r5}
</View>
);
function useHeaderCopy({quest, step}) { // fn#103289, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13782:762, owner: QuestBottomSheetHeader.useHeaderCopy, offset: 0x02260370, size: 507 bytes, params: 2, frame: 28
let value = undefined;
const userStatus = quest.userStatus;
const value2 = (userStatus == null ? value : userStatus.completedAt) != null;
const gameTitle = quest.config.messages.gameTitle;
const value4 = (QuestHooksModule).useQuestTaskDetails(quest);
const hasWatchVideoTasks2 = (QuestTaskUtilsModule).hasWatchVideoTasks(quest);
const isInGameQuest2 = (QuestTaskUtilsModule).isInGameQuest(quest);
const property = env1_3((QuestHooksModule).useTaskPlatformScreen(quest,
value4), 1)[0];
const targetMinutes = value4.targetMinutes;
const binding = env1_4;
const value7 = binding.useMemo(_fun103290, [quest]);
const value8 = (QuestHooksNativeModule).useHasWatchVideoOnMobileTasks(quest.config);
const currentUser = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() {
return UserStore.getCurrentUser();
});
const defaultRewardNameWithArticle = (QuestRewardUtilsModule).getDefaultRewardNameWithArticle(quest.config,
currentUser);
value = require(7114) /* metro dependency 7114: QuestUtils */;
value = value.isSponsoredPlayQuest(quest);
return binding.useMemo(_fun103292, [value2, hasWatchVideoTasks2, step, property, value7, gameTitle,
defaultRewardNameWithArticle, targetMinutes, value8, isInGameQuest2, value, quest.config]);
function _fun103290() { // fn#103290, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13782:1065, offset: 0x0226056b, size: 52 bytes, params: 1, frame: 12
const value = environment.__proto__.__proto__;
return (QuestTaskUtilsModule).hasStreamOnDesktopTask({quest: quest});
}
function _fun103292() { // fn#103292, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13782:1335, offset: 0x0226059f, size: 788 bytes, params: 1, frame: 19
var value2;
var moduleValue;
var value3;
var stepBinding;
var value4;
var binding;
const intl = (IndexNativeModule).intl;
var formatToPlainString;
const t = (IndexNativeModule).t;
var value5;
var value;
if (env0_2) {
value = environment.__proto__.__proto__;
return intl.string(t['ij5E/5']);
}
if (ReactModule) {
binding = env0_9;
value5 = environment.__proto__.__proto__;
formatToPlainString = intl.formatToPlainString;
return binding ? Reflect.apply(formatToPlainString, intl, [t.ttFsLj,
{reward: env0_10}]) : Reflect.apply(formatToPlainString, intl, [t.IpoqqA, {questReward: env0_10}]);
}
if (ReactNativeModule.View) {
value2 = environment.__proto__.__proto__;
moduleValue = require(7116) /* metro dependency 7116: QuestTaskUtils */;
value3 = moduleValue.getDefaultInGameTask(quest.config);
if (value3 != null) {
return value3.messages.taskDescription;
}
stepBinding = step;
value4 = environment.__proto__.__proto__;
} else {
stepBinding = step;
}
const QuestBottomSheetStep = (QuestBottomSheetModule).QuestBottomSheetStep;
const TASK_SELECT = QuestBottomSheetStep.TASK_SELECT;
return stepBinding === TASK_SELECT ? intl.string(t.drVw4T) : step === QuestBottomSheetStep.CONSOLE_CONNECT ? intl.string(t.svdwbA) : env0_11 ? intl.formatToPlainString(t['2GJLK2'],
{targetMinutes: targetMinutes,
rewardNameWithArticle: env0_10}) : env0_6 !== (require(6531) /* metro dependency 6531: QuestTypes */).TaskPlatformScreen.DESKTOP ? intl.formatToPlainString(t.NIimTt,
{gameTitle: gameTitle, rewardNameWithArticle: env0_10,
targetMinutes: targetMinutes}) : env0_8 ? intl.formatToPlainString(t['hkJ+Gs'], {gameTitle: gameTitle,
questReward: env0_10, streamingDurationRequirement: targetMinutes}) : intl.formatToPlainString(t.NIimTt,
{gameTitle: gameTitle, rewardNameWithArticle: env0_10, targetMinutes: targetMinutes});
}
}
function _fun103293() { // fn#103293, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13782:2327, offset: 0x022608b3, size: 86 bytes, params: 1, frame: 12
var value3;
var moduleValue;
if (env0_0 && env0_1.current != null) {
value3 = environment.__proto__;
moduleValue = require(4570) /* metro dependency 4570: setAccessibilityFocusAndroid */;
moduleValue.setAccessibilityFocus({ref: env0_1, delay: 100});
}
}
}
const QuestBottomSheetStep = (require(13591) /* metro dependency 13591: QuestBottomSheet */).QuestBottomSheetStep;
const TASK_SELECT = QuestBottomSheetStep.TASK_SELECT;
return stepBinding === TASK_SELECT ? intl.string(t.drVw4T) : step === QuestBottomSheetStep.CONSOLE_CONNECT ? intl.string(t.svdwbA) : env0_11 ? intl.formatToPlainString(t['2GJLK2'],
{targetMinutes: targetMinutes,
rewardNameWithArticle: env0_10}) : env0_6 !== (require(6531) /* metro dependency 6531: QuestTypes */).TaskPlatformScreen.DESKTOP ? intl.formatToPlainString(t.NIimTt,
{gameTitle: gameTitle, rewardNameWithArticle: env0_10,
targetMinutes: targetMinutes}) : env0_8 ? intl.formatToPlainString(t['hkJ+Gs'], {gameTitle: gameTitle,
questReward: env0_10, streamingDurationRequirement: targetMinutes}) : intl.formatToPlainString(t.NIimTt,
{gameTitle: gameTitle, rewardNameWithArticle: env0_10, targetMinutes: targetMinutes});
}
global.__d(_fun103287, 13592, [57, 31, 27, 1878, 33, 4501, 697, 9483, 7116, 13568, 566, 9500, 7114, 1244, 13591,
6531, 13569, 4559, 4570, 4573, 5278, 8638,
2]) /* metro module 13592, dependencies: [57, 31, 27, 1878, 33, 4501, 697, 9483, 7116, 13568, 566, 9500, 7114, 1244, 13591, 6531, 13569, 4559, 4570, 4573, 5278, 8638, 2] */;
@@ -1,159 +1,170 @@
/* Metro module 13594; source: modules/quests/native/QuestBottomSheet/QuestBottomSheetHooks.tsx; dependencies: [5, 31, 6528, 13576, 13591, 4080, 9513, 13595, 9519, 9517, 9518, 7121, 7120, 6531, 7110, 2] */
import Module00005 from '../../../../by-id/module-00005.js'; /* Metro dependency 5 */
import OpenVideoQuestModal from '../VideoQuestModal/openVideoQuestModal.tsx'; /* Metro dependency 13595 */
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 QuestConstantsModule from '../../QuestConstants.tsx'; /* Metro dependency 6528 */
import * as QuestTypesModule from '../../QuestTypes.tsx'; /* Metro dependency 6531 */
import * as AnalyticsTypesModule from '../../lib/analytics/AnalyticsTypes.tsx'; /* Metro dependency 7120 */
import * as ContentImpressionTrackerHooksModule from '../../lib/analytics/ContentImpressionTrackerHooks.tsx'; /* Metro dependency 9513 */
import * as AdAnalyticsInterfaceExperimentModule from '../../experiments/AdAnalyticsInterfaceExperiment.tsx'; /* Metro dependency 9519 */
import * as QuestDockExternalCoordinationContextModule from '../QuestDock/QuestDockExternalCoordinationContext.tsx'; /* Metro dependency 13576 */
import * as QuestBottomSheetModule from './QuestBottomSheet.tsx'; /* Metro dependency 13591 */
function _fun103318(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#103318, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13784:6, offset: 0x02261e11, size: 183 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(5) /* metro dependency 5 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
const env0_5 = (require(6528) /* metro dependency 6528: QuestConstants */).QuestDockMode;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/quests/native/QuestBottomSheet/QuestBottomSheetHooks.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/quests/native/QuestBottomSheet/QuestBottomSheetHooks.tsx');
exports.useWatchTaskPressHandler = useWatchTaskPressHandler;
exports.useMobileActivityPressHandler = useMobileActivityPressHandler;
}
function useDismissSheetOrCollapseDock() { // fn#103319, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13784:140, offset: 0x02261ec8, size: 137 bytes, params: 1, frame: 18
let binding = ReactModule;
let useContext = binding.useContext;
const QuestDockExternalCoordinationContext = (QuestDockExternalCoordinationContextModule).QuestDockExternalCoordinationContext;
const setRestingQuestDockMode = Reflect.apply(useContext, binding,
[QuestDockExternalCoordinationContext]).setRestingQuestDockMode;
binding = ReactModule;
useContext = binding.useContext;
const QuestBottomSheetContext = (QuestBottomSheetModule).QuestBottomSheetContext;
return ReactModule.useCallback(_fun103320, [Reflect.apply(useContext, binding,
[QuestBottomSheetContext]).isInQuestBottomSheet, setRestingQuestDockMode]);
function _fun103320() { // fn#103320, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13784:361, offset: 0x02261f51, size: 79 bytes, params: 1, frame: 12
if (isInQuestBottomSheet) {
(importDefault(4080) /* metro dependency 4080: ActionSheetActionCreators */).hideActionSheet('QuestBottomSheet');
} else {
setRestingQuestDockMode(QuestDockMode.COLLAPSED);
}
}
function useDismissSheetOrCollapseDock() { // fn#103319, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13784:140, offset: 0x02261ec8, size: 137 bytes, params: 1, frame: 18
let binding = env0_4;
let useContext = binding.useContext;
const QuestDockExternalCoordinationContext = (require(13576) /* metro dependency 13576: QuestDockExternalCoordinationContext */).QuestDockExternalCoordinationContext;
const setRestingQuestDockMode = Reflect.apply(useContext, binding,
[QuestDockExternalCoordinationContext]).setRestingQuestDockMode;
binding = env0_4;
useContext = binding.useContext;
const QuestBottomSheetContext = (require(13591) /* metro dependency 13591: QuestBottomSheet */).QuestBottomSheetContext;
return env0_4.useCallback(_fun103320, [Reflect.apply(useContext, binding,
[QuestBottomSheetContext]).isInQuestBottomSheet, setRestingQuestDockMode]);
}
function useWatchTaskPressHandler({questId, sourceQuestContent}) { // fn#103321, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13784:562, offset: 0x02261fa0, size: 120 bytes, params: 2, frame: 18
return env0_4.useCallback(_fun103322, [questId, useDismissSheetOrCollapseDock(),
(require(9513) /* metro dependency 9513: ContentImpressionTrackerHooks */).useQuestImpression(),
sourceQuestContent]);
}
function useMobileActivityPressHandler({questId, sourceQuestContent, launchMobileActivity}) { // fn#103323, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13784:1671, offset: 0x0226224a, size: 143 bytes, params: 2, frame: 19
const value2 = useDismissSheetOrCollapseDock();
const env0_3 = value2;
const value3 = (require(9513) /* metro dependency 9513: ContentImpressionTrackerHooks */).useQuestImpression();
return value3.useCallback(env0_3(_fun103325), [questId, value2, launchMobileActivity, value3, sourceQuestContent]);
}
function _fun103320() { // fn#103320, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13784:361, offset: 0x02261f51, size: 79 bytes, params: 1, frame: 12
if (isInQuestBottomSheet) {
(importDefault(4080) /* metro dependency 4080: ActionSheetActionCreators */).hideActionSheet('QuestBottomSheet');
} else {
setRestingQuestDockMode(QuestDockMode.COLLAPSED);
}
function useWatchTaskPressHandler({questId, sourceQuestContent}) { // fn#103321, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13784:562, offset: 0x02261fa0, size: 120 bytes, params: 2, frame: 18
return ReactModule.useCallback(_fun103322, [questId, useDismissSheetOrCollapseDock(),
(ContentImpressionTrackerHooksModule).useQuestImpression(),
sourceQuestContent]);
function _fun103322() { // fn#103322, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13784:725, offset: 0x02262018, size: 562 bytes, params: 1, frame: 20
var r4;
var moduleValue2;
var trackQuestContentClicked;
const QuestContent = (QuestTypesModule).QuestContent;
const QuestContentCTA = (AnalyticsTypesModule).QuestContentCTA;
var moduleValue3;
var captureAdUserAction;
const value2 = undefined;
env0_2();
const defaultImport = OpenVideoQuestModal;
let object = {};
object.questId = questId;
object.questContentPosition = Module00005 == null ? value2 : Module00005.getQuestContentPosition();
object.sourceQuestContent = sourceQuestContent;
defaultImport(object);
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_bottom_sheet_watch_task'])) {
moduleValue3 = require(9517) /* metro dependency 9517: captureAdUserAction */;
captureAdUserAction = moduleValue3.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 = questId;
object.questContentCTA = QuestContentCTA.WATCH_VIDEO;
object.surfaceId = QuestContent.QUEST_BOTTOM_SHEET;
object.sourceQuestContent = sourceQuestContent;
r4 = Module00005 == null ? value2 : Module00005.getId();
object.impressionId = r4;
r4 = Module00005 == null ? value2 : Module00005.getQuestContentPosition();
object.questContentPosition = r4;
Reflect.apply(captureAdUserAction, moduleValue3, [object]);
} else {
moduleValue2 = require(7110) /* metro dependency 7110: AnalyticsActions */;
trackQuestContentClicked = moduleValue2.trackQuestContentClicked;
object = {};
object.questId = questId;
object.questContent = QuestContent.QUEST_BOTTOM_SHEET;
object.questContentCTA = QuestContentCTA.WATCH_VIDEO;
r4 = Module00005 == null ? value2 : Module00005.getQuestContentPosition();
object.questContentPosition = r4;
r4 = Module00005 == null ? value2 : Module00005.getId();
object.impressionId = r4;
object.sourceQuestContent = sourceQuestContent;
Reflect.apply(trackQuestContentClicked, moduleValue2, [object]);
}
return value2;
}
}
function useMobileActivityPressHandler({questId, sourceQuestContent, launchMobileActivity}) { // fn#103323, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13784:1671, offset: 0x0226224a, size: 143 bytes, params: 2, frame: 19
const value2 = useDismissSheetOrCollapseDock();
const env0_3 = value2;
const value3 = (ContentImpressionTrackerHooksModule).useQuestImpression();
return value3.useCallback(env0_3(_fun103325), [questId, value2, launchMobileActivity, value3, sourceQuestContent]);
function* _fun103325() { // fn#103325, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13784:1866, offset: 0x022622e4, size: 525 bytes, params: 1, frame: 22
var r6;
var value8;
var trackQuestContentClicked;
var object;
var value11;
var captureAdUserAction;
if (false) {
return undefined;
}
value = environment.__proto__;
const value3 = undefined;
env1_3();
yield dependencyMap();
if (false) {
return undefined;
}
let binding = env2_0;
const binding2 = env2_2;
const value7 = binding(binding2[8]);
const shouldMigrateToAdAnalyticsInterface = value7.shouldMigrateToAdAnalyticsInterface;
const AdAnalyticsInterfaceExperimentStep = binding(binding2[8]).AdAnalyticsInterfaceExperimentStep;
const STEP_2_CLICKED_INTERNAL = AdAnalyticsInterfaceExperimentStep.STEP_2_CLICKED_INTERNAL;
const shouldMigrateToAdAnalyticsInterface2 = Reflect.apply(shouldMigrateToAdAnalyticsInterface, value7,
[STEP_2_CLICKED_INTERNAL, 'quest_bottom_sheet_mobile_activity']);
binding = env2_0;
const binding3 = env2_2;
if (shouldMigrateToAdAnalyticsInterface2) {
value11 = binding(binding3[9]);
captureAdUserAction = value11.captureAdUserAction;
object = {};
object.type = binding(binding3[10]).AdUserActionType.CLICK_INTERNAL;
object.adCreativeType = binding(binding3[11]).AdCreativeType.QUEST;
object.adCreativeId = require;
object.questContentCTA = binding(binding3[12]).QuestContentCTA.LAUNCH_MOBILE_ACTIVITY;
object.surfaceId = binding(binding3[13]).QuestContent.QUEST_BOTTOM_SHEET;
object.sourceQuestContent = importDefault;
r6 = env1_4 == null ? value3 : env1_4.getId();
object.impressionId = r6;
r6 = env1_4 == null ? value3 : env1_4.getQuestContentPosition();
object.questContentPosition = r6;
Reflect.apply(captureAdUserAction, value11, [object]);
} else {
value8 = binding(binding3[14]);
trackQuestContentClicked = value8.trackQuestContentClicked;
object = {};
object.questId = require;
object.questContent = binding(binding3[13]).QuestContent.QUEST_BOTTOM_SHEET;
object.questContentCTA = binding(binding3[12]).QuestContentCTA.LAUNCH_MOBILE_ACTIVITY;
r6 = env1_4 == null ? value3 : env1_4.getQuestContentPosition();
object.questContentPosition = r6;
r6 = env1_4 == null ? value3 : env1_4.getId();
object.impressionId = r6;
object.sourceQuestContent = importDefault;
Reflect.apply(trackQuestContentClicked, value8, [object]);
}
return value3;
}
}
}
function _fun103322() { // fn#103322, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13784:725, offset: 0x02262018, size: 562 bytes, params: 1, frame: 20
var r4;
var moduleValue2;
var trackQuestContentClicked;
const QuestContent = (require(6531) /* metro dependency 6531: QuestTypes */).QuestContent;
const QuestContentCTA = (require(7120) /* metro dependency 7120: AnalyticsTypes */).QuestContentCTA;
var moduleValue3;
var captureAdUserAction;
const value2 = undefined;
env0_2();
const defaultImport = importDefault(13595) /* metro dependency 13595: openVideoQuestModal */;
let object2 = {};
object2.questId = questId;
object2.questContentPosition = env0_3 == null ? value2 : env0_3.getQuestContentPosition();
object2.sourceQuestContent = sourceQuestContent;
defaultImport(object2);
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_bottom_sheet_watch_task'])) {
moduleValue3 = require(9517) /* metro dependency 9517: captureAdUserAction */;
captureAdUserAction = moduleValue3.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 = questId;
object2.questContentCTA = QuestContentCTA.WATCH_VIDEO;
object2.surfaceId = QuestContent.QUEST_BOTTOM_SHEET;
object2.sourceQuestContent = sourceQuestContent;
r4 = env0_3 == null ? value2 : env0_3.getId();
object2.impressionId = r4;
r4 = env0_3 == null ? value2 : env0_3.getQuestContentPosition();
object2.questContentPosition = r4;
Reflect.apply(captureAdUserAction, moduleValue3, [object2]);
} else {
moduleValue2 = require(7110) /* metro dependency 7110: AnalyticsActions */;
trackQuestContentClicked = moduleValue2.trackQuestContentClicked;
object2 = {};
object2.questId = questId;
object2.questContent = QuestContent.QUEST_BOTTOM_SHEET;
object2.questContentCTA = QuestContentCTA.WATCH_VIDEO;
r4 = env0_3 == null ? value2 : env0_3.getQuestContentPosition();
object2.questContentPosition = r4;
r4 = env0_3 == null ? value2 : env0_3.getId();
object2.impressionId = r4;
object2.sourceQuestContent = sourceQuestContent;
Reflect.apply(trackQuestContentClicked, moduleValue2, [object2]);
}
return value2;
}
function* _fun103325() { // fn#103325, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13784:1866, offset: 0x022622e4, size: 525 bytes, params: 1, frame: 22
var r6;
var value8;
var trackQuestContentClicked;
var object2;
var value11;
var captureAdUserAction;
if (false) {
return undefined;
}
value = environment.__proto__;
const value3 = undefined;
env1_3();
yield dependencyMap();
if (false) {
return undefined;
}
let binding = env2_0;
const binding2 = env2_2;
const value7 = binding(binding2[8]);
const shouldMigrateToAdAnalyticsInterface = value7.shouldMigrateToAdAnalyticsInterface;
const AdAnalyticsInterfaceExperimentStep = binding(binding2[8]).AdAnalyticsInterfaceExperimentStep;
const STEP_2_CLICKED_INTERNAL = AdAnalyticsInterfaceExperimentStep.STEP_2_CLICKED_INTERNAL;
const shouldMigrateToAdAnalyticsInterface2 = Reflect.apply(shouldMigrateToAdAnalyticsInterface, value7,
[STEP_2_CLICKED_INTERNAL, 'quest_bottom_sheet_mobile_activity']);
binding = env2_0;
const binding3 = env2_2;
if (shouldMigrateToAdAnalyticsInterface2) {
value11 = binding(binding3[9]);
captureAdUserAction = value11.captureAdUserAction;
object2 = {};
object2.type = binding(binding3[10]).AdUserActionType.CLICK_INTERNAL;
object2.adCreativeType = binding(binding3[11]).AdCreativeType.QUEST;
object2.adCreativeId = require;
object2.questContentCTA = binding(binding3[12]).QuestContentCTA.LAUNCH_MOBILE_ACTIVITY;
object2.surfaceId = binding(binding3[13]).QuestContent.QUEST_BOTTOM_SHEET;
object2.sourceQuestContent = importDefault;
r6 = env1_4 == null ? value3 : env1_4.getId();
object2.impressionId = r6;
r6 = env1_4 == null ? value3 : env1_4.getQuestContentPosition();
object2.questContentPosition = r6;
Reflect.apply(captureAdUserAction, value11, [object2]);
} else {
value8 = binding(binding3[14]);
trackQuestContentClicked = value8.trackQuestContentClicked;
object2 = {};
object2.questId = require;
object2.questContent = binding(binding3[13]).QuestContent.QUEST_BOTTOM_SHEET;
object2.questContentCTA = binding(binding3[12]).QuestContentCTA.LAUNCH_MOBILE_ACTIVITY;
r6 = env1_4 == null ? value3 : env1_4.getQuestContentPosition();
object2.questContentPosition = r6;
r6 = env1_4 == null ? value3 : env1_4.getId();
object2.impressionId = r6;
object2.sourceQuestContent = importDefault;
Reflect.apply(trackQuestContentClicked, value8, [object2]);
}
return value3;
}
global.__d(_fun103318, 13594, [5, 31, 6528, 13576, 13591, 4080, 9513, 13595, 9519, 9517, 9518, 7121, 7120, 6531,
7110,
2]) /* metro module 13594, dependencies: [5, 31, 6528, 13576, 13591, 4080, 9513, 13595, 9519, 9517, 9518, 7121, 7120, 6531, 7110, 2] */;
@@ -1,184 +1,166 @@
/* Metro module 13630; source: modules/quests/native/QuestBottomSheet/QuestBottomSheetProgressCard.tsx; dependencies: [31, 27, 1878, 33, 4501, 697, 9483, 9520, 566, 9500, 7114, 1244, 4573, 6535, 6239, 13620, 9495, 13594, 9480, 5278, 9543, 4589, 5475, 13631, 9376, 2] */
import Native from '../../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */
import UserStore from '../../../../stores/UserStore.tsx'; /* Metro dependency 1878 */
import QuestDockBlurredContentBackground from '../QuestDock/QuestDockBlurredContentBackground.tsx'; /* Metro dependency 13631 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as IndexNativeModule from '../../../../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as TextModule from '../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as PressablesModule from '../../../../design/void/Pressables/native/Pressables.tsx'; /* Metro dependency 5278 */
import * as CardNativeModule from '../../../../design/components/Card/native/Card.native.tsx'; /* Metro dependency 6239 */
import * as FirstPartyQuestTaskTypesModule from '../../../../external/discord_common/js/shared/shared-constants/FirstPartyQuestTaskTypes.tsx'; /* Metro dependency 6535 */
import * as QuestUtilsModule from '../../utils/QuestUtils.tsx'; /* Metro dependency 7114 */
import * as PlayIconModule from '../../../../design/components/Icon/native/redesign/generated/PlayIcon.tsx'; /* Metro dependency 9376 */
import * as QuestHooksModule from '../../hooks/QuestHooks.tsx'; /* Metro dependency 9483 */
import * as QuestRewardUtilsModule from '../../utils/QuestRewardUtils.tsx'; /* Metro dependency 9500 */
import * as QuestPlatformUtilsModule from '../../utils/QuestPlatformUtils.tsx'; /* Metro dependency 9520 */
import * as QuestBottomSheetHooksModule from './QuestBottomSheetHooks.tsx'; /* Metro dependency 13594 */
function _fun104088(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#104088, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13827:6, offset: 0x02284837, size: 676 bytes, params: 8, frame: 25
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importAll(31) /* metro dependency 31 */;
let value = require(27) /* metro dependency 27 */;
let value = ReactNativeModule;
const env0_4 = value.View;
const StyleSheet = value.StyleSheet;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
value = require(33) /* metro dependency 33 */;
const env0_7 = value.jsx;
const env0_8 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object2 = {};
object2.card = {padding: 0};
object2.cardWatchTask = {'justifyContent': 'flex-end', 'height': 210};
object = {};
object.card = {padding: 0};
object.cardWatchTask = {'justifyContent': 'flex-end', 'height': 210};
const PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object2.content = {padding: PX_16};
object2.contentWatchTask = {alignItems: 'flex-end'};
const object3 = {'padding': 12, 'display': 'flex', 'flexDirection': 'row', 'justifyContent': 'center',
object.content = {padding: PX_16};
object.contentWatchTask = {alignItems: 'flex-end'};
const object5 = {'padding': 12, 'display': 'flex', 'flexDirection': 'row', 'justifyContent': 'center',
'alignItems': 'center'};
const BACKGROUND_MOD_MUTED = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_MOD_MUTED;
object3.backgroundColor = BACKGROUND_MOD_MUTED;
object5.backgroundColor = BACKGROUND_MOD_MUTED;
let CARD_DEFAULT_RADIUS = (importDefault(697) /* metro dependency 697: native */).modules.mobile.CARD_DEFAULT_RADIUS;
object3.borderBottomLeftRadius = CARD_DEFAULT_RADIUS;
object5.borderBottomLeftRadius = CARD_DEFAULT_RADIUS;
CARD_DEFAULT_RADIUS = (importDefault(697) /* metro dependency 697: native */).modules.mobile.CARD_DEFAULT_RADIUS;
object3.borderBottomRightRadius = CARD_DEFAULT_RADIUS;
object3.borderWidth = 1;
object5.borderBottomRightRadius = CARD_DEFAULT_RADIUS;
object5.borderWidth = 1;
const BORDER_MUTED = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_MUTED;
object3.borderColor = BORDER_MUTED;
object2.footer = object3;
object5.borderColor = BORDER_MUTED;
object.footer = object5;
const PX_12 = (importDefault(697) /* metro dependency 697: native */).space.PX_12;
object2.instructionsText = {marginTop: PX_12, textAlign: 'center'};
const object4 = {};
copyDataProperties(object4, StyleSheet.absoluteFillObject, undefined);
object.instructionsText = {marginTop: PX_12, textAlign: 'center'};
const object7 = {};
copyDataProperties(object7, StyleSheet.absoluteFillObject, undefined);
CARD_DEFAULT_RADIUS = (importDefault(697) /* metro dependency 697: native */).modules.mobile.CARD_DEFAULT_RADIUS;
object4['borderRadius'] = CARD_DEFAULT_RADIUS;
object4['overflow'] = 'hidden';
object2.videoPreviewWrapper = object4;
const object6 = {};
copyDataProperties(object6, StyleSheet.absoluteFillObject, undefined);
object2.videoPreview = object6;
const object10 = {'alignItems': 'center', 'justifyContent': 'center', 'borderRadius': null, 'position': 'absolute',
object7['borderRadius'] = CARD_DEFAULT_RADIUS;
object7['overflow'] = 'hidden';
object.videoPreviewWrapper = object7;
const object8 = {};
copyDataProperties(object8, StyleSheet.absoluteFillObject, undefined);
object.videoPreview = object8;
const object9 = {'alignItems': 'center', 'justifyContent': 'center', 'borderRadius': null, 'position': 'absolute',
'left': '50%', 'overflow': 'hidden', 'top': '50%', 'width': 60, 'height': 60};
object10.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
object10.transform = [{translateX: -30}, {translateY: -30}];
object2.playVideoIconWrapper = object10;
const env0_9 = Reflect.apply(createStyles, value, [object2]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/quests/native/QuestBottomSheet/QuestBottomSheetProgressCard.tsx');
object9.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
object9.transform = [{translateX: -30}, {translateY: -30}];
object.playVideoIconWrapper = object9;
const env0_9 = Reflect.apply(createStyles, value, [object]);
(FileImportTrackerModule).fileFinishedImporting('modules/quests/native/QuestBottomSheet/QuestBottomSheetProgressCard.tsx');
exports.QuestBottomSheetProgressCardPlayStreamTask = QuestBottomSheetProgressCardPlayStreamTask;
exports.QuestBottomSheetProgressCardWatchTask = QuestBottomSheetProgressCardWatchTask;
exports.QuestBottomSheetProgressCardInGameTask = QuestBottomSheetProgressCardInGameTask;
}
function QuestBottomSheetProgressCardPlayStreamTask({quest}) { // fn#104089, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13827:1292, offset: 0x02284adb, size: 846 bytes, params: 2, frame: 30
var r5;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
var intl;
const styles = useStyles();
const value3 = (require(9483) /* metro dependency 9483: QuestHooks */).useQuestTaskDetails(quest);
const value4 = (require(9483) /* metro dependency 9483: QuestHooks */).useIsQuestProgressing(quest);
let userStatus = quest.userStatus;
const value5 = userStatus?.completedAt != null;
userStatus = quest.userStatus;
const value6 = userStatus?.claimedAt != null;
const env0_3 = value6;
const value7 = (require(9520) /* metro dependency 9520: QuestPlatformUtils */).supportedTaskPlatforms(quest);
const value8 = (require(9483) /* metro dependency 9483: QuestHooks */).useQuestFormattedDate(quest.config.rewardsConfig.rewardsExpireAt);
const gameTitle = quest.config.messages.gameTitle;
const currentUser = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() {
return UserStore.getCurrentUser();
});
const value10 = env0_3.useMemo(_fun104091, [value3, value5, value6, gameTitle,
(require(9500) /* metro dependency 9500: QuestRewardUtils */).getDefaultRewardName(quest.config, currentUser),
value4, value7, value8, (require(7114) /* metro dependency 7114: QuestUtils */).isSponsoredPlayQuest(quest)]);
const Card = (require(6239) /* metro dependency 6239: CardNative */).Card;
const view = <View style={styles.content}>{((Component) => <Component quest={quest} size="lg" progress={value3.percentComplete} loading={!(value5 || value4)} hasConfetti />)(importDefault(13620) /* metro dependency 13620: QuestProgressIndicator */)}{value10 != null && <Text style={styles.instructionsText} variant="text-sm/semibold" color="text-subtle">{value10}</Text>}</View>;
if (value4) {
var viewBindingProps = {style: styles.footer};
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
r5 = <View {...viewBindingProps}><Text color="text-feedback-positive" variant="text-sm/semibold">{intl.format((require(1244) /* metro dependency 1244: indexNative */).t.lIFg6I,
{gameName: quest.config.messages.gameTitle})}</Text></View>;
} else {
r5 = value4;
}
return (
<Card style={styles.card} border="subtle">
{view}
{r5}
</Card>
);
}
function QuestBottomSheetProgressCardWatchTask({quest, sourceQuestContent}) { // fn#104094, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13827:3305, offset: 0x022851c0, size: 1165 bytes, params: 2, frame: 34
var url;
var VideoComponent;
const styles = useStyles();
const value3 = (require(9483) /* metro dependency 9483: QuestHooks */).useQuestTaskDetails(quest);
const binding = env0_3;
const value4 = binding.useMemo(_fun104095, [quest]);
const value5 = binding.useMemo(_fun104096, [quest]);
const value6 = binding.useMemo(_fun104097, [quest]);
const value7 = (require(13594) /* metro dependency 13594: QuestBottomSheetHooks */).useWatchTaskPressHandler({questId: quest.id,
sourceQuestContent: sourceQuestContent});
let r8 = value4 != null && (require(9480) /* metro dependency 9480: QuestUtilsNative */).isHeroVideoSupported(value4);
const userStatus = quest.userStatus;
let r10 = userStatus?.completedAt != null ? (require(1244) /* metro dependency 1244: indexNative */).t.YsCuyF : (require(1244) /* metro dependency 1244: indexNative */).t['74KqrR'];
const PressableOpacity = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity;
const pressableOpacityProps = {onPress: value7, accessibilityRole: 'button',
accessibilityLabel: (require(1244) /* metro dependency 1244: indexNative */).intl.string(r10)};
const Card = (require(6239) /* metro dependency 6239: CardNative */).Card;
const items2 = [styles.card];
items2[1] = styles.cardWatchTask;
if (r8) {
var viewBindingProps = {style: styles.videoPreviewWrapper};
VideoComponent = (require(9543) /* metro dependency 9543: Video */).VideoComponent;
var videoProps = {'style': null, 'poster': null, 'posterResizeMode': 'cover', 'source': null,
'resizeMode': 'cover',
'muted': true, 'disableFocus': true, 'preventsDisplaySleepDuringVideoPlayback': false,
style: styles.videoPreview};
url = value5?.url;
videoProps.poster = url;
url = value4.url;
videoProps.source = {uri: url};
r10 = <View {...viewBindingProps}><VideoComponent {...videoProps} />{((Component) => <Component start={{'x': 0.5,
'y': 0.5}} end={{'x': 1, 'y': 1}} style={StyleSheet.absoluteFill} colors={['rgba(0, 0, 0, 0)',
'rgba(0, 0, 0, 1)']} />)(importDefault(4589) /* metro dependency 4589 */)}</View>;
} else {
r10 = r8;
}
const items3 = [r10];
r8 = !r8 && value6 != null && <View style={styles.videoPreviewWrapper}>{((Component) => <Component style={styles.videoPreview} source={{uri: value6.url}} resizeMode="cover" />)(importDefault(5475) /* metro dependency 5475: FastImage */)}{((Component) => <Component start={{'x': 0.5,
'y': 0.5}} end={{'x': 1, 'y': 1}} style={StyleSheet.absoluteFill} colors={['rgba(0, 0, 0, 0)',
'rgba(0, 0, 0, 1)']} />)(importDefault(4589) /* metro dependency 4589 */)}</View>;
items3[1] = r8;
const value15 = ((Component) => <Component blurTheme="light" />)(importDefault(13631) /* metro dependency 13631: QuestDockBlurredContentBackground */);
const PlayIcon = (require(9376) /* metro dependency 9376: PlayIcon */).PlayIcon;
const WHITE = (importDefault(697) /* metro dependency 697: native */).colors.WHITE;
items3[2] = <View style={styles.playVideoIconWrapper}>{value15}<PlayIcon color={WHITE} /></View>;
items3[3] = <View style={[styles.content,
styles.contentWatchTask]}>{((Component) => <Component quest={quest} size="x-sm" progress={value3.percentComplete} hasConfetti />)(importDefault(13620) /* metro dependency 13620: QuestProgressIndicator */)}</View>;
return (
<PressableOpacity {...pressableOpacityProps}>
<Card style={items2} border="subtle">
{items3}
</Card>
</PressableOpacity>
);
}
function QuestBottomSheetProgressCardInGameTask({quest}) { // fn#104098, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13827:5055, offset: 0x0228571e, size: 213 bytes, params: 2, frame: 21
const styles = useStyles();
const value3 = (require(9483) /* metro dependency 9483: QuestHooks */).useThirdPartyTaskDetails(quest);
const Card = (require(6239) /* metro dependency 6239: CardNative */).Card;
return (
<Card style={styles.card} border="subtle">
function QuestBottomSheetProgressCardPlayStreamTask({quest}) { // fn#104089, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13827:1292, offset: 0x02284adb, size: 846 bytes, params: 2, frame: 30
var r5;
const Text = (TextModule).Text;
var intl;
const styles = useStyles();
const value3 = (QuestHooksModule).useQuestTaskDetails(quest);
const value4 = (QuestHooksModule).useIsQuestProgressing(quest);
let userStatus = quest.userStatus;
const value5 = userStatus?.completedAt != null;
userStatus = quest.userStatus;
const value6 = userStatus?.claimedAt != null;
const env0_3 = value6;
const value7 = (QuestPlatformUtilsModule).supportedTaskPlatforms(quest);
const value8 = (QuestHooksModule).useQuestFormattedDate(quest.config.rewardsConfig.rewardsExpireAt);
const gameTitle = quest.config.messages.gameTitle;
const currentUser = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() {
return UserStore.getCurrentUser();
});
const value10 = env0_3.useMemo(_fun104091, [value3, value5, value6, gameTitle,
(QuestRewardUtilsModule).getDefaultRewardName(quest.config, currentUser),
value4, value7, value8, (QuestUtilsModule).isSponsoredPlayQuest(quest)]);
const Card = (CardNativeModule).Card;
const view = (
<View style={styles.content}>
{((Component) => <Component quest={quest} size="lg" progress={value3?.percentComplete ?? 0} hasConfetti />)(importDefault(13620) /* metro dependency 13620: QuestProgressIndicator */)}
{((Component) => <Component quest={quest} size="lg" progress={value3.percentComplete} loading={!(value5 || value4)} hasConfetti />)(importDefault(13620) /* metro dependency 13620: QuestProgressIndicator */)}
{value10 != null && <Text style={styles.instructionsText} variant="text-sm/semibold" color="text-subtle">{value10}</Text>}
</View>
</Card>
);
}
function _fun104091() { // fn#104091, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13827:1831, offset: 0x02284e29, size: 789 bytes, params: 1, frame: 19
var environment;
var r1;
var value2;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
const FirstPartyQuestTaskTypes = (require(6535) /* metro dependency 6535: FirstPartyQuestTaskTypes */).FirstPartyQuestTaskTypes;
const FirstPartyQuestTaskTypesSets = (require(6535) /* metro dependency 6535: FirstPartyQuestTaskTypes */).FirstPartyQuestTaskTypesSets;
var binding;
var value7;
var value;
if (env0_2) {
if (env0_3) {
);
if (value4) {
var viewBindingProps = {style: styles.footer};
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
r5 = (
<View {...viewBindingProps}>
<Text color="text-feedback-positive" variant="text-sm/semibold">
{intl.format((require(1244) /* metro dependency 1244: indexNative */).t.lIFg6I,
{gameName: quest.config.messages.gameTitle})}
</Text>
</View>
);
} else {
r5 = value4;
}
return (
<Card style={styles.card} border="subtle">
{view}
{r5}
</Card>
);
function _fun104091() { // fn#104091, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13827:1831, offset: 0x02284e29, size: 789 bytes, params: 1, frame: 19
var environment;
var r1;
var value2;
const intl = (IndexNativeModule).intl;
const t = (IndexNativeModule).t;
const FirstPartyQuestTaskTypes = (FirstPartyQuestTaskTypesModule).FirstPartyQuestTaskTypes;
const FirstPartyQuestTaskTypesSets = (FirstPartyQuestTaskTypesModule).FirstPartyQuestTaskTypesSets;
var binding;
var value7;
var value;
if (env0_2) {
if (env0_3) {
if (env0_1) {
binding = env0_0;
value = binding.targetSeconds - binding.progressSeconds;
value = global.Math.ceil(value / 60);
value7 = environment.__proto__;
return intl.format(t.aFaRso, {minutesLeft: value, minutesHook: minutesHook});
}
if (env0_8) {
value = environment.__proto__;
value = intl.string(t['04ateG']);
r1 = value;
} else {
r1 = env0_4.length > 1 ? intl.formatToPlainString(t.E2R8VX,
{gameName: gameTitle}) : env0_0.taskType === FirstPartyQuestTaskTypes.STREAM_ON_DESKTOP ? intl.formatToPlainString(t.boMftC,
{gameName: gameTitle}) : env0_0.taskType === FirstPartyQuestTaskTypes.PLAY_ON_DESKTOP ? intl.formatToPlainString(t['9Peldf'],
{gameName: gameTitle}) : FirstPartyQuestTaskTypesSets.CONSOLE.has(env0_0.taskType) ? intl.formatToPlainString(t['+8JB6Y'],
{gameTitle: gameTitle}) : null;
}
return r1;
}
value2 = environment.__proto__;
return intl.format(t.e3OlfB, {rewardHook: rewardHook, date: env0_5});
}
if (env0_1) {
binding = env0_0;
value = binding.targetSeconds - binding.progressSeconds;
@@ -194,92 +176,149 @@ function _fun104091() { // fn#104091, source: /ci/build/discord/discord/discord_
r1 = env0_4.length > 1 ? intl.formatToPlainString(t.E2R8VX,
{gameName: gameTitle}) : env0_0.taskType === FirstPartyQuestTaskTypes.STREAM_ON_DESKTOP ? intl.formatToPlainString(t.boMftC,
{gameName: gameTitle}) : env0_0.taskType === FirstPartyQuestTaskTypes.PLAY_ON_DESKTOP ? intl.formatToPlainString(t['9Peldf'],
{gameName: gameTitle}) : FirstPartyQuestTaskTypesSets.CONSOLE.has(env0_0.taskType) ? intl.formatToPlainString(t['+8JB6Y'],
{gameTitle: gameTitle}) : null;
}
return r1;
function rewardHook() { // fn#104092, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13827:1903, offset: 0x0228513e, size: 67 bytes, params: 1, frame: 14
const Text = (TextModule).Text;
return (
<Text variant="text-sm/semibold" color="text-strong">
{env1_7}
</Text>
);
}
function minutesHook(a0) { // fn#104093, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13827:2130, offset: 0x02285181, size: 63 bytes, params: 2, frame: 14
const Text = (TextModule).Text;
return (
<Text variant="text-sm/semibold" color="text-strong">
{a0}
</Text>
);
}
}
value2 = environment.__proto__;
return intl.format(t.e3OlfB, {rewardHook: rewardHook, date: env0_5});
}
if (env0_1) {
binding = env0_0;
value = binding.targetSeconds - binding.progressSeconds;
value = global.Math.ceil(value / 60);
value7 = environment.__proto__;
return intl.format(t.aFaRso, {minutesLeft: value, minutesHook: minutesHook});
function QuestBottomSheetProgressCardWatchTask({quest, sourceQuestContent}) { // fn#104094, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13827:3305, offset: 0x022851c0, size: 1165 bytes, params: 2, frame: 34
var url;
var VideoComponent;
const styles = useStyles();
const value3 = (QuestHooksModule).useQuestTaskDetails(quest);
const value4 = ReactModule.useMemo(_fun104095, [quest]);
const value5 = ReactModule.useMemo(_fun104096, [quest]);
const value6 = ReactModule.useMemo(_fun104097, [quest]);
const value7 = (QuestBottomSheetHooksModule).useWatchTaskPressHandler({questId: quest.id,
sourceQuestContent: sourceQuestContent});
let r8 = value4 != null && (require(9480) /* metro dependency 9480: QuestUtilsNative */).isHeroVideoSupported(value4);
const userStatus = quest.userStatus;
let r10 = userStatus?.completedAt != null ? (require(1244) /* metro dependency 1244: indexNative */).t.YsCuyF : (require(1244) /* metro dependency 1244: indexNative */).t['74KqrR'];
const PressableOpacity = (PressablesModule).PressableOpacity;
const pressableOpacityProps = {onPress: value7, accessibilityRole: 'button',
accessibilityLabel: (require(1244) /* metro dependency 1244: indexNative */).intl.string(r10)};
const Card = (CardNativeModule).Card;
const items2 = [styles.card];
items2[1] = styles.cardWatchTask;
if (r8) {
var viewBindingProps = {style: styles.videoPreviewWrapper};
VideoComponent = (require(9543) /* metro dependency 9543: Video */).VideoComponent;
var videoProps = {'style': null, 'poster': null, 'posterResizeMode': 'cover', 'source': null,
'resizeMode': 'cover',
'muted': true, 'disableFocus': true, 'preventsDisplaySleepDuringVideoPlayback': false,
style: styles.videoPreview};
url = value5?.url;
videoProps.poster = url;
url = value4.url;
videoProps.source = {uri: url};
r10 = (
<View {...viewBindingProps}>
<VideoComponent {...videoProps} />
{((Component) => <Component start={{'x': 0.5, 'y': 0.5}} end={{'x': 1,
'y': 1}} style={StyleSheet.absoluteFill} colors={['rgba(0, 0, 0, 0)',
'rgba(0, 0, 0, 1)']} />)(importDefault(4589) /* metro dependency 4589 */)}
</View>
);
} else {
r10 = r8;
}
const items3 = [r10];
r8 = !r8 && value6 != null && <View style={styles.videoPreviewWrapper}>{((Component) => <Component style={styles.videoPreview} source={{uri: value6.url}} resizeMode="cover" />)(importDefault(5475) /* metro dependency 5475: FastImage */)}{((Component) => <Component start={{'x': 0.5,
'y': 0.5}} end={{'x': 1, 'y': 1}} style={StyleSheet.absoluteFill} colors={['rgba(0, 0, 0, 0)',
'rgba(0, 0, 0, 1)']} />)(importDefault(4589) /* metro dependency 4589 */)}</View>;
items3[1] = r8;
const value15 = ((Component) => <Component blurTheme="light" />)(QuestDockBlurredContentBackground);
const PlayIcon = (PlayIconModule).PlayIcon;
const WHITE = (Native).colors.WHITE;
items3[2] = (
<View style={styles.playVideoIconWrapper}>
{value15}
<PlayIcon color={WHITE} />
</View>
);
items3[3] = (
<View style={[styles.content, styles.contentWatchTask]}>
{((Component) => <Component quest={quest} size="x-sm" progress={value3.percentComplete} hasConfetti />)(importDefault(13620) /* metro dependency 13620: QuestProgressIndicator */)}
</View>
);
return (
<PressableOpacity {...pressableOpacityProps}>
<Card style={items2} border="subtle">
{items3}
</Card>
</PressableOpacity>
);
function _fun104095() { // fn#104095, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13827:3442, offset: 0x0228564d, size: 67 bytes, params: 1, frame: 16
let value = environment.__proto__;
value = require(9495) /* metro dependency 9495: AssetUtils */;
const getQuestAsset = value.getQuestAsset;
const questBinding = quest;
const QuestAssetType = (require(9495) /* metro dependency 9495: AssetUtils */).QuestAssetType;
const QUEST_BAR_HERO_VIDEO = QuestAssetType.QUEST_BAR_HERO_VIDEO;
return Reflect.apply(getQuestAsset, value, [questBinding, QUEST_BAR_HERO_VIDEO]);
}
function _fun104096() { // fn#104096, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13827:3536, offset: 0x02285690, size: 75 bytes, params: 1, frame: 18
let value = environment.__proto__;
value = require(9495) /* metro dependency 9495: AssetUtils */;
const getQuestAsset = value.getQuestAsset;
const questBinding = quest;
const QuestAssetType = (require(9495) /* metro dependency 9495: AssetUtils */).QuestAssetType;
const VIDEO_PLAYER_THUMBNAIL = QuestAssetType.VIDEO_PLAYER_THUMBNAIL;
return Reflect.apply(getQuestAsset, value, [questBinding, VIDEO_PLAYER_THUMBNAIL, undefined, true]);
}
function _fun104097() { // fn#104097, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13827:3642, offset: 0x022856db, size: 67 bytes, params: 1, frame: 16
let value = environment.__proto__;
value = require(9495) /* metro dependency 9495: AssetUtils */;
const getQuestAsset = value.getQuestAsset;
const questBinding = quest;
const QuestAssetType = (require(9495) /* metro dependency 9495: AssetUtils */).QuestAssetType;
const QUEST_BAR_HERO_IMAGE = QuestAssetType.QUEST_BAR_HERO_IMAGE;
return Reflect.apply(getQuestAsset, value, [questBinding, QUEST_BAR_HERO_IMAGE]);
}
}
if (env0_8) {
value = environment.__proto__;
value = intl.string(t['04ateG']);
r1 = value;
} else {
r1 = env0_4.length > 1 ? intl.formatToPlainString(t.E2R8VX,
{gameName: gameTitle}) : env0_0.taskType === FirstPartyQuestTaskTypes.STREAM_ON_DESKTOP ? intl.formatToPlainString(t.boMftC,
{gameName: gameTitle}) : env0_0.taskType === FirstPartyQuestTaskTypes.PLAY_ON_DESKTOP ? intl.formatToPlainString(t['9Peldf'],
{gameName: gameTitle}) : FirstPartyQuestTaskTypesSets.CONSOLE.has(env0_0.taskType) ? intl.formatToPlainString(t['+8JB6Y'],
{gameTitle: gameTitle}) : null;
function QuestBottomSheetProgressCardInGameTask({quest}) { // fn#104098, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13827:5055, offset: 0x0228571e, size: 213 bytes, params: 2, frame: 21
const styles = useStyles();
const value3 = (QuestHooksModule).useThirdPartyTaskDetails(quest);
const Card = (CardNativeModule).Card;
return (
<Card style={styles.card} border="subtle">
<View style={styles.content}>
{((Component) => <Component quest={quest} size="lg" progress={value3?.percentComplete ?? 0} hasConfetti />)(importDefault(13620) /* metro dependency 13620: QuestProgressIndicator */)}
</View>
</Card>
);
}
return r1;
}
function _fun104095() { // fn#104095, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13827:3442, offset: 0x0228564d, size: 67 bytes, params: 1, frame: 16
let value = environment.__proto__;
value = require(9495) /* metro dependency 9495: AssetUtils */;
const getQuestAsset = value.getQuestAsset;
const questBinding = quest;
const QuestAssetType = (require(9495) /* metro dependency 9495: AssetUtils */).QuestAssetType;
const QUEST_BAR_HERO_VIDEO = QuestAssetType.QUEST_BAR_HERO_VIDEO;
return Reflect.apply(getQuestAsset, value, [questBinding, QUEST_BAR_HERO_VIDEO]);
}
function _fun104096() { // fn#104096, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13827:3536, offset: 0x02285690, size: 75 bytes, params: 1, frame: 18
let value = environment.__proto__;
value = require(9495) /* metro dependency 9495: AssetUtils */;
const getQuestAsset = value.getQuestAsset;
const questBinding = quest;
const QuestAssetType = (require(9495) /* metro dependency 9495: AssetUtils */).QuestAssetType;
const VIDEO_PLAYER_THUMBNAIL = QuestAssetType.VIDEO_PLAYER_THUMBNAIL;
return Reflect.apply(getQuestAsset, value, [questBinding, VIDEO_PLAYER_THUMBNAIL, undefined, true]);
}
function _fun104097() { // fn#104097, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13827:3642, offset: 0x022856db, size: 67 bytes, params: 1, frame: 16
let value = environment.__proto__;
value = require(9495) /* metro dependency 9495: AssetUtils */;
const getQuestAsset = value.getQuestAsset;
const questBinding = quest;
const QuestAssetType = (require(9495) /* metro dependency 9495: AssetUtils */).QuestAssetType;
const QUEST_BAR_HERO_IMAGE = QuestAssetType.QUEST_BAR_HERO_IMAGE;
return Reflect.apply(getQuestAsset, value, [questBinding, QUEST_BAR_HERO_IMAGE]);
}
function rewardHook() { // fn#104092, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13827:1903, offset: 0x0228513e, size: 67 bytes, params: 1, frame: 14
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
return (
<Text variant="text-sm/semibold" color="text-strong">
{env1_7}
</Text>
);
}
function minutesHook(a0) { // fn#104093, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13827:2130, offset: 0x02285181, size: 63 bytes, params: 2, frame: 14
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
return (
<Text variant="text-sm/semibold" color="text-strong">
{a0}
</Text>
);
}
global.__d(_fun104088, 13630, [31, 27, 1878, 33, 4501, 697, 9483, 9520, 566, 9500, 7114, 1244, 4573, 6535, 6239,
13620, 9495, 13594, 9480, 5278, 9543, 4589, 5475, 13631, 9376,
2]) /* metro module 13630, dependencies: [31, 27, 1878, 33, 4501, 697, 9483, 9520, 566, 9500, 7114, 1244, 4573, 6535, 6239, 13620, 9495, 13594, 9480, 5278, 9543, 4589, 5475, 13631, 9376, 2] */;
@@ -1,68 +1,75 @@
/* Metro module 13632; source: modules/quests/native/QuestBottomSheet/QuestBottomSheetTaskSelect.tsx; dependencies: [31, 6528, 33, 6231, 6238, 10160, 1244, 8658, 2] */
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 TableRowGroupNativeModule from '../../../../design/components/TableRow/native/TableRowGroup.native.tsx'; /* Metro dependency 6231 */
import * as TableRowNativeModule from '../../../../design/components/TableRow/native/TableRow.native.tsx'; /* Metro dependency 6238 */
import * as QuestConstantsModule from '../../QuestConstants.tsx'; /* Metro dependency 6528 */
import * as GameControllerIconModule from '../../../../design/components/Icon/native/redesign/generated/GameControllerIcon.tsx'; /* Metro dependency 8658 */
import * as ScreenIconModule from '../../../../design/components/Icon/native/redesign/generated/ScreenIcon.tsx'; /* Metro dependency 10160 */
function _fun104103(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#104103, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13829:6, offset: 0x02285992, size: 162 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
const env0_2 = (require(6528) /* metro dependency 6528: QuestConstants */).QuestTaskPlatform;
const value = require(33) /* metro dependency 33 */;
const env0_3 = value.jsx;
const env0_4 = value.jsxs;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/quests/native/QuestBottomSheet/QuestBottomSheetTaskSelect.tsx');
ReactModule;
(FileImportTrackerModule).fileFinishedImporting('modules/quests/native/QuestBottomSheet/QuestBottomSheetTaskSelect.tsx');
exports.default = QuestBottomSheetTaskSelect;
}
function QuestBottomSheetTaskSelect({onTaskSelect}) { // fn#104104, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13829:272, offset: 0x02285a34, size: 331 bytes, params: 2, frame: 25
const TableRowGroup = (TableRowGroupNativeModule).TableRowGroup;
const TableRow = (TableRowNativeModule).TableRow;
const object2 = {arrow: true};
const ScreenIcon = (ScreenIconModule).ScreenIcon;
object2.icon = <ScreenIcon />;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
object2.label = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['QXc01+']);
object2.onPress = onPress_104105;
const tableRow = <TableRow {...object2} />;
const GameControllerIcon = (GameControllerIconModule).GameControllerIcon;
return (
<TableRowGroup hasIcons>
{tableRow}
<TableRow
arrow
icon={<GameControllerIcon />}
label={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['8lAfuB'])}
onPress={onPress_104106}
/>
</TableRowGroup>
);
function QuestBottomSheetTaskSelectOnPress() { // fn#104105, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13829:494, owner: QuestBottomSheetTaskSelect.onPress, offset: 0x02285b7f, size: 44 bytes, params: 1, frame: 12
var r0;
var value;
let onTaskSelectBinding = onTaskSelect;
if (onTaskSelectBinding == null) {
r0 = undefined;
} else {
onTaskSelectBinding = onTaskSelect;
value = environment.__proto__;
value = onTaskSelectBinding(QuestTaskPlatform.DESKTOP);
r0 = value;
}
return r0;
}
function QuestBottomSheetTaskSelect({onTaskSelect}) { // fn#104104, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13829:272, offset: 0x02285a34, size: 331 bytes, params: 2, frame: 25
const TableRowGroup = (require(6231) /* metro dependency 6231: TableRowGroupNative */).TableRowGroup;
const TableRow = (require(6238) /* metro dependency 6238: TableRowNative */).TableRow;
const object = {arrow: true};
const ScreenIcon = (require(10160) /* metro dependency 10160: ScreenIcon */).ScreenIcon;
object.icon = <ScreenIcon />;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
object.label = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['QXc01+']);
object.onPress = onPress_104105;
const tableRow = <TableRow {...object} />;
const GameControllerIcon = (require(8658) /* metro dependency 8658: GameControllerIcon */).GameControllerIcon;
return (
<TableRowGroup hasIcons>
{tableRow}
<TableRow
arrow
icon={<GameControllerIcon />}
label={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['8lAfuB'])}
onPress={onPress_104106}
/>
</TableRowGroup>
);
}
function QuestBottomSheetTaskSelectOnPress_104106() { // fn#104106, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13829:650, owner: QuestBottomSheetTaskSelect.onPress, offset: 0x02285bab, size: 44 bytes, params: 1, frame: 12
var r0;
var value;
let onTaskSelectBinding = onTaskSelect;
if (onTaskSelectBinding == null) {
r0 = undefined;
} else {
onTaskSelectBinding = onTaskSelect;
value = environment.__proto__;
value = onTaskSelectBinding(QuestTaskPlatform.CONSOLE);
r0 = value;
}
return r0;
}
function QuestBottomSheetTaskSelectOnPress() { // fn#104105, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13829:494, owner: QuestBottomSheetTaskSelect.onPress, offset: 0x02285b7f, size: 44 bytes, params: 1, frame: 12
var r0;
var value;
let onTaskSelectBinding = onTaskSelect;
if (onTaskSelectBinding == null) {
r0 = undefined;
} else {
onTaskSelectBinding = onTaskSelect;
value = environment.__proto__;
value = onTaskSelectBinding(QuestTaskPlatform.DESKTOP);
r0 = value;
}
return r0;
}
function QuestBottomSheetTaskSelectOnPress_104106() { // fn#104106, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13829:650, owner: QuestBottomSheetTaskSelect.onPress, offset: 0x02285bab, size: 44 bytes, params: 1, frame: 12
var r0;
var value;
let onTaskSelectBinding = onTaskSelect;
if (onTaskSelectBinding == null) {
r0 = undefined;
} else {
onTaskSelectBinding = onTaskSelect;
value = environment.__proto__;
value = onTaskSelectBinding(QuestTaskPlatform.CONSOLE);
r0 = value;
}
return r0;
}
global.__d(_fun104103, 13632, [31, 6528, 33, 6231, 6238, 10160, 1244, 8658,
2]) /* metro module 13632, dependencies: [31, 6528, 33, 6231, 6238, 10160, 1244, 8658, 2] */;