// Module ID: 9721 // Function ID: 75742 // Name: RewardPreview // Dependencies: [31, 27, 8047, 5775, 1875, 1850, 6207, 653, 33, 4131, 689, 5159, 8008, 1874, 1273, 4127, 1212, 4555, 9722, 1456, 8736, 566, 6275, 6510, 6224, 9648, 8703, 8044, 6238, 9638, 7983, 9646, 5085, 6625, 9034, 9651, 5482, 1921, 4544, 3990, 2] // Exports: default // Module 9721 (RewardPreview) import useThemeAndReducedMotionAwareAssetUrl from "useThemeAndReducedMotionAwareAssetUrl"; import get_ActivityIndicator from "BadgeId"; import _isNativeReflectConstruct from "_isNativeReflectConstruct"; import { isAvatarDecorationRecord } from "_isNativeReflectConstruct"; import { isNameplateRecord } from "_isNativeReflectConstruct"; import closure_9 from "_isNativeReflectConstruct"; import closure_10 from "_isNativeReflectConstruct"; import { HelpdeskArticles } from "ME"; import jsxProd from "IconButton"; import _createForOfIteratorHelperLoose from "_createForOfIteratorHelperLoose"; let closure_12; let closure_13; let closure_14; let closure_4; let closure_5; const require = arg1; function RewardPreview(arg0) { let collectiblesItem; let currentUser; let gradientAngle; let gradientColors; ({ collectiblesItem, gradientAngle } = arg0); ({ currentUser, gradientColors } = arg0); const tmp = callback3(importDefault(5159)().insets.bottom); if (isNameplateRecord(collectiblesItem)) { let obj = {}; obj = { style: tmp.nameplateWrapper }; const obj1 = { nameplate: null, fullOpacity: true, animate: true }; let obj8 = require(1874) /* getNameplateData */; obj1.nameplate = obj8.getNameplateData(collectiblesItem); obj.children = callback(importDefault(8008), obj1); const items = [callback(closure_5, obj), , ]; const obj2 = { style: tmp.singleAvatarContainer }; const obj3 = { user: currentUser, guildId: undefined, size: require(1273) /* Button */.AvatarSizes.SMALL, "aria-hidden": true }; obj2.children = callback(require(1273) /* Button */.Avatar, obj3); items[1] = callback(closure_5, obj2); const obj4 = { style: tmp.selectedRewardText, variant: "text-xs/medium" }; const intl2 = require(1212) /* getSystemLocale */.intl; obj4.children = intl2.string(require(1212) /* getSystemLocale */.t.Rh4oem); items[2] = callback(require(4127) /* Text */.Text, obj4); obj.children = items; let tmp5Result = callback2(closure_13, obj); const tmp26 = importDefault(8008); } else { tmp5Result = null; if (isAvatarDecorationRecord(collectiblesItem)) { obj = {}; const obj5 = { style: tmp.selectedRewardBannerGradient, useAngle: true }; let num2 = 90; if (null != gradientAngle) { num2 = gradientAngle; } obj5.angle = num2; obj5.angleCenter = { x: 0.5, y: 0.5 }; obj5.colors = gradientColors; const items1 = [callback(importDefault(4555), obj5), , ]; const obj6 = { style: tmp.singleAvatarContainer }; const obj7 = {}; const tmp10 = importDefault(4555); const tmp5 = callback2; const tmp6 = closure_13; const tmp7 = callback; obj7.size = require(1273) /* Button */.AvatarSizes.NORMAL; obj7.asset = collectiblesItem.asset; obj6.children = callback(importDefault(9722), obj7); items1[1] = callback(closure_5, obj6); obj8 = { style: tmp.selectedRewardText, variant: "text-xs/medium", color: "text-overlay-light" }; const intl = require(1212) /* getSystemLocale */.intl; obj8.children = intl.string(require(1212) /* getSystemLocale */.t.Rh4oem); items1[2] = callback(require(4127) /* Text */.Text, obj8); obj.children = items1; tmp5Result = tmp5(tmp6, obj); const tmp16 = importDefault(9722); } } return tmp5Result; } ({ StyleSheet: closure_4, View: closure_5 } = get_ActivityIndicator); ({ jsx: closure_12, Fragment: closure_13, jsxs: closure_14 } = jsxProd); let closure_15 = _createForOfIteratorHelperLoose.createStyles((arg0) => { let obj = {}; obj = { backgroundColor: importDefault(689).colors.BACKGROUND_BASE_LOW, paddingTop: importDefault(689).space.PX_12, paddingBottom: importDefault(689).space.PX_12 + arg0, paddingHorizontal: importDefault(689).space.PX_16, gap: importDefault(689).space.PX_8 }; const merged = Object.assign(importDefault(689).shadows.SHADOW_TOP_HIGH); obj.container = obj; obj.chooseRewardContainer = { flexDirection: "row", alignItems: "center", height: 52 }; obj = {}; const merged1 = Object.assign(closure_4.absoluteFillObject); obj["borderRadius"] = importDefault(689).radii.sm; obj["overflow"] = "hidden"; obj.gradientBackdrop = obj; obj.chooseRewardText = { flex: 1, marginStart: importDefault(689).space.PX_8 }; obj.backgroundImage = { position: "absolute", top: 0, left: 0, right: 0, bottom: 0, opacity: 1 }; const obj2 = { width: 58, height: 58, marginStart: importDefault(689).space.PX_8 }; obj.inAppFlowImage = obj2; const obj3 = { width: 86, height: 86 }; const items = [{ rotate: "-4deg" }, { translateY: -11 }]; obj3.transform = items; obj.inAppFlowImageLargeTilted = obj3; obj.singleAvatarContainer = { flexDirection: "row", paddingRight: 15, justifyContent: "center", alignItems: "center", marginLeft: 5 }; const obj4 = { flexDirection: "row", alignItems: "center", gap: importDefault(689).space.PX_16 }; obj.selectedRewardRow = obj4; obj.selectedRewardBannerContainer = { flex: 1, flexDirection: "row", alignItems: "center", height: 52 }; const obj5 = {}; const merged2 = Object.assign(closure_4.absoluteFillObject); obj5["borderRadius"] = importDefault(689).radii.sm; obj5["top"] = importDefault(689).space.PX_4; obj5["bottom"] = importDefault(689).space.PX_4; obj5["start"] = importDefault(689).space.PX_4; obj5["end"] = importDefault(689).space.PX_4; obj5["marginStart"] = importDefault(689).space.PX_12; obj.selectedRewardBannerGradient = obj5; obj.selectedRewardText = { flex: 1 }; const obj6 = { position: "absolute", left: 0, right: 0, top: 0, bottom: 0, borderRadius: importDefault(689).radii.sm, overflow: "hidden" }; obj.nameplateWrapper = obj6; return obj; }); const result = require("_isNativeReflectConstruct").fileFinishedImporting("modules/premium/native/gifting/PremiumGiftPurchaseButton.tsx"); export default function PremiumGiftPurchaseButton(defaultSelection) { let c3; let claimableRewards; let dependencyMap; let isPurchasing; defaultSelection = defaultSelection.defaultSelection; let importDefault; let React; claimableRewards = undefined; let setSelectedGiftingPromotionReward; let setCurrentAnalyticsStep; let c8; let c9; let c10; function navigateToRewardSelection(selectedGiftingPromotionReward) { let tmp = selectedGiftingPromotionReward; if (c8) { setCurrentAnalyticsStep(defaultSelection(outer1_2[28]).PaymentFlowStep.REWARD_SKU_SELECT); if (null == tmp) { tmp = defaultSelection; } let navigateResult = { defaultHighlightedReward: tmp, allRewards: null != c3 ? c3 : [], claimableRewards: null != claimableRewards ? claimableRewards : [], onSelect(arg0) { outer1_6(arg0); outer1_1.navigate(defaultSelection(outer2_2[29]).PremiumGiftScreens.CUSTOMIZATION); } }; navigateResult = navigation.navigate(defaultSelection(outer1_2[29]).PremiumGiftScreens.REWARD_SELECT, navigateResult); } } let tmp = callback3(importDefault(5159)().insets.bottom); let obj = defaultSelection(1456); importDefault = obj.useNavigation(); let obj1 = defaultSelection(8736); const nativeGiftContext = obj1.useNativeGiftContext(); ({ onPurchase: dependencyMap, isPurchasing, allRewards: c3, claimableRewards } = nativeGiftContext); const selectedGiftingPromotionReward = nativeGiftContext.selectedGiftingPromotionReward; setSelectedGiftingPromotionReward = nativeGiftContext.setSelectedGiftingPromotionReward; setCurrentAnalyticsStep = nativeGiftContext.setCurrentAnalyticsStep; let obj2 = defaultSelection(566); const items = [c9]; const stateFromStores = obj2.useStateFromStores(items, () => _undefined.getCurrentUser()); let obj3 = defaultSelection(6275); const canPurchaseIAP = obj3.useCanPurchaseIAP(nativeGiftContext.productId); let obj4 = defaultSelection(566); const items1 = [c10]; const stateFromStores1 = obj4.useStateFromStores(items1, () => { const marketingComponentByType = _undefined2.getMarketingComponentByType(defaultSelection(outer1_2[23]).MarketingComponentType.GIFT_CUSTOMIZATION_BANNER); let prop = null; if (null != marketingComponentByType) { prop = null; if ("giftCustomizationBanner" === marketingComponentByType.properties.properties.oneofKind) { prop = marketingComponentByType.properties.properties.giftCustomizationBanner; } } return prop; }); let assetVariant; if (null != stateFromStores1) { assetVariant = stateFromStores1.assetVariant; } let inAppFlowImageLargeTilted = assetVariant === defaultSelection(6224).GiftCustomizationBanner_AssetVariant.LARGE_TILTED; let tmp7 = null != claimableRewards; if (tmp7) { tmp7 = claimableRewards.length > 0; } c8 = tmp7; let tmp8 = null != claimableRewards; if (tmp8) { tmp8 = 1 === claimableRewards.length; } c9 = tmp8; const tmp9 = importDefault(9648)(); let tmp10 = tmp9; if (tmp9) { tmp10 = null == selectedGiftingPromotionReward; } c10 = tmp10; const GiftingBadgeExperiment = defaultSelection(8703).GiftingBadgeExperiment; let obj5 = defaultSelection(566); const items2 = [setSelectedGiftingPromotionReward]; const stateFromStoresObject = obj5.useStateFromStoresObject(items2, () => { let getNextTier; let getRemainingToNextTier; ({ getNextTier, getRemainingToNextTier } = setSelectedGiftingPromotionReward); return { nextTier: getNextTier(defaultSelection(outer1_2[27]).BadgeId.GIFTING), giftsToNextTier: getRemainingToNextTier(defaultSelection(outer1_2[27]).BadgeId.GIFTING) }; }); const nextTier = stateFromStoresObject.nextTier; const items3 = [tmp8, claimableRewards, setSelectedGiftingPromotionReward]; const effect = React.useEffect(() => { if (c9) { setSelectedGiftingPromotionReward(claimableRewards[0]); } }, items3); let colors; if (null != stateFromStores1) { const gradient = stateFromStores1.gradient; if (null != gradient) { colors = gradient.colors; } } if (null == colors) { colors = []; } let tmp13 = colors; if (colors.length <= 0) { const _String = String; const items4 = [String(importDefault(689).colors.BACKGROUND_BRAND), ]; const _String2 = String; items4[1] = String(importDefault(689).colors.BACKGROUND_BRAND); tmp13 = items4; } let obj6 = defaultSelection(7983); const product = obj6.useFetchCollectiblesProduct(selectedGiftingPromotionReward).product; const intl = defaultSelection(1212).intl; const string = intl.string; const t = defaultSelection(1212).t; if (tmp10) { let stringResult = string(t["gNZY/B"]); } else { stringResult = string(t.ouo4FK); } let str = "active"; if (tmp10) { str = "primary"; } let obj7 = defaultSelection(9646); let prop; if (null != stateFromStores1) { prop = stateFromStores1.mobileBackgroundAsset; } const themeAndReducedMotionAwareAssetUrl = obj7.useThemeAndReducedMotionAwareAssetUrl(prop); let obj8 = defaultSelection(9646); let asset; if (null != stateFromStores1) { asset = stateFromStores1.asset; } const themeAndReducedMotionAwareAssetUrl1 = obj8.useThemeAndReducedMotionAwareAssetUrl(asset); let first; if (null != product) { first = product.items[0]; } obj = { style: tmp.container }; if (tmp10) { if (tmp7) { obj = { style: tmp.chooseRewardContainer }; obj1 = { style: tmp.gradientBackdrop, pointerEvents: "none" }; obj2 = { style: claimableRewards.absoluteFillObject, useAngle: true }; let angle; if (null != stateFromStores1) { const gradient3 = stateFromStores1.gradient; if (null != gradient3) { angle = gradient3.angle; } } let num9 = 90; if (null != angle) { num9 = angle; } obj2.angle = num9; obj2.angleCenter = { x: 0.5, y: 0.5 }; obj2.colors = colors; const items5 = [callback(importDefault(4555), obj2), ]; let tmp54 = null != themeAndReducedMotionAwareAssetUrl; if (tmp54) { obj3 = { style: tmp.backgroundImage, resizeMode: "cover" }; obj4 = { uri: themeAndReducedMotionAwareAssetUrl }; obj3.source = obj4; tmp54 = callback(importDefault(5085), obj3); } items5[1] = tmp54; obj1.children = items5; const items6 = [closure_14(selectedGiftingPromotionReward, obj1), , ]; let tmp59Result = null != themeAndReducedMotionAwareAssetUrl1; if (tmp59Result) { obj5 = {}; const items7 = [tmp.inAppFlowImage, ]; if (inAppFlowImageLargeTilted) { inAppFlowImageLargeTilted = tmp.inAppFlowImageLargeTilted; } items7[1] = inAppFlowImageLargeTilted; obj5.style = items7; obj5.resizeMode = "contain"; obj6 = { uri: themeAndReducedMotionAwareAssetUrl1 }; obj5.source = obj6; tmp59Result = callback(importDefault(5085), obj5); const tmp59 = callback; const tmp62 = importDefault(5085); } items6[1] = tmp59Result; obj7 = { style: tmp.chooseRewardText, variant: "text-xs/semibold", color: "text-overlay-light" }; const intl3 = defaultSelection(1212).intl; obj7.children = intl3.string(defaultSelection(1212).t.cMiNit); items6[2] = callback(defaultSelection(4127).Text, obj7); obj.children = items6; let tmp32Result = closure_14(selectedGiftingPromotionReward, obj); const tmp44 = closure_14; const tmp45 = selectedGiftingPromotionReward; const tmp46 = closure_14; const tmp47 = selectedGiftingPromotionReward; const tmp48 = callback; const tmp51 = importDefault(4555); } const items8 = [tmp32Result, , ]; let tmp66 = !tmp10; if (tmp66) { obj8 = { variant: "text-sm/normal" }; const intl4 = defaultSelection(1212).intl; const obj9 = { paidURL: importDefault(1921).getArticleURL(navigateToRewardSelection.PAID_TERMS) }; obj8.children = intl4.format(defaultSelection(1212).t.hYoGUM, obj9); tmp66 = callback(defaultSelection(4127).Text, obj8); const obj27 = importDefault(1921); } items8[1] = tmp66; const obj10 = { loading: isPurchasing, variant: str, text: stringResult }; let tmp75 = !canPurchaseIAP; if (!tmp75) { tmp75 = isPurchasing; } obj10.disabled = tmp75; let fn; if (!isPurchasing) { fn = () => { defaultSelection(outer1_2[39]).dismissKeyboard(); if (c10) { if (c8) { navigateToRewardSelection(); } } callback(() => { outer1_1.navigate(defaultSelection(outer2_2[29]).PremiumGiftScreens.SUCCESS); }); }; } obj10.onPress = fn; items8[2] = callback(defaultSelection(4544).Button, obj10); obj.children = items8; return tmp23(tmp24, obj); } if (null != first) { if (tmp9) { if (null != selectedGiftingPromotionReward) { const obj11 = { style: tmp.selectedRewardRow }; const obj12 = { style: tmp.selectedRewardBannerContainer }; const obj13 = { collectiblesItem: first, currentUser: stateFromStores, gradientColors: tmp13 }; let angle1; if (null != stateFromStores1) { const gradient2 = stateFromStores1.gradient; if (null != gradient2) { angle1 = gradient2.angle; } } obj13.gradientAngle = angle1; obj12.children = callback(RewardPreview, obj13); const items9 = [callback(selectedGiftingPromotionReward, obj12), ]; let tmp39 = !tmp8; if (!tmp8) { const obj14 = { variant: "tertiary", size: "sm" }; const obj15 = { size: "sm" }; obj14.icon = callback(defaultSelection(9034).PencilIcon, obj15); const intl2 = defaultSelection(1212).intl; obj14.accessibilityLabel = intl2.string(defaultSelection(1212).t.bt75uw); obj14.onPress = function onPress() { navigateToRewardSelection(selectedGiftingPromotionReward); }; tmp39 = callback(defaultSelection(6625).IconButton, obj14); } items9[1] = tmp39; obj11.children = items9; tmp32Result = closure_14(selectedGiftingPromotionReward, obj11); const tmp32 = closure_14; const tmp33 = selectedGiftingPromotionReward; const tmp34 = callback; const tmp35 = selectedGiftingPromotionReward; const tmp36 = callback; const tmp37 = RewardPreview; } } } tmp32Result = null; if (GiftingBadgeExperiment.useConfig({ location: "PremiumGiftPurchaseButton" }).enabled) { tmp32Result = null; if (null != nextTier) { const obj16 = { giftsToNextTier: stateFromStoresObject.giftsToNextTier }; const name = nextTier.name; let str2 = ""; if (null != name) { str2 = name; } obj16.nextTierName = str2; obj16.nextTierIcon = nextTier.simple_icon_url; obj16.analyticsLocation = importDefault(5482).PREMIUM_GIFT_CUSTOMIZATION; tmp32Result = callback(importDefault(9651), obj16); const tmp26 = callback; const tmp29 = importDefault(9651); } } };