/* Metro module 10114; source: modules/virtual_currency/checkout/OrbCheckoutModalContext.tsx; dependencies: [31, 1878, 4279, 33, 491, 566, 3802, 6833, 8461, 5133, 3817, 10073, 2] */ import UserStore from '../../../stores/UserStore.tsx'; /* Metro dependency 1878 */ import SKUStore from '../../../stores/game_store/SKUStore.tsx'; /* Metro dependency 4279 */ import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ 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 UseFetchCollectiblesProductModule from '../../collectibles/hooks/useFetchCollectiblesProduct.tsx'; /* Metro dependency 8461 */ import * as UseRedeemVirtualCurrencyModule from '../hooks/useRedeemVirtualCurrency.tsx'; /* Metro dependency 10073 */ 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 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const createContext = ReactModule.createContext; object = {'skuId': '123', 'loadId': null, 'analyticsLocations': null, 'analyticsSourceLocation': null, 'isRedeeming': false, 'orbRedemptionError': null, 'orbProductContext': null}; object.loadId = (require(491) /* metro dependency 491 */).v4(); object.analyticsLocations = []; object.analyticsSourceLocation = undefined; object.onRedeemVirtualCurrency = function() { }; const env0_9 = createContext(object); const useOrbCheckoutModalContextProvider2 = useOrbCheckoutModalContextProvider; (FileImportTrackerModule).fileFinishedImporting('modules/virtual_currency/checkout/OrbCheckoutModalContext.tsx'); exports.useOrbCheckoutModalContextProvider = useOrbCheckoutModalContextProvider2; 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 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 = (UseRedeemVirtualCurrencyModule).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 _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 != ReactModule.useCallback) { return {orbPriceAmount: ReactModule.useCallback.amount}; } if (value2 != product) { value3 = environment.__proto__; productOrbPrice = (require(5133) /* metro dependency 5133: CollectiblesProductUtils */).getProductOrbPrice({product: product, hasShopDiscount: ReactModule.useContext}); 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); } } } 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); } } global.__d(_fun78956, 10114, [31, 1878, 4279, 33, 491, 566, 3802, 6833, 8461, 5133, 3817, 10073, 2]) /* metro module 10114, dependencies: [31, 1878, 4279, 33, 491, 566, 3802, 6833, 8461, 5133, 3817, 10073, 2] */;