/* 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 (