Files
discord-decomp/sources/modules/virtual_currency/checkout/OrbCheckoutModalContext.tsx
T
2026-07-28 01:06:53 +03:00

114 lines
7.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] */
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 (
<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);
}
}
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] */;