/* Metro module 10114; source: modules/virtual_currency/checkout/OrbCheckoutModalContext.tsx; dependencies: [31, 1878, 4279, 33, 491, 566, 3802, 6833, 8461, 5133, 3817, 10073, 2] */ function _fun78956(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#78956, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10300:6, offset: 0x01e3e61f, size: 312 bytes, params: 8, frame: 19 var object2; const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const value = require(31) /* metro dependency 31 */; const createContext = value.createContext; const env0_3 = value.useContext; const env0_4 = value.useCallback; const env0_5 = value.useMemo; const userStore = importDefault(1878) /* metro dependency 1878: UserStore */; const skuStore = importDefault(4279) /* metro dependency 4279: SKUStore */; const env0_8 = (require(33) /* metro dependency 33 */).jsx; object2 = {'skuId': '123', 'loadId': null, 'analyticsLocations': null, 'analyticsSourceLocation': null, 'isRedeeming': false, 'orbRedemptionError': null, 'orbProductContext': null}; object2.loadId = (require(491) /* metro dependency 491 */).v4(); object2.analyticsLocations = []; object2.analyticsSourceLocation = undefined; object2.onRedeemVirtualCurrency = function() { }; const env0_9 = createContext(object2); const closure = useOrbCheckoutModalContextProvider; (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/virtual_currency/checkout/OrbCheckoutModalContext.tsx'); exports.useOrbCheckoutModalContextProvider = closure; exports.OrbCheckoutModalContextProvider = OrbCheckoutModalContextProvider; exports.useOrbCheckoutModalContext = useOrbCheckoutModalContext; } function useOrbCheckoutModalContextProvider({skuId, loadId, onCheckoutSuccess, onSignFailure, order}) { // fn#78958, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10300:421, offset: 0x01e3e757, size: 473 bytes, params: 2, frame: 26 const value = undefined; const value3 = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() { return importDefault(dependencyMap[6]).canUseShopDiscounts(UserStore.getCurrentUser()); }); const value5 = (require(6833) /* metro dependency 6833: StorefrontUtils */).useSKUOrbPrice({sku: (require(566) /* metro dependency 566: flux */).useStateFromStores([SKUStore], function() { return SKUStore.get(skuId); }, [skuId])}); const useFetchCollectiblesProductModule = require(8461) /* metro dependency 8461: useFetchCollectiblesProduct */; const useFetchCollectiblesProduct = useFetchCollectiblesProductModule.useFetchCollectiblesProduct; const value6 = useMemo(_fun78961, [value5, Reflect.apply(useFetchCollectiblesProduct, useFetchCollectiblesProductModule, [skuId]).product, value3]); if ((value6 == null ? value : value6.orbPriceAmount) == null) { (require(3817) /* metro dependency 3817: BillingUtils */).captureBillingMessage('Orb price not found for product', {tags: {sku_id: skuId}}); } const value7 = (require(10073) /* metro dependency 10073: useRedeemVirtualCurrency */).useRedeemVirtualCurrency({skuId: skuId, loadId: loadId, order: order, onSignFailure: onSignFailure}); return {skuId: skuId, loadId: loadId, orbProductContext: value6, onRedeemVirtualCurrency: useCallback(function(a0) { var env0_0 = a0; redeemVirtualCurrency(skuId, loadId, _fun78963); }, [skuId, loadId, value7.redeemVirtualCurrency, onCheckoutSuccess]), isRedeeming: value7.isSubmitting, orbRedemptionError: value7.error}; } function OrbCheckoutModalContextProvider({skuId, loadId, analyticsSourceLocation, analyticsLocations, onCheckoutSuccess, children}) { // fn#78964, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10300:1563, offset: 0x01e3ea3e, size: 174 bytes, params: 2, frame: 23 const {orbProductContext, onRedeemVirtualCurrency, isRedeeming, orbRedemptionError} = useOrbCheckoutModalContextProvider({skuId: skuId, loadId: loadId, onCheckoutSuccess: onCheckoutSuccess}); const Provider = env0_9.Provider; return ( {children} ); } function useOrbCheckoutModalContext() { // fn#78965, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10300:2062, offset: 0x01e3eaec, size: 20 bytes, params: 1, frame: 11 return useContext(env0_9); } function _fun78961() { // fn#78961, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10300:721, offset: 0x01e3e963, size: 119 bytes, params: 1, frame: 14 var value3; var productOrbPrice; const value2 = null; if (value2 != env0_4) { return {orbPriceAmount: env0_4.amount}; } if (value2 != product) { value3 = environment.__proto__; productOrbPrice = (require(5133) /* metro dependency 5133: CollectiblesProductUtils */).getProductOrbPrice({product: product, hasShopDiscount: env0_3}); return {orbPriceAmount: value2 === productOrbPrice ? value2 : productOrbPrice.amount}; } return value2; } function _fun78962(a0) { // fn#78962, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10300:1181, offset: 0x01e3e9da, size: 42 bytes, params: 2, frame: 15 const env0_0 = a0; redeemVirtualCurrency(skuId, loadId, _fun78963); } function _fun78963(a0) { // fn#78963, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10300:1192, offset: 0x01e3ea04, size: 58 bytes, params: 2, frame: 13 if (onCheckoutSuccess != null) { onCheckoutSuccess({entitlements: a0, skuId: skuId}); } env0_0(a0); }