/* Metro module 9947; source: modules/quests/native/QuestRewardCodeClaimBottomSheet.native.tsx; dependencies: [31, 27, 7093, 6528, 33, 4501, 697, 1585, 566, 9948, 3857, 1244, 8947, 4080, 9500, 6797, 4060, 9950, 6275, 6758, 4573, 6622, 6231, 6238, 4578, 10183, 2] */ import Native from '../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */ import UseSafeAreaInsetsNative from '../../safe_area/useSafeAreaInsets.native.tsx'; /* Metro dependency 1585 */ import ToastActionCreators from '../../toast/native/ToastActionCreators.tsx'; /* Metro dependency 3857 */ 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 IndexNativeModule from '../../../intl/index.native.tsx'; /* Metro dependency 1244 */ import * as CopyIconModule from '../../../design/components/Icon/native/redesign/generated/CopyIcon.tsx'; /* Metro dependency 4060 */ import * as CreateStylesModule from '../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */ import * as ButtonNativeModule from '../../../design/components/Button/native/Button.native.tsx'; /* Metro dependency 4578 */ import * as TableRowGroupNativeModule from '../../../design/components/TableRow/native/TableRowGroup.native.tsx'; /* Metro dependency 6231 */ 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 BottomSheetTitleHeaderNativeModule from '../../../design/components/Sheet/native/BottomSheetTitleHeader.native.tsx'; /* Metro dependency 6758 */ import * as QuestRewardUtilsModule from '../utils/QuestRewardUtils.tsx'; /* Metro dependency 9500 */ import * as RewardCodeClaimHooksModule from '../hooks/RewardCodeClaimHooks.tsx'; /* Metro dependency 9948 */ import * as QuestCopyHooksModule from '../hooks/QuestCopyHooks.tsx'; /* Metro dependency 9950 */ function _fun77854(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#77854, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10133:6, offset: 0x01e0e463, size: 264 bytes, params: 8, frame: 19 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); let value = ReactNativeModule; const env0_4 = value.ActivityIndicator; const env0_5 = value.View; value = require(33) /* metro dependency 33 */; const env0_8 = value.jsx; const env0_9 = value.jsxs; const env0_10 = (CreateStylesModule).createStyles(_fun77863); (FileImportTrackerModule).fileFinishedImporting('modules/quests/native/QuestRewardCodeClaimBottomSheet.native.tsx'); exports.default = QuestRewardCodeClaimBottomSheetConnected; function QuestRewardCodeClaimBottomSheet({quest, questContent, questContentPosition, sourceQuestContent}) { // fn#77855, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10133:530, offset: 0x01e0e56b, size: 1446 bytes, params: 2, frame: 49 const styles = useStyles((UseSafeAreaInsetsNative)().bottom); const {rewardCode, isFetchingRewardCode, isClaimingReward} = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([QuestStore], function() { var object = {}; var questStoreBinding = QuestStore; var questBinding = quest; object.rewardCode = questStoreBinding.getRewardCode(questBinding.id); object.isFetchingRewardCode = QuestStore.isFetchingRewardCode(questBinding.id); object.isClaimingReward = QuestStore.isClaimingReward(questBinding.id); return object; }); const {claimCode, fetchCode, hasError} = (RewardCodeClaimHooksModule).useClaimOrFetchRewardCode({isClaimingReward: isClaimingReward, isFetchingRewardCode: isFetchingRewardCode, quest: quest, questContent: questContent, rewardCode: rewardCode}); let binding = isTieredRewardCodeQuest22; binding.useEffect(_fun77857, [hasError]); const isTieredRewardCodeQuest2 = QuestRewardUtilsModule.isTieredRewardCodeQuest({quest: quest}); var isTieredRewardCodeQuest22 = isTieredRewardCodeQuest2; binding = isTieredRewardCodeQuest22; const useMemo = binding.useMemo; const value6 = isTieredRewardCodeQuest22.useMemo(_fun77859, [Reflect.apply(useMemo, binding, [_fun77858, [isTieredRewardCodeQuest2, quest, rewardCode?.tier]]), rewardCode]); const useClaimRewardCodePrimaryCtaClickHandler = RewardCodeClaimHooksModule.useClaimRewardCodePrimaryCtaClickHandler; object = {claimCode: claimCode, fetchCode: fetchCode, hasError: hasError}; object.onDismiss = (importDefault(4080) /* metro dependency 4080: ActionSheetActionCreators */).hideActionSheet; object.quest = quest; object.questContent = questContent; object.questContentPosition = questContentPosition; object.redemptionLink = value6; object.sourceQuestContent = sourceQuestContent; const value7 = Reflect.apply(useClaimRewardCodePrimaryCtaClickHandler, RewardCodeClaimHooksModule, [object]); const value8 = isTieredRewardCodeQuest22.useCallback(_fun77860, [rewardCode]); const rewardCodeRedemptionInstructions = (QuestCopyHooksModule).getRewardCodeRedemptionInstructions({quest: quest, rewardCode: rewardCode}); let r20 = isFetchingRewardCode || isClaimingReward; r20 = !r20 ? rewardCode?.code == null : r20; const BottomSheet = (BottomSheetNativeModule).BottomSheet; object = {}; const BottomSheetTitleHeader = (BottomSheetTitleHeaderNativeModule).BottomSheetTitleHeader; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; object.header = ( ); object.startExpanded = true; const r12 = rewardCode != null && rewardCodeRedemptionInstructions != null && ((Text) => {(importDefault(6622) /* metro dependency 6622: MarkupUtils */).parse(rewardCodeRedemptionInstructions, true, {allowLinks: true})})((require(4573) /* metro dependency 4573: Text */).Text); const r25 = rewardCode?.code == null && styles.codeCopyWrapperLoading; const TableRowGroup = (TableRowGroupNativeModule).TableRowGroup; const TableRow = (require(6238) /* metro dependency 6238: TableRowNative */).TableRow; const view = ( {r12} )((require(6238) /* metro dependency 6238: TableRowNative */).TableRow.Icon)} onPress={rewardCode?.code != null ? value8 : undefined} /> {rewardCode?.code == null && } ); const Button = (ButtonNativeModule).Button; return ( {view}