Files
2026-07-28 01:06:53 +03:00

430 lines
30 KiB
TypeScript

/* 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 useQuestRewardClaimHandler2 = useQuestRewardClaimHandler;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
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;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
const env0_13 = Reflect.apply(createStyles, value, [{container: {'display': 'flex', 'flexGrow': 1, 'flexShrink': 1,
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'};}"};
(FileImportTrackerModule).fileFinishedImporting('modules/quests/native/QuestBottomSheet/QuestBottomSheetFooter.tsx');
exports.default = QuestBottomSheetFooter;
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;
}
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});
}
}
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)}
/>
);
}
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)}
/>
);
}
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 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();
}
}
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] */;