Files
discord-decomp/sources/modules/virtual_currency/checkout/OrbCheckoutModalContext.tsx
T
2026-07-27 16:20:00 +03:00

107 lines
6.3 KiB
TypeScript

/* 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 (
<Provider
value={{skuId: skuId, loadId: loadId, analyticsLocations: analyticsLocations ?? [],
analyticsSourceLocation: analyticsSourceLocation, orbProductContext: orbProductContext,
onRedeemVirtualCurrency: onRedeemVirtualCurrency, isRedeeming: isRedeeming,
orbRedemptionError: orbRedemptionError}}
>
{children}
</Provider>
);
}
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);
}