Initial commit

This commit is contained in:
janisslsm committed 2026-07-27 16:20:00 +03:00
commit af3b49f756
16065 files changed
+2938410

No files matched your search

File diff suppressed because it is too large. Load diff
@@ -0,0 +1,57 @@
/* Metro module 9489; source: modules/virtual_currency/VirtualCurrencyUtils.tsx; dependencies: [661, 663, 1376, 1880, 3968, 1365, 2] */
function _fun74077(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#74077, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9675:6, offset: 0x01d7fcba, size: 206 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = (require(661) /* metro dependency 661: Constants */).COLLECTIBLES_APPLICATION_ID;
const env0_3 = (require(663) /* metro dependency 663: CollectiblesShopConstants */).EXTERNAL_PRODUCT_SKU_IDS;
const dismissibleContentConstantsModule = require(1376) /* metro dependency 1376: DismissibleContentConstants */;
const env0_4 = dismissibleContentConstantsModule.DismissibleContentGroupName;
const env0_5 = dismissibleContentConstantsModule.ContentDismissActionType;
const env0_6 = (require(1880) /* metro dependency 1880: PremiumConstants */).PREMIUM_SUBSCRIPTION_APPLICATION;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/virtual_currency/VirtualCurrencyUtils.tsx');
exports.get1PShopApplicationIdForSKU = function(a0) {
return a0 === EXTERNAL_PRODUCT_SKU_IDS.FRACTIONAL_PREMIUM ? PREMIUM_SUBSCRIPTION_APPLICATION : COLLECTIBLES_APPLICATION_ID;
};
exports.dismissOrbsOnboardingExperience = dismissOrbsOnboardingExperience;
}
function dismissOrbsOnboardingExperience() { // fn#74079, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9675:463, offset: 0x01d7fda8, size: 282 bytes, params: 1, frame: 21
var moduleValue2;
var UNSAFE_markDismissibleContentAsDismissed;
var INDIRECT_ACTION;
var VIRTUAL_CURRENCY_ONBOARDING;
var VIRTUAL_CURRENCY_DISCOVERY_ONBOARDING_COACHMARK;
var VIRTUAL_CURRENCY_SHOP_ONBOARDING_COACHMARK;
var value;
const dismissibleContentUnsafeUtilsModule = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
const UNSAFE_isDismissibleContentDismissed = dismissibleContentUnsafeUtilsModule.UNSAFE_isDismissibleContentDismissed;
const DismissibleContent = (require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent;
let VIRTUAL_CURRENCY_ONBOARDING_ANNOUNCEMENT_MODAL = DismissibleContent.VIRTUAL_CURRENCY_ONBOARDING_ANNOUNCEMENT_MODAL;
if (!Reflect.apply(UNSAFE_isDismissibleContentDismissed, dismissibleContentUnsafeUtilsModule,
[VIRTUAL_CURRENCY_ONBOARDING_ANNOUNCEMENT_MODAL])) {
moduleValue2 = dismissibleContentUnsafeUtilsModule;
UNSAFE_markDismissibleContentAsDismissed = moduleValue2.UNSAFE_markDismissibleContentAsDismissed;
VIRTUAL_CURRENCY_ONBOARDING_ANNOUNCEMENT_MODAL = DismissibleContent.VIRTUAL_CURRENCY_ONBOARDING_ANNOUNCEMENT_MODAL;
INDIRECT_ACTION = ContentDismissActionType.INDIRECT_ACTION;
VIRTUAL_CURRENCY_ONBOARDING = DismissibleContentGroupName.VIRTUAL_CURRENCY_ONBOARDING;
Reflect.apply(UNSAFE_markDismissibleContentAsDismissed, moduleValue2,
[VIRTUAL_CURRENCY_ONBOARDING_ANNOUNCEMENT_MODAL, {dismissAction: INDIRECT_ACTION,
groupName: VIRTUAL_CURRENCY_ONBOARDING}]);
value = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
UNSAFE_markDismissibleContentAsDismissed = value.UNSAFE_markDismissibleContentAsDismissed;
VIRTUAL_CURRENCY_DISCOVERY_ONBOARDING_COACHMARK = DismissibleContent.VIRTUAL_CURRENCY_DISCOVERY_ONBOARDING_COACHMARK;
INDIRECT_ACTION = ContentDismissActionType.INDIRECT_ACTION;
VIRTUAL_CURRENCY_ONBOARDING = DismissibleContentGroupName.VIRTUAL_CURRENCY_ONBOARDING;
Reflect.apply(UNSAFE_markDismissibleContentAsDismissed, value, [VIRTUAL_CURRENCY_DISCOVERY_ONBOARDING_COACHMARK,
{dismissAction: INDIRECT_ACTION, groupName: VIRTUAL_CURRENCY_ONBOARDING}]);
value = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
UNSAFE_markDismissibleContentAsDismissed = value.UNSAFE_markDismissibleContentAsDismissed;
VIRTUAL_CURRENCY_SHOP_ONBOARDING_COACHMARK = DismissibleContent.VIRTUAL_CURRENCY_SHOP_ONBOARDING_COACHMARK;
INDIRECT_ACTION = ContentDismissActionType.INDIRECT_ACTION;
VIRTUAL_CURRENCY_ONBOARDING = DismissibleContentGroupName.VIRTUAL_CURRENCY_ONBOARDING;
Reflect.apply(UNSAFE_markDismissibleContentAsDismissed, value, [VIRTUAL_CURRENCY_SHOP_ONBOARDING_COACHMARK,
{dismissAction: INDIRECT_ACTION, groupName: VIRTUAL_CURRENCY_ONBOARDING}]);
}
}
@@ -0,0 +1,106 @@
/* 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);
}
@@ -0,0 +1,43 @@
/* Metro module 6836; source: modules/virtual_currency/checkout/OrbCheckoutUtils.tsx; dependencies: [661, 663, 1244, 2] */
function _fun53836(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#53836, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7014:6, offset: 0x01356d46, size: 168 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const constantsModule = require(661) /* metro dependency 661: Constants */;
const env0_2 = constantsModule.CurrencyCodes;
const env0_3 = constantsModule.MarketingURLs;
const env0_4 = constantsModule.PriceSetAssignmentPurchaseTypes;
const env0_5 = (require(663) /* metro dependency 663: CollectiblesShopConstants */).EXTERNAL_PRODUCT_SKU_IDS;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/virtual_currency/checkout/OrbCheckoutUtils.tsx');
exports.getOrbPriceFromPrices = getOrbPriceFromPrices;
exports.getOrbCheckoutDisclaimerMessage = getOrbCheckoutDisclaimerMessage;
}
function getOrbPriceFromPrices(a0, a1) { // fn#53837, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7014:325, offset: 0x01356dee, size: 162 bytes, params: 3, frame: 15
const r1 = a1 && a0[PriceSetAssignmentPurchaseTypes.PREMIUM_TIER_2] != null ? a0[PriceSetAssignmentPurchaseTypes.PREMIUM_TIER_2] : a0[PriceSetAssignmentPurchaseTypes.DEFAULT];
const value = null;
let r3 = value == r1 || value == r1.countryPrices || value == r1.countryPrices.prices ? undefined : r1.countryPrices.prices.slice(0,
2);
r3 = value == r3 ? [] : r3;
const value4 = r3.find(function({currency}) {
return currency === CurrencyCodes.DISCORD_ORB;
});
return value != value4 ? value4 : value;
}
function getOrbCheckoutDisclaimerMessage(a0) { // fn#53839, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7014:596, offset: 0x01356eac, size: 351 bytes, params: 2, frame: 22
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const format = intl.format;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
const property = t['5qdUrO'];
const intl2 = (require(1244) /* metro dependency 1244: indexNative */).intl;
const PAID_TERMS = MarketingURLs.PAID_TERMS;
const PAID_TERMS_VIRTUAL_GOODS = MarketingURLs.PAID_TERMS_VIRTUAL_GOODS;
const value2 = Reflect.apply(format, intl, [property, {buyButtonLabel: intl2.string(t['zLch/S']),
paidServiceTermURL: PAID_TERMS, virtualGoodsURL: PAID_TERMS_VIRTUAL_GOODS}]);
const value3 = intl.string(t['Sxed/G']);
const ORB_PROFILE_BADGE = EXTERNAL_PRODUCT_SKU_IDS.ORB_PROFILE_BADGE;
return [value2, ' ',
a0 === ORB_PROFILE_BADGE ? intl.string(t.APcKRo) : a0 !== EXTERNAL_PRODUCT_SKU_IDS.FRACTIONAL_PREMIUM ? value3 : intl.string(t.FhJ74j)];
}
@@ -0,0 +1,311 @@
/* Metro module 10113; source: modules/virtual_currency/checkout/native/OrbCheckoutModal.tsx; dependencies: [31, 661, 482, 33, 10114, 8461, 4572, 10115, 9489, 7295, 683, 10119, 5080, 6258, 6259, 10120, 44, 491, 1244, 5282, 10121, 2] */
function _fun78941(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#78941, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10299:6, offset: 0x01e3da58, size: 299 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importAll(31) /* metro dependency 31 */;
let value = require(31) /* metro dependency 31 */;
const env0_4 = value.useRef;
const env0_5 = value.useEffect;
const env0_6 = value.useCallback;
const env0_7 = value.useMemo;
value = require(661) /* metro dependency 661: Constants */;
const env0_8 = value.AnalyticEvents;
const env0_9 = value.CurrencyCodes;
const env0_10 = (require(482) /* metro dependency 482: Constants */).InternalPaymentGateways;
value = require(33) /* metro dependency 33 */;
const env0_11 = value.jsx;
const env0_12 = value.jsxs;
object = {MAIN: 'MAIN'};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/virtual_currency/checkout/native/OrbCheckoutModal.tsx');
exports.default = _default_78952;
}
function OrbCheckoutModalContent({orbBalance}) { // fn#78942, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10299:322, offset: 0x01e3db83, size: 287 bytes, params: 2, frame: 23
const {skuId,
orbRedemptionError} = (require(10114) /* metro dependency 10114: OrbCheckoutModalContext */).useOrbCheckoutModalContext();
const useFetchCollectiblesProductModule = require(8461) /* metro dependency 8461: useFetchCollectiblesProduct */;
const useFetchCollectiblesProduct = useFetchCollectiblesProductModule.useFetchCollectiblesProduct;
const product = Reflect.apply(useFetchCollectiblesProduct, useFetchCollectiblesProductModule, [skuId]).product;
const Stack = (require(4572) /* metro dependency 4572: StackNative */).Stack;
const items2 = [orbRedemptionError != null && ((OrbCheckoutErrorCard) => <OrbCheckoutErrorCard error={orbRedemptionError.message} />)((require(10115) /* metro dependency 10115: OrbCheckoutModalComponents */).OrbCheckoutErrorCard)];
const OrbCheckoutOrderSummary = (require(10115) /* metro dependency 10115: OrbCheckoutModalComponents */).OrbCheckoutOrderSummary;
items2[1] = <OrbCheckoutOrderSummary product={product ?? null} />;
const OrbCheckoutPaymentSourceDetails = (require(10115) /* metro dependency 10115: OrbCheckoutModalComponents */).OrbCheckoutPaymentSourceDetails;
items2[2] = <OrbCheckoutPaymentSourceDetails orbBalance={orbBalance} />;
return (
<Stack>
{items2}
</Stack>
);
}
function OrbCheckoutModalFooter({onPress}) { // fn#78943, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10299:737, offset: 0x01e3dca2, size: 130 bytes, params: 2, frame: 21
const Stack = (require(4572) /* metro dependency 4572: StackNative */).Stack;
const OrbCheckoutLegalFinePrint = (require(10115) /* metro dependency 10115: OrbCheckoutModalComponents */).OrbCheckoutLegalFinePrint;
const orbCheckoutLegalFinePrint = <OrbCheckoutLegalFinePrint />;
const OrbCheckoutPurchaseButton = (require(10115) /* metro dependency 10115: OrbCheckoutModalComponents */).OrbCheckoutPurchaseButton;
return (
<Stack>
{orbCheckoutLegalFinePrint}
<OrbCheckoutPurchaseButton onPress={onPress} />
</Stack>
);
}
function OrbCheckoutModalScreen({startTime}) { // fn#78944, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10299:894, offset: 0x01e3dd24, size: 392 bytes, params: 2, frame: 24
const {onRedeemVirtualCurrency,
orbRedemptionError} = (require(10114) /* metro dependency 10114: OrbCheckoutModalContext */).useOrbCheckoutModalContext();
const emitOrbCheckoutPaymentFlowEvent = _fun78945(startTime).emitOrbCheckoutPaymentFlowEvent;
const value3 = (require(10119) /* metro dependency 10119: useVirtualCurrencyBalance */).useVirtualCurrencyBalance();
const value4 = useRef(value3);
useEffect(function() {
emitOrbCheckoutPaymentFlowEvent(AnalyticEvents.PAYMENT_FLOW_STARTED);
}, [emitOrbCheckoutPaymentFlowEvent]);
useEffect(_fun78949, [orbRedemptionError, emitOrbCheckoutPaymentFlowEvent]);
const r14 = value4.current ?? value3;
const value5 = useCallback(_fun78950, [emitOrbCheckoutPaymentFlowEvent, value3, onRedeemVirtualCurrency]);
const ModalScreen = (require(6258) /* metro dependency 6258: ModalScreenNative */).ModalScreen;
const ModalContent = (require(6259) /* metro dependency 6259: ModalContentNative */).ModalContent;
const modalContent = <ModalContent><OrbCheckoutModalContent orbBalance={r14} /></ModalContent>;
const ModalFooter = (require(10120) /* metro dependency 10120: ModalFooterNative */).ModalFooter;
return (
<ModalScreen>
{modalContent}
<ModalFooter>
<OrbCheckoutModalFooter onPress={value5} />
</ModalFooter>
</ModalScreen>
);
}
function _default_78952({skuId, onCheckoutSuccess, analyticsLocations}) { // fn#78952, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10299:2604, offset: 0x01e3e2df, size: 445 bytes, params: 2, frame: 24
var object4;
(importDefault(44) /* metro dependency 44 */)(skuId, 'SKU ID is required');
let binding = env0_3;
let useRef = binding.useRef;
const moduleValue = require(491) /* metro dependency 491 */;
const current = Reflect.apply(useRef, binding, [moduleValue.v4()]).current;
useRef = binding.useRef;
const Date = global.Date;
const current2 = Reflect.apply(useRef, binding, [Date.now()]).current;
binding.useEffect(function() {
var defaultImport = importDefault(dependencyMap[10]);
var OPEN_MODAL = AnalyticEvents.OPEN_MODAL;
defaultImport.track(OPEN_MODAL, {type: 'Orb Checkout Modal', location_stack: analyticsLocations,
sku_id: skuId});
}, [analyticsLocations, skuId]);
const value2 = binding.useCallback(_fun78954, [skuId, current, analyticsLocations, current2]);
object4 = {};
binding = env0_13;
let MAIN = binding.MAIN;
const object3 = {};
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
object3.title = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.q9EGps);
object3.headerShown = true;
object3.headerLeft = (require(5282) /* metro dependency 5282: NavigatorHeaderNative */).getHeaderTextButton(intl.string((require(1244) /* metro dependency 1244: indexNative */).t['ETE/oC']),
value2);
object3.render = render_78955;
object4[MAIN] = object3;
const Modal = (require(10121) /* metro dependency 10121: ModalNative */).Modal;
MAIN = binding.MAIN;
return (
<Modal
screens={object4}
initialRouteName={MAIN}
headerTitleAlign="center"
/>
);
}
function _fun78945(a0) { // fn#78945, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10299:1011, offset: 0x01e3deac, size: 162 bytes, params: 2, frame: 19
var object2;
const env0_0 = a0;
const value2 = (require(10114) /* metro dependency 10114: OrbCheckoutModalContext */).useOrbCheckoutModalContext();
const value3 = useMemo(_fun78946, [value2.loadId, value2.skuId, value2.analyticsLocations,
value2.orbProductContext]);
object2 = {};
object2.emitOrbCheckoutPaymentFlowEvent = useCallback(_fun78947, [a0, value3]);
return object2;
}
function _fun78949() { // fn#78949, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10299:2169, offset: 0x01e3e21c, size: 75 bytes, params: 1, frame: 15
var emitOrbCheckoutPaymentFlowEventBinding;
var value4;
if (orbRedemptionError != null && env0_4.current !== null) {
emitOrbCheckoutPaymentFlowEventBinding = emitOrbCheckoutPaymentFlowEvent;
value4 = environment.__proto__;
emitOrbCheckoutPaymentFlowEventBinding(AnalyticEvents.PAYMENT_FLOW_FAILED, orbRedemptionError);
env0_4.current = null;
}
}
function _fun78950() { // fn#78950, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10299:2289, offset: 0x01e3e267, size: 61 bytes, params: 1, frame: 12
const emitOrbCheckoutPaymentFlowEventBinding = emitOrbCheckoutPaymentFlowEvent;
const PAYMENT_FLOW_COMPLETED = AnalyticEvents.PAYMENT_FLOW_COMPLETED;
emitOrbCheckoutPaymentFlowEventBinding(PAYMENT_FLOW_COMPLETED);
env0_4.current = env0_3;
onRedeemVirtualCurrency(_fun78951);
}
function _fun78954() { // fn#78954, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10299:2892, offset: 0x01e3e4ed, size: 194 bytes, params: 1, frame: 22
const Date = global.Date;
const value = Date.now();
const defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
const track = defaultImport.track;
const PAYMENT_FLOW_CANCELED = AnalyticEvents.PAYMENT_FLOW_CANCELED;
const object2 = {};
object2.load_id = current;
const virtualCurrencyUtilsModule = require(9489) /* metro dependency 9489: VirtualCurrencyUtils */;
const get1PShopApplicationIdForSKU = virtualCurrencyUtilsModule.get1PShopApplicationIdForSKU;
const skuIdBinding = skuId;
object2.application_id = Reflect.apply(get1PShopApplicationIdForSKU, virtualCurrencyUtilsModule, [skuIdBinding]);
object2.location_stack = analyticsLocations;
const VIRTUAL_CURRENCY = InternalPaymentGateways.VIRTUAL_CURRENCY;
object2.payment_gateway = VIRTUAL_CURRENCY;
object2.sku_id = skuIdBinding;
const DISCORD_ORB = CurrencyCodes.DISCORD_ORB;
object2.currency = DISCORD_ORB;
object2.duration_ms = value - current;
Reflect.apply(track, defaultImport, [PAYMENT_FLOW_CANCELED, object2]);
(importDefault(5080) /* metro dependency 5080: ModalActionCreators */).pop();
}
function _default_78952Render() { // fn#78955, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10299:3316, owner: _default_78952.render, offset: 0x01e3e5af, size: 112 bytes, params: 1, frame: 17
const OrbCheckoutModalContextProvider = (require(10114) /* metro dependency 10114: OrbCheckoutModalContext */).OrbCheckoutModalContextProvider;
return (
<OrbCheckoutModalContextProvider
skuId={skuId}
loadId={current}
onCheckoutSuccess={onCheckoutSuccess}
analyticsLocations={analyticsLocations}
>
<OrbCheckoutModalScreen startTime={current} />
</OrbCheckoutModalContextProvider>
);
}
function _fun78946() { // fn#78946, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10299:1129, offset: 0x01e3df4e, size: 187 bytes, params: 1, frame: 18
var r8;
var r1;
var object3;
var orbPriceAmount;
var value5;
const object4 = {};
object4.load_id = loadId;
const value3 = undefined;
const virtualCurrencyUtilsModule = require(9489) /* metro dependency 9489: VirtualCurrencyUtils */;
const get1PShopApplicationIdForSKU = virtualCurrencyUtilsModule.get1PShopApplicationIdForSKU;
const skuIdBinding = skuId;
object4.application_id = Reflect.apply(get1PShopApplicationIdForSKU, virtualCurrencyUtilsModule, [skuIdBinding]);
object4.location_stack = analyticsLocations;
object4.sku_id = skuIdBinding;
const DISCORD_ORB = CurrencyCodes.DISCORD_ORB;
object4.currency = DISCORD_ORB;
const VIRTUAL_CURRENCY = InternalPaymentGateways.VIRTUAL_CURRENCY;
object4.payment_gateway = VIRTUAL_CURRENCY;
const value4 = orbProductContext != null;
if (value4) {
object3 = {};
orbPriceAmount = orbProductContext.orbPriceAmount;
value5 = orbPriceAmount != null;
object3.price = value5 ? orbPriceAmount : value3;
orbPriceAmount = orbProductContext.orbPriceAmount;
object3.regular_price = orbPriceAmount ?? value3;
r1 = object3;
r8 = value5;
} else {
r1 = value4;
}
copyDataProperties(object4, r1, r8);
return object4;
}
function _fun78947(a0, a1) { // fn#78947, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10299:1460, offset: 0x01e3e009, size: 502 bytes, params: 3, frame: 20
var r10;
var object2;
var PAYMENT_FLOW_COMPLETED;
var PAYMENT_FLOW_SUCCEEDED;
var PAYMENT_FLOW_CANCELED;
var defaultImport;
var track;
var PAYMENT_FLOW_FAILED;
var object3;
var code;
var defaultImport2;
var defaultImport3;
var defaultImport4;
var trackPaymentFlowStartedAnalyticsAndCTP;
const Date = global.Date;
let value = Date.now();
value -= env0_0;
const PAYMENT_FLOW_STARTED = AnalyticEvents.PAYMENT_FLOW_STARTED;
if (a0 === PAYMENT_FLOW_STARTED) {
value = require(7295) /* metro dependency 7295: PaymentFlowStartedTriggerPoint */;
trackPaymentFlowStartedAnalyticsAndCTP = value.trackPaymentFlowStartedAnalyticsAndCTP;
object3 = {};
copyDataProperties(object3, env0_5, r10);
object3['has_saved_payment_source'] = false;
object3['continue_session_initial_step'] = null;
Reflect.apply(trackPaymentFlowStartedAnalyticsAndCTP, value, [object3]);
} else {
PAYMENT_FLOW_COMPLETED = AnalyticEvents.PAYMENT_FLOW_COMPLETED;
if (a0 === PAYMENT_FLOW_COMPLETED) {
defaultImport4 = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
track = defaultImport4.track;
PAYMENT_FLOW_COMPLETED = AnalyticEvents.PAYMENT_FLOW_COMPLETED;
object3 = {};
copyDataProperties(object3, env0_5, r10);
object3['duration_ms'] = value;
Reflect.apply(track, defaultImport4, [PAYMENT_FLOW_COMPLETED, object3]);
} else {
PAYMENT_FLOW_SUCCEEDED = AnalyticEvents.PAYMENT_FLOW_SUCCEEDED;
if (a0 === PAYMENT_FLOW_SUCCEEDED) {
defaultImport3 = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
track = defaultImport3.track;
PAYMENT_FLOW_SUCCEEDED = AnalyticEvents.PAYMENT_FLOW_SUCCEEDED;
object3 = {};
copyDataProperties(object3, env0_5, r10);
object3['duration_ms'] = value;
Reflect.apply(track, defaultImport3, [PAYMENT_FLOW_SUCCEEDED, object3]);
} else {
PAYMENT_FLOW_CANCELED = AnalyticEvents.PAYMENT_FLOW_CANCELED;
if (a0 === PAYMENT_FLOW_CANCELED) {
defaultImport2 = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
track = defaultImport2.track;
PAYMENT_FLOW_CANCELED = AnalyticEvents.PAYMENT_FLOW_CANCELED;
object3 = {};
copyDataProperties(object3, env0_5, r10);
object3['duration_ms'] = value;
Reflect.apply(track, defaultImport2, [PAYMENT_FLOW_CANCELED, object3]);
} else {
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
track = defaultImport.track;
PAYMENT_FLOW_FAILED = AnalyticEvents.PAYMENT_FLOW_FAILED;
object3 = {};
copyDataProperties(object3, env0_5, r10);
object3['duration_ms'] = value;
if (a1 != null) {
code = a1.code;
object2 = {payment_error_code: code, error_message: a1.message};
r10 = code;
} else {
object2 = {};
}
copyDataProperties(object3, object2, r10);
Reflect.apply(track, defaultImport, [PAYMENT_FLOW_FAILED, object3]);
}
}
}
}
}
function _fun78951() { // fn#78951, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10299:2337, offset: 0x01e3e2a4, size: 59 bytes, params: 1, frame: 12
let value = environment.__proto__;
const emitOrbCheckoutPaymentFlowEventBinding = emitOrbCheckoutPaymentFlowEvent;
value = environment.__proto__.__proto__;
const PAYMENT_FLOW_SUCCEEDED = AnalyticEvents.PAYMENT_FLOW_SUCCEEDED;
emitOrbCheckoutPaymentFlowEventBinding(PAYMENT_FLOW_SUCCEEDED);
(importDefault(5080) /* metro dependency 5080: ModalActionCreators */).pop();
}
@@ -0,0 +1,160 @@
/* Metro module 10115; source: modules/virtual_currency/checkout/native/OrbCheckoutModalComponents.tsx; dependencies: [31, 27, 33, 4501, 697, 4572, 7684, 4573, 10116, 1244, 10118, 10114, 6836, 6766, 4048, 10119, 4578, 4002, 10076, 2] */
function _fun78966(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#78966, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10301:6, offset: 0x01e3eb00, size: 569 bytes, params: 8, frame: 23
var object3;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importAll(31) /* metro dependency 31 */;
let value = require(27) /* metro dependency 27 */;
const env0_4 = value.View;
const env0_5 = value.ActivityIndicator;
value = require(33) /* metro dependency 33 */;
const env0_6 = value.jsx;
const env0_7 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object3 = {topRowWrapper: {'width': '100%', 'marginBottom': 10}, rowWrapper: {'width': '100%',
'marginVertical': 10}};
const object4 = {};
object4.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
const BACKGROUND_MOD_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_MOD_SUBTLE;
object4.backgroundColor = BACKGROUND_MOD_SUBTLE;
let PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object4.padding = PX_16;
object3.rowDetailsContainer = object4;
object3.orbPaymentSourceDetails = {'flexDirection': 'row', 'justifyContent': 'space-between',
'alignItems': 'center'};
const PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object3.sectionTitle = {marginBottom: PX_8};
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object3.spinner = {paddingVertical: PX_16, alignItems: 'center'};
object3.disclaimer = {opacity: 0.5};
const object5 = {};
object5.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
const PX_12 = (importDefault(697) /* metro dependency 697: native */).space.PX_12;
object5.padding = PX_12;
const BACKGROUND_FEEDBACK_CRITICAL = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_FEEDBACK_CRITICAL;
object5.backgroundColor = BACKGROUND_FEEDBACK_CRITICAL;
object3.errorCard = object5;
const env0_8 = Reflect.apply(createStyles, value, [object3]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/virtual_currency/checkout/native/OrbCheckoutModalComponents.tsx');
exports.OrbCheckoutErrorCard = OrbCheckoutErrorCard;
exports.OrbCheckoutOrderSummary = OrbCheckoutOrderSummary;
exports.OrbCheckoutPaymentSourceDetails = OrbCheckoutPaymentSourceDetails;
exports.OrbCheckoutLegalFinePrint = OrbCheckoutLegalFinePrint;
exports.OrbCheckoutPurchaseButton = OrbCheckoutPurchaseButton;
}
function OrbCheckoutErrorCard({error}) { // fn#78967, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10301:915, offset: 0x01e3ed39, size: 198 bytes, params: 2, frame: 21
const styles = useStyles();
const Stack = (require(4572) /* metro dependency 4572: StackNative */).Stack;
const CircleErrorIcon = (require(7684) /* metro dependency 7684: CircleErrorIcon */).CircleErrorIcon;
const circleErrorIcon = <CircleErrorIcon size="sm" color="mobile-text-heading-primary" />;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
return (
<View style={styles.errorCard}>
<Stack
direction="horizontal"
spacing={8}
align="flex-start"
>
{circleErrorIcon}
<Text variant="text-sm/medium" color="mobile-text-heading-primary">
{error}
</Text>
</Stack>
</View>
);
}
function OrbCheckoutOrderSummary({product}) { // fn#78968, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10301:1254, offset: 0x01e3edff, size: 298 bytes, params: 2, frame: 22
const styles = useStyles();
const r5 = product == null ? <View style={[styles.rowDetailsContainer,
styles.spinner]}><ActivityIndicator size="small" /></View> : ((Component) => <Component product={product} useOrbPrice />)(importDefault(10116) /* metro dependency 10116: CollectiblesShopCheckoutDetails */);
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
return (
<View style={styles.topRowWrapper}>
<Text
variant="heading-sm/bold"
color="mobile-text-heading-primary"
style={styles.sectionTitle}
>
{intl.string((require(1244) /* metro dependency 1244: indexNative */).t.hws7bC)}
</Text>
{r5}
</View>
);
}
function OrbCheckoutPaymentSourceDetails({orbBalance}) { // fn#78969, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10301:1643, offset: 0x01e3ef29, size: 339 bytes, params: 2, frame: 26
const styles = useStyles();
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
return (
<View style={styles.rowWrapper}>
<Text
variant="heading-sm/bold"
color="mobile-text-heading-primary"
style={styles.sectionTitle}
>
{intl.string((require(1244) /* metro dependency 1244: indexNative */).t['zLch/S'])}
</Text>
<View style={[styles.rowDetailsContainer, styles.orbPaymentSourceDetails]}>
<Text variant="text-md/medium" color="mobile-text-heading-primary">
{intl.string((require(1244) /* metro dependency 1244: indexNative */).t.y0WGqP)}
</Text>
{((Component) => <Component orbAmount={orbBalance} />)(importDefault(10118) /* metro dependency 10118: OrbCheckoutAmountTag */)}
</View>
</View>
);
}
function OrbCheckoutLegalFinePrint() { // fn#78970, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10301:2122, offset: 0x01e3f07c, size: 144 bytes, params: 1, frame: 19
const styles = useStyles();
const orbCheckoutModalContextModule = require(10114) /* metro dependency 10114: OrbCheckoutModalContext */;
const useOrbCheckoutModalContext = orbCheckoutModalContextModule.useOrbCheckoutModalContext;
const value2 = env0_3.useMemo(_fun78971, [Reflect.apply(useOrbCheckoutModalContext, orbCheckoutModalContextModule,
[]).skuId]);
const TextWithIOSLinkWorkaround = (require(6766) /* metro dependency 6766: TextWithIOSLinkWorkaround */).TextWithIOSLinkWorkaround;
return (
<TextWithIOSLinkWorkaround
style={styles.disclaimer}
variant="text-xxs/normal"
color="interactive-text-active"
>
{value2}
</TextWithIOSLinkWorkaround>
);
}
function OrbCheckoutPurchaseButton({onPress}) { // fn#78972, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10301:2414, offset: 0x01e3f139, size: 384 bytes, params: 2, frame: 26
const value3 = (importDefault(4048) /* metro dependency 4048: useTheme */)();
const {isRedeeming,
orbProductContext} = (require(10114) /* metro dependency 10114: OrbCheckoutModalContext */).useOrbCheckoutModalContext();
const value5 = (require(10119) /* metro dependency 10119: useVirtualCurrencyBalance */).useVirtualCurrencyBalance();
const orbPriceAmount = orbProductContext?.orbPriceAmount;
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
const buttonProps = {variant: (require(4002) /* metro dependency 4002: shared */).isThemeDark(value3) ? 'primary-overlay' : 'primary',
size: 'lg'};
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
buttonProps.text = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['zLch/S']);
const OrbsIcon = (require(10076) /* metro dependency 10076: OrbsIcon */).OrbsIcon;
let value = require(4002) /* metro dependency 4002: shared */;
value = value.isThemeDark(value3);
buttonProps.icon = <OrbsIcon size="md" color={value ? 'control-overlay-primary-text-default' : 'control-primary-text-default'} />;
buttonProps.iconPosition = 'start';
buttonProps.loading = isRedeeming;
buttonProps.onPress = onPress;
let r4 = isRedeeming || orbPriceAmount == null;
r4 = !r4 ? value5 == null : r4;
r4 = !r4 ? value5 < orbPriceAmount : r4;
buttonProps.disabled = r4;
return <Button {...buttonProps} />;
}
function _fun78971() { // fn#78971, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10301:2196, offset: 0x01e3f10c, size: 45 bytes, params: 1, frame: 11
const value = environment.__proto__;
return (require(6836) /* metro dependency 6836: OrbCheckoutUtils */).getOrbCheckoutDisclaimerMessage(skuId);
}
@@ -0,0 +1,11 @@
/* Metro module 10074; source: modules/virtual_currency/experiments/OrbRedemptionOrdersExperiment.tsx; dependencies: [1854, 2] */
function _fun78760(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#78760, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10260:6, offset: 0x01e33661, size: 145 bytes, params: 8, frame: 20
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = require(1854) /* metro dependency 1854: apex */;
value = value.createApexExperiment({'name': '2025-12-orb-redemption-thru-orders', 'kind': 'user',
defaultConfig: {enabled: false}, variations: {[1]: {enabled: true}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/virtual_currency/experiments/OrbRedemptionOrdersExperiment.tsx');
exports.default = value;
}
@@ -0,0 +1,12 @@
/* Metro module 12575; source: modules/virtual_currency/experiments/VirtualCurrencyRolloutExperiment.tsx; dependencies: [1854, 2] */
function _fun96335(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#96335, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12765:6, offset: 0x0215afcb, size: 163 bytes, params: 8, frame: 21
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = require(1854) /* metro dependency 1854: apex */;
value = value.createApexExperiment({'kind': 'user', 'name': '2025-01-virtual-currency-rollout',
defaultConfig: {enabled: false}, variations: {[0]: {enabled: false}, [1]: {enabled: true}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/virtual_currency/experiments/VirtualCurrencyRolloutExperiment.tsx');
exports.default = value;
exports.VirtualCurrencyRolloutExperiment = value;
}
@@ -0,0 +1,12 @@
/* Metro module 4128; source: modules/virtual_currency/experiments/native/VirtualCurrencyMobileExperiment.tsx; dependencies: [1358, 2] */
function _fun34253(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#34253, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4299:6, offset: 0x0105028e, size: 150 bytes, params: 8, frame: 18
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = importDefault(1358) /* metro dependency 1358: ApexExperiment */;
value = value({'name': '2026-03-mobile-orbs', 'kind': 'user', defaultConfig: {enabled: false},
variations: {[1]: {enabled: true}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/virtual_currency/experiments/native/VirtualCurrencyMobileExperiment.tsx');
exports.default = value;
exports.VirtualCurrencyMobileExperiment = value;
}
@@ -0,0 +1,14 @@
/* Metro module 10069; source: modules/virtual_currency/hooks/index.tsx; dependencies: [2, 10070, 10073] */
function _fun78688(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#78688, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10255:6, offset: 0x01e31abd, size: 174 bytes, params: 8, frame: 22
var propertyName;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/virtual_currency/hooks/index.tsx');
for (propertyName in require(10070) /* metro dependency 10070: useFetchVirtualCurrencyBalance */) {
exports[propertyName] = (require(10070) /* metro dependency 10070: useFetchVirtualCurrencyBalance */)[propertyName];
}
for (propertyName in require(10073) /* metro dependency 10073: useRedeemVirtualCurrency */) {
exports[propertyName] = (require(10073) /* metro dependency 10073: useRedeemVirtualCurrency */)[propertyName];
}
}
@@ -0,0 +1,99 @@
/* Metro module 10125; source: modules/virtual_currency/hooks/native/useVirtualCurrencyBalanceAnimationData.tsx; dependencies: [57, 31, 4502, 566, 6266, 2] */
function _fun79018(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#79018, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10311:6, offset: 0x01e419af, size: 153 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/virtual_currency/hooks/native/useVirtualCurrencyBalanceAnimationData.tsx');
exports.useVirtualCurrencyBalanceAnimationData = useVirtualCurrencyBalanceAnimationData;
}
function useVirtualCurrencyBalanceAnimationData({initialRenderedBalance, balance}) { // fn#79019, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10311:281, offset: 0x01e41a48, size: 446 bytes, params: 2, frame: 26
const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
const binding = env0_4;
let useState = binding.useState;
const value2 = Reflect.apply(useState, binding, [null]);
const binding2 = env0_3;
const value3 = binding2(value2, 2);
const property = value3[0];
var env0_4 = value3[1];
const env0_5 = binding.useRef(null);
const value4 = binding.useRef(null);
useState = binding.useState;
const value5 = binding2(Reflect.apply(useState, binding, [initialRenderedBalance != null]), 2);
const property2 = value5[0];
const env0_7 = value5[1];
useState = binding.useState;
const value6 = binding2(Reflect.apply(useState, binding, [initialRenderedBalance == null]), 2);
const property3 = value6[0];
const env0_9 = value6[1];
const value = (importDefault(6266) /* metro dependency 6266: usePrevious */)(balance);
const value7 = binding.useCallback(function() {
}, []);
const value8 = binding.useCallback(_fun79022, []);
const value9 = binding.useCallback(_fun79023, [property]);
binding.useEffect(_fun79024, [initialRenderedBalance, balance, property3, useReducedMotion, value9]);
binding.useEffect(_fun79027, [balance, value, property, property3, useReducedMotion, value9]);
return {onValueChange: value7, onValueReached: value8, showInitialRenderedBalance: property2,
currentAnimationType: property, lottieRef: value4};
}
function _fun79022() { // fn#79022, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10311:610, offset: 0x01e41c06, size: 28 bytes, params: 1, frame: 11
env0_5.current = null;
env0_4(null);
}
function _fun79023(a0) { // fn#79023, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10311:661, offset: 0x01e41c22, size: 109 bytes, params: 2, frame: 12
var binding;
var current;
if (a0 !== 0) {
binding = env0_5;
binding.current = a0 > 0 ? 'earn' : 'spend';
binding = env0_3;
current = env0_5.current;
if (binding === current) {
current = env0_6.current;
if (current != null) {
current.play();
}
} else {
env0_4(env0_5.current);
}
}
}
function _fun79024() { // fn#79024, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10311:793, offset: 0x01e41c8f, size: 76 bytes, params: 1, frame: 14
if (initialRenderedBalance == null) {
return undefined;
}
if (balance === null) {
return undefined;
}
if (env0_8) {
return undefined;
}
const env0_0 = global.setTimeout(_fun79025, 1250);
return _fun79026;
}
function _fun79027() { // fn#79027, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10311:932, offset: 0x01e41d16, size: 86 bytes, params: 1, frame: 12
let r1 = balance !== null && env0_10 !== null && balance !== env0_10;
r1 = r1 && env0_8 && !useReducedMotion;
if (r1) {
env0_11(balance - env0_10);
}
}
function _fun79025() { // fn#79025, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10311:842, offset: 0x01e41cdb, size: 59 bytes, params: 1, frame: 12
if (!useReducedMotion) {
env1_11(balance - initialRenderedBalance);
}
env1_7(false);
env1_9(true);
}
@@ -0,0 +1,37 @@
/* Metro module 4127; source: modules/virtual_currency/hooks/native/useVirtualCurrencyMobileEnabled.tsx; dependencies: [1581, 4128, 2] */
function _fun34250(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#34250, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4298:6, offset: 0x01050150, size: 112 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/virtual_currency/hooks/native/useVirtualCurrencyMobileEnabled.tsx');
exports.isVirtualCurrencyEnabled = isVirtualCurrencyEnabled;
exports.useVirtualCurrencyMobileEnabled = useVirtualCurrencyMobileEnabled;
}
function isVirtualCurrencyEnabled() { // fn#34251, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4298:226, offset: 0x010501c0, size: 105 bytes, params: 1, frame: 13
var value;
const isMetaQuest2 = (require(1581) /* metro dependency 1581: MetaQuestUtilsAndroid */).isMetaQuest();
const object2 = {};
if (isMetaQuest2) {
object2.enabled = false;
} else {
value = importDefault(4128) /* metro dependency 4128: VirtualCurrencyMobileExperiment */;
object2.enabled = value.getConfig({location: 'isVirtualCurrencyEnabled'}).enabled;
}
return object2;
}
function useVirtualCurrencyMobileEnabled() { // fn#34252, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4298:374, offset: 0x01050229, size: 101 bytes, params: 1, frame: 15
var object2;
const value2 = (importDefault(4128) /* metro dependency 4128: VirtualCurrencyMobileExperiment */).useConfig({location: 'useVirtualCurrencyMobileEnabled'});
let value = require(1581) /* metro dependency 1581: MetaQuestUtilsAndroid */;
value = value.isMetaQuest();
object2 = {};
if (value) {
object2.enabled = false;
} else {
object2.enabled = value2.enabled;
}
return object2;
}
@@ -0,0 +1,40 @@
/* Metro module 10070; source: modules/virtual_currency/hooks/useFetchVirtualCurrencyBalance.tsx; dependencies: [31, 10071, 566, 10072, 2] */
function _fun78689(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#78689, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10256:6, offset: 0x01e31b6b, size: 135 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = (require(31) /* metro dependency 31 */).useEffect;
const virtualCurrencyStore = importDefault(10071) /* metro dependency 10071: VirtualCurrencyStore */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/virtual_currency/hooks/useFetchVirtualCurrencyBalance.tsx');
exports.useFetchVirtualCurrencyBalance = useFetchVirtualCurrencyBalance;
}
function useFetchVirtualCurrencyBalance(a0) { // fn#78690, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10256:258, offset: 0x01e31bf2, size: 158 bytes, params: 2, frame: 19
const env0_0 = a0;
const value2 = undefined;
const {balance, isFetching,
error} = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([VirtualCurrencyStore],
function() {
return {balance: VirtualCurrencyStore.balance, isFetching: VirtualCurrencyStore.isFetchingBalance,
error: VirtualCurrencyStore.fetchBalanceError};
});
useEffect(_fun78692, [balance, error, a0 == null ? value2 : a0.disableFetch]);
return {balance: balance, isFetching: isFetching, error: error};
}
function _fun78692() { // fn#78692, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10256:477, offset: 0x01e31cbd, size: 106 bytes, params: 1, frame: 12
var value;
let r0 = env0_0 != null && env0_0.disableFetch;
r0 = !r0 ? balance !== null : r0;
r0 = !r0 ? error !== null : r0;
if (!r0) {
value = environment.__proto__;
r0 = VirtualCurrencyStore.isFetchingBalance;
}
if (!r0) {
value = environment.__proto__;
value = require(10072) /* metro dependency 10072: VirtualCurrencyActionCreators */;
value.fetchVirtualCurrencyBalance();
}
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,34 @@
/* Metro module 10119; source: modules/virtual_currency/hooks/useVirtualCurrencyBalance.tsx; dependencies: [10071, 566, 2] */
function _fun78992(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#78992, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10305:6, offset: 0x01e4097c, size: 144 bytes, params: 8, frame: 18
let env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const virtualCurrencyStore = importDefault(10071) /* metro dependency 10071: VirtualCurrencyStore */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/virtual_currency/hooks/useVirtualCurrencyBalance.tsx');
exports.useVirtualCurrencyBalance = function() {
return require(dependencyMap[1]).useStateFromStores([VirtualCurrencyStore], _fun78994);
};
exports.useHasEnoughVirtualCurrency = function(a0) {
var env0_0 = a0;
return require(dependencyMap[1]).useStateFromStores([VirtualCurrencyStore], _fun78996);
};
exports.getVirtualCurrencyBalance = function() {
return VirtualCurrencyStore.getCurrentBalance();
};
}
function useVirtualCurrencyBalance() { // fn#78993, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10305:228, offset: 0x01e40a0c, size: 59 bytes, params: 1, frame: 13
return (require(566) /* metro dependency 566: flux */).useStateFromStores([VirtualCurrencyStore], function() {
return VirtualCurrencyStore.balance;
});
}
function useHasEnoughVirtualCurrency(a0) { // fn#78995, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10305:351, offset: 0x01e40a56, size: 66 bytes, params: 2, frame: 14
const env0_0 = a0;
return (require(566) /* metro dependency 566: flux */).useStateFromStores([VirtualCurrencyStore], _fun78996);
}
function _fun78996() { // fn#78996, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10305:430, offset: 0x01e40a98, size: 51 bytes, params: 1, frame: 5
return env0_0 != null && (VirtualCurrencyStore.balance ?? 0) >= env0_0;
}
@@ -0,0 +1,21 @@
/* Metro module 12574; source: modules/virtual_currency/hooks/useVirtualCurrencyEnabled.tsx; dependencies: [12575, 2] */
function _fun96332(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#96332, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12764:6, offset: 0x0215aef5, size: 112 bytes, params: 8, frame: 17
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/virtual_currency/hooks/useVirtualCurrencyEnabled.tsx');
exports.isVirtualCurrencyEnabled = isVirtualCurrencyEnabled_96333;
exports.useVirtualCurrencyEnabled = useVirtualCurrencyEnabled;
}
function isVirtualCurrencyEnabled_96333(a0) { // fn#96333, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12764:213, offset: 0x0215af65, size: 51 bytes, params: 2, frame: 12
const value = importDefault(12575) /* metro dependency 12575: VirtualCurrencyRolloutExperiment */;
const getConfig = value.getConfig;
return {enabled: Reflect.apply(getConfig, value, [a0]).enabled};
}
function useVirtualCurrencyEnabled(a0) { // fn#96334, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12764:285, offset: 0x0215af98, size: 51 bytes, params: 2, frame: 12
const value = importDefault(12575) /* metro dependency 12575: VirtualCurrencyRolloutExperiment */;
const useConfig = value.useConfig;
return {enabled: Reflect.apply(useConfig, value, [a0]).enabled};
}
@@ -0,0 +1,180 @@
/* Metro module 10132; source: modules/virtual_currency/native/BalanceCounter.tsx; dependencies: [57, 31, 33, 4017, 3875, 4577, 10133, 4573, 2] */
function _fun79049(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#79049, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10318:6, offset: 0x01e426d5, size: 241 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const value = require(31) /* metro dependency 31 */;
const env0_4 = value.useState;
const env0_5 = value.useEffect;
const env0_6 = value.useRef;
const env0_7 = value.useCallback;
const env0_8 = importAll(31) /* metro dependency 31 */;
const env0_9 = (require(33) /* metro dependency 33 */).jsx;
object = {code: 'function BalanceCounterTsx1(){const{runOnJS,setIsAnimating}=this.__closure;runOnJS(setIsAnimating)(false);}'};
object = {code: 'function BalanceCounterTsx2(){const{isAnimating,animatedValue,runOnJS,setDisplayValue,setMaxDigits}=this.__closure;if(isAnimating){const roundedValue=Math.round(animatedValue.get());runOnJS(setDisplayValue)(roundedValue);runOnJS(setMaxDigits)(roundedValue.toString().length);}return{};}'};
const closure = BalanceCounter;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/virtual_currency/native/BalanceCounter.tsx');
exports.default = closure;
exports.BalanceCounter = closure;
}
function BalanceCounter({value, onValueChange, onValueReached, style}) { // fn#79050, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10318:626, offset: 0x01e427c6, size: 560 bytes, params: 2, frame: 32
const env0_2 = useRef(null);
const value4 = (require(4017) /* metro dependency 4017: ReanimatedRexport */).useSharedValue(0);
const env0_3 = value4;
const env0_4 = useRef(null);
let binding = env0_8;
const useContext = binding.useContext;
const AccessibilityPreferencesContext = (require(3875) /* metro dependency 3875: AccessibilityPreferencesContext */).AccessibilityPreferencesContext;
const enabled = Reflect.apply(useContext, binding, [AccessibilityPreferencesContext]).reducedMotion.enabled;
const value5 = useState(0);
binding = env0_3;
const value6 = binding(value5, 2);
const property = value6[0];
const property2 = value6[1];
const [property3, property4] = binding(useState(1), 2);
const [property5, env0_9] = binding(useState(false), 2);
let closure = _fun79051;
let object = [value, onValueChange, onValueReached, value4, useCallback(closure, []), enabled];
useEffect(_fun79054, object);
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
const useAnimatedStyle = reanimatedRexportModule.useAnimatedStyle;
closure = BalanceCounterF;
object = {isAnimating: property5, animatedValue: value4};
object.runOnJS = reanimatedRexportModule.runOnJS;
object.setDisplayValue = property2;
object.setMaxDigits = property4;
closure.__closure = object;
closure.__workletHash = 4408542396979;
closure.__initData = env0_11;
if (value === null) {
return null;
} else {
const View = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View;
return (
<View style={[Reflect.apply(useAnimatedStyle, reanimatedRexportModule, [closure]),
{minWidth: 7 * property3}]}>
{((Text) => <Text variant="text-sm/semibold" style={style} maxFontSizeMultiplier={2}>{property.toFixed(0)}</Text>)((require(4573) /* metro dependency 4573: Text */).Text)}
</View>
);
}
}
function _fun79051(a0, a1, a2) { // fn#79051, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10318:907, offset: 0x01e429f6, size: 175 bytes, params: 4, frame: 24
const binding = env0_9;
binding(true);
const set = a0.set;
const springModule = require(4577) /* metro dependency 4577: spring */;
const withSpring = springModule.withSpring;
const closure = s_79052;
const object = {};
object.runOnJS = (require(4017) /* metro dependency 4017: ReanimatedRexport */).runOnJS;
object.setIsAnimating = binding;
closure.__closure = object;
closure.__workletHash = 16153226572520;
closure.__initData = env1_10;
Reflect.apply(set, a0, [Reflect.apply(withSpring, springModule, [a1, {'duration': null, 'damping': 15,
'stiffness': 150, 'mass': 1, duration: a2}, 'respect-motion-settings', closure])]);
}
function clearAnimationTimeout() { // fn#79053, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10318:1198, owner: BalanceCounter.clearAnimationTimeout, offset: 0x01e42ad8, size: 63 bytes, params: 1, frame: 14
var clearTimeout;
var binding;
if (env0_4.current != null) {
clearTimeout = global.clearTimeout;
binding = env0_4;
clearTimeout(binding.current);
binding.current = null;
}
env0_9(false);
}
function _fun79054() { // fn#79054, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10318:1271, offset: 0x01e42b17, size: 260 bytes, params: 1, frame: 18
var environment;
var binding;
var value3;
var value4;
var moduleValue;
var value5;
var duration;
var delay;
var clearAnimationTimeoutBinding;
let valueBinding = value;
if (valueBinding !== null) {
var current = env0_2.current;
if (current === null) {
binding = env0_6;
valueBinding = value;
binding(valueBinding);
binding = env0_3;
binding.set(valueBinding);
env0_2.current = valueBinding;
return undefined;
}
if (enabled) {
binding = env0_6;
valueBinding = value;
binding(valueBinding);
binding = env0_3;
binding.set(valueBinding);
env0_2.current = valueBinding;
return undefined;
}
valueBinding = value;
current = env0_2.current;
if (valueBinding !== current) {
valueBinding = value;
binding = env0_2;
value3 = valueBinding - binding.current;
onValueChange(value3);
binding.current = valueBinding;
value4 = environment.__proto__;
moduleValue = require(10133) /* metro dependency 10133: AnimationUtils */;
value5 = moduleValue.getDesiredAnimationConfigs(value3,
(require(10133) /* metro dependency 10133: AnimationUtils */).EXPECTED_ORB_LOTTIE_ANIMATION_DURATION_MS);
duration = value5.duration;
delay = value5.delay;
clearAnimationTimeoutBinding = clearAnimationTimeout;
clearAnimationTimeoutBinding();
binding = env0_4;
binding.current = global.setTimeout(_fun79055, delay);
return clearAnimationTimeoutBinding;
}
binding = env0_6;
binding(value);
}
}
function BalanceCounterF() { // fn#79056, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10318:1690, owner: BalanceCounter.F, offset: 0x01e42c48, size: 131 bytes, params: 1, frame: 17
var Math;
var round;
var binding;
var value2;
var value3;
var moduleValue;
if (env0_8) {
Math = global.Math;
round = Math.round;
binding = env0_3;
value2 = Reflect.apply(round, Math, [binding.get()]);
value3 = environment.__proto__;
moduleValue = require(4017) /* metro dependency 4017: ReanimatedRexport */;
moduleValue.runOnJS(env0_6)(value2);
(require(4017) /* metro dependency 4017: ReanimatedRexport */).runOnJS(env0_7)(value2.toString().length);
}
return {};
}
function s_79052() { // fn#79052, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10318:1031, offset: 0x01e42aa5, size: 51 bytes, params: 1, frame: 12
let value = environment.__proto__.__proto__;
value = require(4017) /* metro dependency 4017: ReanimatedRexport */;
value = value.runOnJS(env1_9);
value(false);
}
function _fun79055() { // fn#79055, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10318:1574, offset: 0x01e42c1b, size: 45 bytes, params: 1, frame: 16
env1_10(env1_3, value, duration);
env1_4.current = null;
}
@@ -0,0 +1,190 @@
/* Metro module 10135; source: modules/virtual_currency/native/BalanceWidgetActionSheet.tsx; dependencies: [31, 27, 661, 1376, 33, 10136, 10137, 10138, 1244, 3847, 1948, 3875, 3860, 697, 683, 3968, 1365, 3868, 6275, 5475, 9543, 6515, 10139, 10076, 4573, 4578, 4501, 477, 2] */
function _fun79061(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#79061, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10321:6, offset: 0x01e42f5a, size: 279 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importAll(31) /* metro dependency 31 */;
let value = require(27) /* metro dependency 27 */;
const env0_4 = value.View;
const env0_5 = value.TouchableOpacity;
value = require(661) /* metro dependency 661: Constants */;
const env0_6 = value.AnalyticEvents;
const env0_7 = value.Fonts;
const env0_8 = value.HelpdeskArticles;
const env0_9 = (require(1376) /* metro dependency 1376: DismissibleContentConstants */).ContentDismissActionType;
value = require(33) /* metro dependency 33 */;
const env0_10 = value.jsx;
const env0_11 = value.jsxs;
const env0_12 = (require(4501) /* metro dependency 4501: createStyles */).createStyles(_fun79062);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/virtual_currency/native/BalanceWidgetActionSheet.tsx');
exports.default = _default_79063;
}
function _fun79062(a0) { // fn#79062, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10321:293, offset: 0x01e43071, size: 676 bytes, params: 2, frame: 19
const object3 = {};
const object5 = {'flex': 1, 'flexDirection': 'column', 'gap': null, 'minWidth': '100%'};
let PX_12 = (importDefault(697) /* metro dependency 697: native */).space.PX_12;
object5.gap = PX_12;
PX_12 = (importDefault(697) /* metro dependency 697: native */).space.PX_12;
object5.paddingTop = PX_12;
let PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object5.paddingHorizontal = PX_16;
object3.actions = object5;
const PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object3.balanceHeader = {'flexDirection': 'row', 'alignItems': 'center', 'justifyContent': 'center', 'gap': null,
'flexWrap': 'wrap', gap: PX_8};
const object11 = {color: a0};
const value2 = 36;
object11.fontSize = value2;
object11.lineHeight = (require(477) /* metro dependency 477: PlatformUtils */).isAndroid() ? value2 : 44;
object11.textAlignVertical = 'center';
object3.balanceText = object11;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object3.content = {'width': '100%', 'height': '100%', 'alignItems': 'center', 'flex': 1, marginBottom: PX_16};
const object12 = {'width': '100%', 'paddingTop': null, 'paddingBottom': null, 'alignItems': 'center',
'position': 'relative', 'flexDirection': 'column'};
PX_12 = (importDefault(697) /* metro dependency 697: native */).space.PX_12;
object12.paddingTop = PX_12;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object12.paddingBottom = PX_16;
object3.header = object12;
const object13 = {'width': 32, 'height': 32, 'backgroundColor': null, 'borderRadius': null,
'justifyContent': 'center', 'alignItems': 'center'};
const REDESIGN_BUTTON_TERTIARY_BACKGROUND = (importDefault(697) /* metro dependency 697: native */).colors.REDESIGN_BUTTON_TERTIARY_BACKGROUND;
object13.backgroundColor = REDESIGN_BUTTON_TERTIARY_BACKGROUND;
object13.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
object3.infoIconBackground = object13;
const object14 = {position: 'absolute'};
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object14.left = PX_16;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object14.top = PX_16;
object14.zIndex = 10;
object3.infoIconContainer = object14;
const object15 = {'position': 'absolute', 'top': 0, 'left': 0, 'right': 0, 'borderRadius': null, 'bottom': -100};
object15.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.xl;
object3.promotionalBackground = object15;
object3.promotionalBackgroundContainer = {'flex': 1, 'height': 428};
object3.promotionalBannerAsset = {'width': '100%', 'height': '100%'};
const object16 = {'width': '100%', 'height': 144};
PX_12 = (importDefault(697) /* metro dependency 697: native */).space.PX_12;
object16.gap = PX_12;
const PX_64 = (importDefault(697) /* metro dependency 697: native */).space.PX_64;
object16.marginBottom = PX_64;
object3.promotionalBannerContainer = object16;
const PRIMARY_BOLD = Fonts.PRIMARY_BOLD;
object3.promotionalBannerText = {'color': null, 'fontFamily': null, 'fontWeight': '600', 'fontSize': 16,
'lineHeight': 20, 'textAlign': 'center', color: a0, fontFamily: PRIMARY_BOLD};
return object3;
}
function _default_79063({balance, themeOverride, primaryButtonConfig, secondaryButtonConfig, source}) { // fn#79063, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10321:1662, offset: 0x01e43315, size: 1565 bytes, params: 2, frame: 42
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
var r18;
var items4;
const binding = env0_3;
const value2 = binding.useRef(null);
const value3 = binding.useCallback(function() {
importDefault(dependencyMap[9])(importDefault(dependencyMap[10]).getArticleURL(HelpdeskArticles.ORBS_FAQ));
}, []);
const useContext = binding.useContext;
const AccessibilityPreferencesContext = (require(3875) /* metro dependency 3875: AccessibilityPreferencesContext */).AccessibilityPreferencesContext;
const enabled = Reflect.apply(useContext, binding, [AccessibilityPreferencesContext]).reducedMotion.enabled;
const value4 = binding.useMemo(_fun79065, [balance]);
themeOverride = themeOverride === undefined && value4 != null ? 'dark' : themeOverride;
const useTokenModule = require(3860) /* metro dependency 3860: useToken */;
const useToken = useTokenModule.useToken;
const MOBILE_TEXT_HEADING_PRIMARY = (importDefault(697) /* metro dependency 697: native */).colors.MOBILE_TEXT_HEADING_PRIMARY;
const value8 = Reflect.apply(useToken, useTokenModule, [MOBILE_TEXT_HEADING_PRIMARY, themeOverride]);
const styles = useStyles(value8);
env0_3.useEffect(_fun79066, []);
const ThemeContextProvider = (require(3868) /* metro dependency 3868: native */).ThemeContextProvider;
const BottomSheet = (require(6275) /* metro dependency 6275: BottomSheetNative */).BottomSheet;
const object = {ref: value2, startExpanded: true, handleComponent: handleComponent, handleDisabled: false};
const items3 = [styles.content];
let r10 = value4 != null && value4.backgroundVideo != null && value4.backgroundImage != null && styles.promotionalBackgroundContainer;
items3[1] = r10;
const items2 = [value4 != null && value4.backgroundVideo != null && value4.backgroundImage != null && (enabled ? ((Component) => <Component source={{uri: value4.backgroundImage}} style={styles.promotionalBackground} resizeMode="cover" />)(importDefault(5475) /* metro dependency 5475: FastImage */) : ((VideoComponent) => <VideoComponent source={{uri: value4.backgroundVideo}} poster={value4.backgroundImage} style={styles.promotionalBackground} muted disableFocus pauseWhileAppInactive paused={enabled} posterResizeMode="cover" resizeMode="cover" preventsDisplaySleepDuringVideoPlayback={false} />)((require(9543) /* metro dependency 9543: Video */).VideoComponent))];
const ActionSheetHeaderBar = (require(6515) /* metro dependency 6515: ActionSheetHeaderBarNative */).ActionSheetHeaderBar;
items2[1] = <ActionSheetHeaderBar onPress={onPress_79068} />;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const B1oJtQ = (require(1244) /* metro dependency 1244: indexNative */).t.B1oJtQ;
const CircleQuestionIcon = (require(10139) /* metro dependency 10139: CircleQuestionIcon */).CircleQuestionIcon;
const INTERACTIVE_TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.INTERACTIVE_TEXT_DEFAULT;
items2[2] = <View style={styles.infoIconContainer}><TouchableOpacity onPress={value3} accessibilityRole="link" accessibilityLabel={Reflect.apply(string,
intl,
[B1oJtQ])}><View style={styles.infoIconBackground}><CircleQuestionIcon size="sm" color={INTERACTIVE_TEXT_DEFAULT} /></View></TouchableOpacity></View>;
const OrbsIcon = (require(10076) /* metro dependency 10076: OrbsIcon */).OrbsIcon;
const orbsIcon = <OrbsIcon size="lg" color={value8} />;
const formatToPlainString = intl.formatToPlainString;
const W4DfeF = (require(1244) /* metro dependency 1244: indexNative */).t.W4DfeF;
items2[3] = <View style={styles.header}><View style={styles.balanceHeader}>{orbsIcon}<Text variant="display-md" style={styles.balanceText} accessibilityLabel={Reflect.apply(formatToPlainString,
intl, [W4DfeF, {orbAmount: balance ?? 0}])}>{balance ?? 0}</Text></View></View>;
r10 = value4 != null && value4.bannerImage != null;
if (r10) {
var viewBinding3Props = {style: styles.promotionalBannerContainer};
items4 = [((Component) => <Component source={{uri: value4.bannerImage}} style={styles.promotionalBannerAsset} resizeMode="contain" />)(importDefault(5475) /* metro dependency 5475: FastImage */)];
r18 = value4.bannerText != null && value4.bannerText !== '';
r18 = r18 && <Text variant="heading-xl/medium" style={styles.promotionalBannerText}>{value4.bannerText}</Text>;
items4[1] = r18;
r10 = <View {...viewBinding3Props}>{items4}</View>;
}
items2[4] = r10;
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
items2[5] = <View style={styles.actions}><Button text={primaryButtonConfig.buttonText} variant="primary" size="lg" onPress={primaryButtonConfig.onButtonPress} /><Button text={secondaryButtonConfig.buttonText} variant="tertiary" size="lg" onPress={secondaryButtonConfig.onButtonPress} /></View>;
return (
<ThemeContextProvider theme={themeOverride}>
<BottomSheet {...object}>
<View style={items3}>
{items2}
</View>
</BottomSheet>
</ThemeContextProvider>
);
}
function _fun79065() { // fn#79065, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10321:1934, offset: 0x01e43973, size: 179 bytes, params: 1, frame: 16
var r0;
var object2;
var intl;
var __proto__;
if ((balance ?? 0) > 4100) {
object2 = {};
__proto__ = environment.__proto__;
object2.backgroundVideo = (require(10136) /* metro dependency 10136: balancePromotion_bg_animatedMp4 */).default;
object2.backgroundImage = (require(10137) /* metro dependency 10137: balancePromotion_bg_staticPng */).default;
object2.bannerImage = (require(10138) /* metro dependency 10138: balancePromotion_rewardsPng */).default;
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
object2.bannerText = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.LaMEFL);
r0 = object2;
} else {
r0 = __proto__;
}
return r0;
}
function _fun79066() { // fn#79066, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10321:2249, offset: 0x01e43a26, size: 199 bytes, params: 1, frame: 18
var moduleValue2;
const defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
const track = defaultImport.track;
const ORB_BALANCE_ACTION_SHEET_ACTION = AnalyticEvents.ORB_BALANCE_ACTION_SHEET_ACTION;
Reflect.apply(track, defaultImport, [ORB_BALANCE_ACTION_SHEET_ACTION, {type: 'VIEW', source: source,
balance: balance}]);
const dismissibleContentUnsafeUtilsModule = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
const UNSAFE_isDismissibleContentDismissed = dismissibleContentUnsafeUtilsModule.UNSAFE_isDismissibleContentDismissed;
const DismissibleContent = (require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent;
const VIRTUAL_CURRENCY_MOBILE_ONBOARDING_PILL = DismissibleContent.VIRTUAL_CURRENCY_MOBILE_ONBOARDING_PILL;
if (!Reflect.apply(UNSAFE_isDismissibleContentDismissed, dismissibleContentUnsafeUtilsModule,
[VIRTUAL_CURRENCY_MOBILE_ONBOARDING_PILL])) {
moduleValue2 = dismissibleContentUnsafeUtilsModule;
moduleValue2.UNSAFE_markDismissibleContentAsDismissed(DismissibleContent.VIRTUAL_CURRENCY_MOBILE_ONBOARDING_PILL,
{dismissAction: ContentDismissActionType.AUTO_DISMISS});
}
}
function handleComponent() { // fn#79067, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10321:2722, owner: _default_79063.handleComponent, offset: 0x01e43aed, size: 23 bytes, params: 1, frame: 13
return <View />;
}
@@ -0,0 +1,258 @@
/* Metro module 14239; source: modules/virtual_currency/native/BalanceWidgetMenu.tsx; dependencies: [31, 27, 661, 663, 1376, 6528, 33, 1357, 5278, 4573, 1244, 10357, 1365, 683, 9480, 6531, 14240, 10069, 4080, 10135, 1962, 6789, 5120, 10134, 3968, 4593, 4501, 697, 2] */
function _fun107703(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#107703, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14436:6, offset: 0x02305e97, size: 344 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importAll(31) /* metro dependency 31 */;
const env0_4 = (require(27) /* metro dependency 27 */).View;
const env0_5 = (require(661) /* metro dependency 661: Constants */).AnalyticEvents;
const env0_6 = (require(663) /* metro dependency 663: CollectiblesShopConstants */).CollectiblesMobileShopScreen;
let value = require(1376) /* metro dependency 1376: DismissibleContentConstants */;
const env0_7 = value.ContentDismissActionType;
const env0_8 = value.DismissibleContentGroupName;
const env0_9 = (require(6528) /* metro dependency 6528: QuestConstants */).RewardFilterTypes;
value = require(33) /* metro dependency 33 */;
const env0_10 = value.jsx;
const env0_11 = value.jsxs;
const closure = OrbsOnboardingMenuDismissibleContent;
const env0_14 = (require(4501) /* metro dependency 4501: createStyles */).createStyles(_fun107714);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/virtual_currency/native/BalanceWidgetMenu.tsx');
exports.default = BalanceWidgetMenuWrapper;
exports.OrbsOnboardingMenuDismissibleContent = closure;
}
function BalanceWidgetMenu({style}) { // fn#107704, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14436:1547, offset: 0x02305fef, size: 255 bytes, params: 2, frame: 23
const hooksModule = require(10069) /* metro dependency 10069: hooks */;
const useFetchVirtualCurrencyBalance = hooksModule.useFetchVirtualCurrencyBalance;
const balance = Reflect.apply(useFetchVirtualCurrencyBalance, hooksModule, []).balance;
const value3 = env0_3.useCallback(_fun107705, [balance]);
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const formatToPlainString = intl.formatToPlainString;
const zPaLL9 = (require(1244) /* metro dependency 1244: indexNative */).t.zPaLL9;
const object = {};
object.balance = balance?.toString() ?? '';
return (
<BalanceWidget
onPress={value3}
style={style}
accessibilityLabel={Reflect.apply(formatToPlainString, intl, [zPaLL9, object])}
>
{((Component) => <Component balance={balance} onPress={value3} accessible={false} />)(importDefault(10134) /* metro dependency 10134: BalanceWidgetPillButton */)}
</BalanceWidget>
);
}
function BalanceWidget({onPress, style, accessibilityLabel, accessibilityState, children}) { // fn#107710, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14436:325, offset: 0x023063d9, size: 323 bytes, params: 2, frame: 24
const styles = useStyles((importDefault(1357) /* metro dependency 1357: MobileVisualRefreshExperiment */)('BalanceWidgetMenu'));
const PressableOpacity = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity;
const items2 = [styles.pressable, style];
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
return (
<PressableOpacity
onPress={onPress}
style={items2}
accessible
accessibilityRole="button"
accessibilityLabel={accessibilityLabel}
accessibilityState={accessibilityState}
activeOpacity={0.8}
>
<Text
variant="text-sm/semibold"
color="text-default"
style={styles.label}
>
{intl.string((require(1244) /* metro dependency 1244: indexNative */).t.gGtZpz)}
</Text>
<View style={styles.pill}>
{children}
</View>
</PressableOpacity>
);
}
function OrbsOnboardingMenuDismissibleContent({style}) { // fn#107711, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14436:822, offset: 0x0230651c, size: 120 bytes, params: 2, frame: 18
const SelectedDismissibleContent = importDefault(10357) /* metro dependency 10357: SelectedDismissibleContent */;
const DismissibleContent = (require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent;
const VIRTUAL_CURRENCY_MOBILE_ONBOARDING_PILL = DismissibleContent.VIRTUAL_CURRENCY_MOBILE_ONBOARDING_PILL;
const VIRTUAL_CURRENCY_MOBILE_ONBOARDING = DismissibleContentGroupName.VIRTUAL_CURRENCY_MOBILE_ONBOARDING;
return (
<SelectedDismissibleContent
contentTypes={[VIRTUAL_CURRENCY_MOBILE_ONBOARDING_PILL]}
groupName={VIRTUAL_CURRENCY_MOBILE_ONBOARDING}
>
{children_107712}
</SelectedDismissibleContent>
);
}
function _fun107714(a0) { // fn#107714, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14436:2867, offset: 0x02306700, size: 221 bytes, params: 2, frame: 21
var r11;
var r4;
var object;
var space;
var PX_8;
const object3 = {'flex': 1, 'flexDirection': 'row', 'alignItems': 'center'};
if (a0) {
object = {};
space = (importDefault(697) /* metro dependency 697: native */).space;
PX_8 = space.PX_8;
object.paddingHorizontal = PX_8;
space = (importDefault(697) /* metro dependency 697: native */).space;
object.paddingVertical = space.PX_8;
r4 = object;
r11 = PX_8;
} else {
r4 = {padding: 16};
}
copyDataProperties(object3, r4, r11);
const radii = (importDefault(697) /* metro dependency 697: native */).radii;
object3['borderRadius'] = a0 ? radii.md : radii.lg;
return {pressable: object3, label: {flex: 1}, pill: {alignItems: 'center'}, loadingContainer: {'height': 36,
'justifyContent': 'center'}};
}
function BalanceWidgetMenuWrapper(a0) { // fn#107715, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14436:3177, offset: 0x023067dd, size: 370 bytes, params: 2, frame: 21
var r0;
var intl;
const styles = useStyles((importDefault(1357) /* metro dependency 1357: MobileVisualRefreshExperiment */)('BalanceWidgetMenu'));
const hooksModule = require(10069) /* metro dependency 10069: hooks */;
const useFetchVirtualCurrencyBalance = hooksModule.useFetchVirtualCurrencyBalance;
const balance = Reflect.apply(useFetchVirtualCurrencyBalance, hooksModule, []).balance;
const dismissibleContentUnsafeUtilsModule = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
const UNSAFE_isDismissibleContentDismissed = dismissibleContentUnsafeUtilsModule.UNSAFE_isDismissibleContentDismissed;
const DismissibleContent = (require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent;
const VIRTUAL_CURRENCY_MOBILE_ONBOARDING_PILL = DismissibleContent.VIRTUAL_CURRENCY_MOBILE_ONBOARDING_PILL;
if (balance == null) {
var balanceWidgetBindingProps = {onPress: function() {
}, style: a0.style};
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
balanceWidgetBindingProps.accessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.cKwv4k);
balanceWidgetBindingProps.accessibilityState = {busy: true};
r0 = <BalanceWidget {...balanceWidgetBindingProps}><View style={styles.loadingContainer}>{((Ellipsis) => <Ellipsis variant="primary" size="sm" />)((require(4593) /* metro dependency 4593: ButtonEllipsisNative */).Ellipsis)}</View></BalanceWidget>;
} else {
r0 = ((Component) => <Component {...a0} />)(balance > 0 || Reflect.apply(UNSAFE_isDismissibleContentDismissed,
dismissibleContentUnsafeUtilsModule,
[VIRTUAL_CURRENCY_MOBILE_ONBOARDING_PILL]) ? BalanceWidgetMenu : OrbsOnboardingMenuDismissibleContent);
}
return r0;
}
function _fun107705() { // fn#107705, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14436:1660, offset: 0x023060ee, size: 280 bytes, params: 1, frame: 23
var object2;
const defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
const track = defaultImport.track;
const USER_PROFILE_ACTION = AnalyticEvents.USER_PROFILE_ACTION;
Reflect.apply(track, defaultImport, [USER_PROFILE_ACTION, {profile_action: 'ORBS_BALANCE_PRESSED'}]);
const defaultImport2 = importDefault(4080) /* metro dependency 4080: ActionSheetActionCreators */;
const openLazy = defaultImport2.openLazy;
object2 = {};
object2.balance = balance;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
const WrzJBf = t.WrzJBf;
object2.primaryButtonConfig = {buttonText: Reflect.apply(string, intl, [WrzJBf]),
onButtonPress: onButtonPress_107708};
string = intl.string;
const SymzJC = t.SymzJC;
object2.secondaryButtonConfig = {buttonText: Reflect.apply(string, intl, [SymzJC]),
onButtonPress: onButtonPress_107709};
const YOU_SCREEN = (importDefault(6789) /* metro dependency 6789: AnalyticsLocation */).YOU_SCREEN;
object2.source = YOU_SCREEN;
Reflect.apply(openLazy, defaultImport2, [_fun107706, 'BalanceWidgetMenu', object2]);
}
function OrbsOnboardingMenuDismissibleContentChildren({visibleContent, markAsDismissed}) { // fn#107712, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14436:986, owner: OrbsOnboardingMenuDismissibleContent.children, offset: 0x02306594, size: 209 bytes, params: 2, frame: 20
var environment;
var closure;
var intl;
const value = environment.__proto__;
const DismissibleContent = (require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent;
const VIRTUAL_CURRENCY_MOBILE_ONBOARDING_PILL = DismissibleContent.VIRTUAL_CURRENCY_MOBILE_ONBOARDING_PILL;
if (visibleContent === VIRTUAL_CURRENCY_MOBILE_ONBOARDING_PILL) {
closure = onPress_107713;
var balanceWidgetBindingProps = {onPress: closure, style: style};
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
balanceWidgetBindingProps.accessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.Kt2QDh);
return (
<BalanceWidget {...balanceWidgetBindingProps}>
{((Component) => <Component onPress={closure} accessible={false} />)(importDefault(14240) /* metro dependency 14240: OrbOnboardingPill */)}
</BalanceWidget>
);
}
return null;
}
function _fun107706() { // fn#107706, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14436:1762, offset: 0x02306206, size: 64 bytes, params: 1, frame: 13
var environment;
let value = environment.__proto__.__proto__;
value = require(dependencyMap[20]);
value = value(dependencyMap[19], dependencyMap.paths);
return value.then(function(a0) {
return a0.default;
});
}
function onButtonPress_107708() { // fn#107708, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14436:1929, offset: 0x02306246, size: 208 bytes, params: 1, frame: 19
var object2;
const defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
const track = defaultImport.track;
const ORB_BALANCE_ACTION_SHEET_ACTION = AnalyticEvents.ORB_BALANCE_ACTION_SHEET_ACTION;
const YOU_SCREEN = (importDefault(6789) /* metro dependency 6789: AnalyticsLocation */).YOU_SCREEN;
Reflect.apply(track, defaultImport, [ORB_BALANCE_ACTION_SHEET_ACTION, {type: 'GO_TO_SHOP', source: YOU_SCREEN,
balance: balance}]);
(importDefault(4080) /* metro dependency 4080: ActionSheetActionCreators */).hideActionSheet();
const collectiblesActionCreatorsModule = require(5120) /* metro dependency 5120: CollectiblesActionCreators */;
const openCollectiblesShopMobile = collectiblesActionCreatorsModule.openCollectiblesShopMobile;
object2 = {};
let COLLECTIBLES_SHOP = (importDefault(6789) /* metro dependency 6789: AnalyticsLocation */).COLLECTIBLES_SHOP;
object2.analyticsLocations = [COLLECTIBLES_SHOP];
COLLECTIBLES_SHOP = (importDefault(6789) /* metro dependency 6789: AnalyticsLocation */).COLLECTIBLES_SHOP;
object2.analyticsSource = COLLECTIBLES_SHOP;
const ORBS = CollectiblesMobileShopScreen.ORBS;
object2.screen = ORBS;
Reflect.apply(openCollectiblesShopMobile, collectiblesActionCreatorsModule, [object2]);
}
function onButtonPress_107709() { // fn#107709, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14436:2302, offset: 0x02306316, size: 195 bytes, params: 1, frame: 18
var object2;
const defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
const track = defaultImport.track;
const ORB_BALANCE_ACTION_SHEET_ACTION = AnalyticEvents.ORB_BALANCE_ACTION_SHEET_ACTION;
const YOU_SCREEN = (importDefault(6789) /* metro dependency 6789: AnalyticsLocation */).YOU_SCREEN;
Reflect.apply(track, defaultImport, [ORB_BALANCE_ACTION_SHEET_ACTION, {type: 'GO_TO_QUEST_HOME', source: YOU_SCREEN,
balance: balance}]);
(importDefault(4080) /* metro dependency 4080: ActionSheetActionCreators */).hideActionSheet();
const questUtilsNativeModule = require(9480) /* metro dependency 9480: QuestUtilsNative */;
const openQuestHome = questUtilsNativeModule.openQuestHome;
object2 = {mergeExistingRoutes: true};
const VIRTUAL_CURRENCY = RewardFilterTypes.VIRTUAL_CURRENCY;
object2.filter = VIRTUAL_CURRENCY;
const QuestContent = (require(6531) /* metro dependency 6531: QuestTypes */).QuestContent;
const ORBS_BALANCE_MENU = QuestContent.ORBS_BALANCE_MENU;
object2.fromContent = ORBS_BALANCE_MENU;
Reflect.apply(openQuestHome, questUtilsNativeModule, [object2]);
}
function childrenOnPress_107713() { // fn#107713, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14436:1129, owner: OrbsOnboardingMenuDismissibleContent.children.onPress, offset: 0x02306665, size: 155 bytes, params: 1, frame: 17
var object2;
const markAsDismissedBinding = markAsDismissed;
const TAKE_ACTION = ContentDismissActionType.TAKE_ACTION;
markAsDismissedBinding(TAKE_ACTION);
const defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
const track = defaultImport.track;
const USER_PROFILE_ACTION = AnalyticEvents.USER_PROFILE_ACTION;
Reflect.apply(track, defaultImport, [USER_PROFILE_ACTION, {profile_action: 'ORBS_BALANCE_PRESSED'}]);
const questUtilsNativeModule = require(9480) /* metro dependency 9480: QuestUtilsNative */;
const openQuestHome = questUtilsNativeModule.openQuestHome;
object2 = {};
const VIRTUAL_CURRENCY = RewardFilterTypes.VIRTUAL_CURRENCY;
object2.filter = VIRTUAL_CURRENCY;
const QuestContent = (require(6531) /* metro dependency 6531: QuestTypes */).QuestContent;
const MOBILE_ORBS_ONBOARDING_DC = QuestContent.MOBILE_ORBS_ONBOARDING_DC;
object2.fromContent = MOBILE_ORBS_ONBOARDING_DC;
Reflect.apply(openQuestHome, questUtilsNativeModule, [object2]);
}
@@ -0,0 +1,84 @@
/* Metro module 10124; source: modules/virtual_currency/native/BalanceWidgetPill.tsx; dependencies: [31, 27, 33, 4501, 4582, 697, 477, 10125, 1244, 10126, 10132, 10133, 2] */
function _fun79016(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#79016, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10310:6, offset: 0x01e41609, size: 467 bytes, params: 8, frame: 23
var object4;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const value = undefined;
importAll(31) /* metro dependency 31 */;
const env0_2 = (require(27) /* metro dependency 27 */).View;
const value2 = require(33) /* metro dependency 33 */;
const env0_3 = value2.jsx;
const env0_4 = value2.jsxs;
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
object4 = {};
const object5 = {'minHeight': null, 'borderRadius': null, 'justifyContent': 'center', 'alignItems': 'center',
'flexDirection': 'row'};
const SMALL_BUTTON_HEIGHT = (require(4582) /* metro dependency 4582: ButtonConstantsNative */).SMALL_BUTTON_HEIGHT;
object5.minHeight = SMALL_BUTTON_HEIGHT;
object5.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
const PX_12 = (importDefault(697) /* metro dependency 697: native */).space.PX_12;
object5.paddingHorizontal = PX_12;
const PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
object5.paddingVertical = PX_4;
const CONTROL_OVERLAY_SECONDARY_BACKGROUND_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.CONTROL_OVERLAY_SECONDARY_BACKGROUND_DEFAULT;
object5.backgroundColor = CONTROL_OVERLAY_SECONDARY_BACKGROUND_DEFAULT;
object5.gap = 4;
object4.container = object5;
object4.orbsLottieContainer = {'position': 'relative', 'height': 18, 'width': 18, 'justifyContent': 'center',
'alignItems': 'center'};
object4.balanceCounterContainer = {'justifyContent': 'center', 'alignItems': 'flex-end'};
const object6 = {};
const CONTROL_OVERLAY_SECONDARY_TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.CONTROL_OVERLAY_SECONDARY_TEXT_DEFAULT;
object6.color = CONTROL_OVERLAY_SECONDARY_TEXT_DEFAULT;
object6.textAlign = 'right';
const platformUtilsModule = require(477) /* metro dependency 477: PlatformUtils */;
object6.lineHeight = platformUtilsModule.isAndroid() ? 14 : value;
object4.balanceText = object6;
const env0_5 = Reflect.apply(createStyles, createStylesModule, [object4]);
const closure = BalanceWidgetPill;
closure.displayName = 'BalanceWidgetPill';
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/virtual_currency/native/BalanceWidgetPill.tsx');
exports.default = closure;
exports.BalanceWidgetPill = closure;
return value;
}
function BalanceWidgetPill({initialRenderedBalance, balance}) { // fn#79017, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10310:802, offset: 0x01e417dc, size: 467 bytes, params: 2, frame: 31
initialRenderedBalance = initialRenderedBalance === undefined ? null : initialRenderedBalance;
const r5 = initialRenderedBalance === null && balance === null;
const {onValueChange, onValueReached, showInitialRenderedBalance, currentAnimationType,
lottieRef} = (require(10125) /* metro dependency 10125: useVirtualCurrencyBalanceAnimationData */).useVirtualCurrencyBalanceAnimationData({initialRenderedBalance: initialRenderedBalance,
balance: balance});
const styles = useStyles();
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const r4 = r5 ? intl.string((require(1244) /* metro dependency 1244: indexNative */).t.y0WGqP) : intl.formatToPlainString((require(1244) /* metro dependency 1244: indexNative */).t.zPaLL9,
{balance: balance});
const object = {busy: r5};
const OrbLottieAnimation = (require(10126) /* metro dependency 10126: OrbLottieAnimation */).OrbLottieAnimation;
const view = <View style={styles.orbsLottieContainer}><OrbLottieAnimation ref={lottieRef} animationType={currentAnimationType} /></View>;
const BalanceCounter = (require(10132) /* metro dependency 10132: BalanceCounter */).BalanceCounter;
const r14 = showInitialRenderedBalance ? initialRenderedBalance : balance;
const EXPECTED_ORB_LOTTIE_ANIMATION_DURATION_MS = (require(10133) /* metro dependency 10133: AnimationUtils */).EXPECTED_ORB_LOTTIE_ANIMATION_DURATION_MS;
return (
<View
style={styles.container}
accessibilityLabel={r4}
accessibilityState={object}
accessible
>
{view}
<View style={styles.balanceCounterContainer}>
<BalanceCounter
value={r14}
onValueChange={onValueChange}
onValueReached={onValueReached}
targetTotalCounterTime={EXPECTED_ORB_LOTTIE_ANIMATION_DURATION_MS}
style={styles.balanceText}
/>
</View>
</View>
);
}
@@ -0,0 +1,42 @@
/* Metro module 10134; source: modules/virtual_currency/native/BalanceWidgetPillButton.tsx; dependencies: [31, 33, 4578, 10077, 1244, 2] */
function _fun79059(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#79059, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10320:6, offset: 0x01e42d88, size: 154 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
const env0_3 = (require(33) /* metro dependency 33 */).jsx;
const closure = BalanceWidgetPillButton;
closure.displayName = 'BalanceWidgetPillButton';
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/virtual_currency/native/BalanceWidgetPillButton.tsx');
exports.default = closure;
exports.BalanceWidgetPillButton = closure;
}
function BalanceWidgetPillButton({balance, onPress, variant, accessible}) { // fn#79060, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10320:142, offset: 0x01e42e22, size: 312 bytes, params: 2, frame: 23
var r5;
var formatToPlainString;
var zPaLL9;
var object;
variant = variant === undefined ? 'tertiary' : variant;
accessible = accessible === undefined || accessible;
const value4 = balance === null;
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
const buttonProps = {variant: variant, onPress: onPress, size: 'sm', text: balance?.toString() ?? '',
icon: importDefault(10077) /* metro dependency 10077 */, accessible: accessible,
accessibilityElementsHidden: !accessible, importantForAccessibility: accessible ? 'auto' : 'no'};
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
if (value4) {
r5 = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.y0WGqP);
} else {
formatToPlainString = intl.formatToPlainString;
zPaLL9 = (require(1244) /* metro dependency 1244: indexNative */).t.zPaLL9;
object = {};
object.balance = balance.toString();
r5 = Reflect.apply(formatToPlainString, intl, [zPaLL9, object]);
}
buttonProps.accessibilityLabel = r5;
buttonProps.disabled = value4;
buttonProps.loading = value4;
return <Button {...buttonProps} />;
}
@@ -0,0 +1,38 @@
/* Metro module 10118; source: modules/virtual_currency/native/OrbCheckoutAmountTag.tsx; dependencies: [27, 33, 4501, 697, 10076, 4573, 1244, 2] */
function _fun78990(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#78990, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10304:6, offset: 0x01e40753, size: 242 bytes, params: 8, frame: 21
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = (require(27) /* metro dependency 27 */).View;
let value = require(33) /* metro dependency 33 */;
const env0_3 = value.jsx;
const env0_4 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
const PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
const env0_5 = Reflect.apply(createStyles, value, [{orbAmountTag: {'flexDirection': 'row', 'alignItems': 'center',
gap: PX_4}, orbsIcon: {'width': 14, 'height': 14}}]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/virtual_currency/native/OrbCheckoutAmountTag.tsx');
exports.default = _default_78991;
}
function _default_78991({orbAmount}) { // fn#78991, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10304:281, offset: 0x01e40845, size: 311 bytes, params: 2, frame: 25
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const styles = useStyles();
const OrbsIcon = (require(10076) /* metro dependency 10076: OrbsIcon */).OrbsIcon;
const orbsIcon = <OrbsIcon size="custom" color="icon-strong" style={styles.orbsIcon} />;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
return (
<View style={styles.orbAmountTag}>
{orbsIcon}
<Text
variant="text-md/semibold"
accessibilityLabel={orbAmount == null ? intl.string((require(1244) /* metro dependency 1244: indexNative */).t.pfChQr) : intl.formatToPlainString((require(1244) /* metro dependency 1244: indexNative */).t.W4DfeF,
{orbAmount: orbAmount})}
>
{orbAmount ?? '--'}
</Text>
</View>
);
}
@@ -0,0 +1,54 @@
/* Metro module 14241; source: modules/virtual_currency/native/OrbCheckoutMenu.tsx; dependencies: [57, 31, 33, 4501, 5080, 10113, 1962, 3857, 6239, 4573, 7981, 4578, 2] */
function _fun107719(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#107719, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14438:6, offset: 0x02306bb1, size: 222 bytes, params: 8, frame: 20
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
const value = require(33) /* metro dependency 33 */;
const env0_5 = value.jsx;
const env0_6 = value.jsxs;
const env0_7 = (require(4501) /* metro dependency 4501: createStyles */).createStyles({textInput: {marginBottom: 16},
title: {marginBottom: 8}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/virtual_currency/native/OrbCheckoutMenu.tsx');
exports.default = OrbCheckoutMenu;
}
function OrbCheckoutMenu() { // fn#107720, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14438:226, offset: 0x02306c8f, size: 377 bytes, params: 1, frame: 25
const styles = useStyles();
const binding = env0_4;
const [property, env0_1] = env0_3(binding.useState('1409898407849365565'), 2);
const value4 = binding.useCallback(_fun107721, [property]);
const Card = (require(6239) /* metro dependency 6239: CardNative */).Card;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const items2 = [<Text style={styles.title} variant="text-md/bold">{'Redeem SKU for Orbs'}</Text>];
const TextInput = (require(7981) /* metro dependency 7981: TextInputNative */).TextInput;
items2[1] = <TextInput containerStyle={styles.textInput} label="SKU ID" value={property} onChange={onChange_107723} isClearable />;
items2[2] = <Text style={styles.title} variant="text-md/bold">{'Checkout will open with the orb price of the product, if it exists'}</Text>;
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
items2[3] = <Button text="Open Orbs Checkout" variant="primary" onPress={value4} disabled={property == null} />;
return (
<Card>
{items2}
</Card>
);
}
function _fun107721() { // fn#107721, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14438:339, offset: 0x02306e08, size: 121 bytes, params: 1, frame: 16
var environment;
var value2;
var defaultImport;
if (env0_0 != null) {
value2 = environment.__proto__;
defaultImport = importDefault(dependencyMap[4]);
defaultImport.pushLazy(require(dependencyMap[6])(dependencyMap[5], dependencyMap.paths), {skuId: env0_0,
analyticsLocations: [], onCheckoutSuccess: onCheckoutSuccess_107722});
}
}
function onCheckoutSuccess_107722() { // fn#107722, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14438:441, offset: 0x02306e81, size: 52 bytes, params: 1, frame: 12
const value = environment.__proto__.__proto__;
(importDefault(3857) /* metro dependency 3857: ToastActionCreators */).open({'key': 'ORB_CHECKOUT_SUCCESS',
'content': 'Successfully redeemed item with Orbs'});
}
@@ -0,0 +1,47 @@
/* Metro module 10126; source: modules/virtual_currency/native/OrbLottieAnimation.tsx; dependencies: [31, 33, 4048, 4002, 10127, 10130, 2] */
function _fun79028(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#79028, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10312:6, offset: 0x01e41d6c, size: 191 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importAll(31) /* metro dependency 31 */;
let value = require(31) /* metro dependency 31 */;
const forwardRef = value.forwardRef;
const env0_3 = value.useRef;
const env0_4 = value.useEffect;
const env0_5 = (require(33) /* metro dependency 33 */).jsx;
value = forwardRef(_fun79029);
value.displayName = 'OrbsLottieAnimation';
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/virtual_currency/native/OrbLottieAnimation.tsx');
exports.default = value;
exports.OrbLottieAnimation = value;
}
function _fun79029({animationType}, a1) { // fn#79029, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10312:175, offset: 0x01e41e2b, size: 242 bytes, params: 3, frame: 19
const isThemeLight2 = (require(4002) /* metro dependency 4002: shared */).isThemeLight((require(4048) /* metro dependency 4048: useTheme */).useTheme());
const value3 = useRef(null);
useEffect(_fun79030, [animationType]);
env0_2.useImperativeHandle(a1, function() {
return {play: _fun79032};
});
return ((Component) => <Component ref={value3} size="custom" width={60} height={60} opacity={0.8} animation={animationType ?? 'spend'} useLottieDefaultColors />)(isThemeLight2 ? (require(10127) /* metro dependency 10127: SpendEarnOrbsLightThemeLottie */).SpendEarnOrbsLightThemeLottie : (require(10130) /* metro dependency 10130: SpendEarnOrbsLottie */).SpendEarnOrbsLottie);
}
function _fun79030() { // fn#79030, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10312:263, offset: 0x01e41f1d, size: 40 bytes, params: 1, frame: 10
var current;
if (animationType !== null) {
current = env0_1.current;
if (current != null) {
current.play();
}
}
}
function _fun79031() { // fn#79031, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10312:348, offset: 0x01e41f45, size: 18 bytes, params: 1, frame: 2
return {play: play_79032};
}
function play_79032() { // fn#79032, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10312:359, offset: 0x01e41f57, size: 35 bytes, params: 1, frame: 10
const value = environment.__proto__;
return env1_1.current?.play();
}
@@ -0,0 +1,57 @@
/* Metro module 14240; source: modules/virtual_currency/native/OrbOnboardingPill.tsx; dependencies: [31, 33, 5278, 10076, 4573, 1244, 4501, 697, 2] */
function _fun107717(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#107717, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14437:6, offset: 0x0230694f, size: 322 bytes, params: 8, frame: 24
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
let value = require(33) /* metro dependency 33 */;
const env0_2 = value.jsx;
const env0_3 = value.jsxs;
const closure = OrbOnboardingPill;
closure.displayName = 'OrbOnboardingPill';
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
const object = {'height': 36, 'borderRadius': null, 'justifyContent': 'center', 'alignItems': 'center',
'flexDirection': 'row'};
object.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
const PX_12 = (importDefault(697) /* metro dependency 697: native */).space.PX_12;
object.paddingHorizontal = PX_12;
const PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
object.paddingVertical = PX_4;
const REDESIGN_BUTTON_TERTIARY_BACKGROUND = (importDefault(697) /* metro dependency 697: native */).colors.REDESIGN_BUTTON_TERTIARY_BACKGROUND;
object.backgroundColor = REDESIGN_BUTTON_TERTIARY_BACKGROUND;
object.flexShrink = 0;
object.gap = 4;
const env0_4 = Reflect.apply(createStyles, value, [{container: object}]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/virtual_currency/native/OrbOnboardingPill.tsx');
exports.default = closure;
exports.OrbOnboardingPill = closure;
}
function OrbOnboardingPill({onPress, accessible}) { // fn#107718, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14437:149, offset: 0x02306a91, size: 288 bytes, params: 2, frame: 22
accessible = accessible === undefined || accessible;
const styles = useStyles();
const PressableOpacity = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity;
const r5 = accessible ? 'auto' : 'no';
const OrbsIcon = (require(10076) /* metro dependency 10076: OrbsIcon */).OrbsIcon;
const orbsIcon = <OrbsIcon size="sm" />;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
return (
<PressableOpacity
onPress={onPress}
style={styles.container}
accessibilityRole="button"
activeOpacity={0.8}
accessible={accessible}
accessibilityElementsHidden={!accessible}
importantForAccessibility={r5}
>
{orbsIcon}
<Text variant="text-sm/semibold" color="redesign-button-tertiary-text">
{intl.string((require(1244) /* metro dependency 1244: indexNative */).t['9JpRfC'])}
</Text>
</PressableOpacity>
);
}
@@ -0,0 +1,14 @@
/* Metro module 10123; source: modules/virtual_currency/native/index.tsx; dependencies: [2, 10124, 10134, 10132, 10135] */
function _fun79015(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#79015, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10309:6, offset: 0x01e41562, size: 167 bytes, params: 8, frame: 17
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/virtual_currency/native/index.tsx');
const BalanceWidgetPill = (require(10124) /* metro dependency 10124: BalanceWidgetPill */).BalanceWidgetPill;
exports.BalanceWidgetPill = BalanceWidgetPill;
const BalanceWidgetPillButton = (require(10134) /* metro dependency 10134: BalanceWidgetPillButton */).BalanceWidgetPillButton;
exports.BalanceWidgetPillButton = BalanceWidgetPillButton;
const BalanceCounter = (require(10132) /* metro dependency 10132: BalanceCounter */).BalanceCounter;
exports.BalanceCounter = BalanceCounter;
exports.BalanceWidgetActionSheet = importDefault(10135) /* metro dependency 10135: BalanceWidgetActionSheet */;
}
@@ -0,0 +1,17 @@
/* Metro module 10133; source: modules/virtual_currency/shared/AnimationUtils.tsx; dependencies: [2] */
function _fun79057(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#79057, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10319:6, offset: 0x01e42ccb, size: 125 bytes, params: 8, frame: 17
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/virtual_currency/shared/AnimationUtils.tsx');
exports.EXPECTED_ORB_LOTTIE_ANIMATION_DURATION_MS = 3000;
exports.ORB_LOTTIE_COUNTER_ANIMATION_FACTORS = {'EARN': 0.25, 'SPEND': 0.3};
exports.getDesiredAnimationConfigs = getDesiredAnimationConfigs;
}
function getDesiredAnimationConfigs(a0, a1) { // fn#79058, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10319:320, offset: 0x01e42d48, size: 64 bytes, params: 3, frame: 6
const value = 0;
const value2 = a0 > value;
const value6 = a1 * env0_0[value2 ? 'EARN' : 'SPEND'];
return {duration: value6, delay: value2 ? a1 - value6 : value};
}
@@ -0,0 +1,198 @@
/* Metro module 10071; source: modules/virtual_currency/stores/VirtualCurrencyStore.tsx; dependencies: [6, 7, 15, 17, 18, 694, 566, 2] */
function _fun78693(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#78693, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10257:6, offset: 0x01e31d27, size: 244 bytes, params: 8, frame: 18
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importDefault(6) /* metro dependency 6 */;
const env0_3 = importDefault(7) /* metro dependency 7 */;
const env0_4 = importDefault(15) /* metro dependency 15 */;
const env0_5 = importDefault(17) /* metro dependency 17 */;
const env0_6 = importDefault(18) /* metro dependency 18 */;
const Store = (importDefault(566) /* metro dependency 566: flux */).Store;
let value = _fun78697(Store);
value.displayName = 'VirtualCurrencyStore';
value = new value();
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/virtual_currency/stores/VirtualCurrencyStore.tsx');
exports.default = value;
}
function _isNativeReflectConstruct_78694() { // fn#78694, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10257:148, offset: 0x01e31e1b, size: 98 bytes, params: 1, frame: 18
var Boolean;
var prototype;
var valueOf;
var call;
var Reflect;
var construct;
var closure;
var value;
var error;
try {
Boolean = global.Boolean;
prototype = Boolean.prototype;
valueOf = prototype.valueOf;
call = valueOf.call;
Reflect = global.Reflect;
construct = Reflect.construct;
Boolean = global.Boolean;
closure = function() {
};
value = Reflect.apply(construct, Reflect, [Boolean, [], closure]);
value = Reflect.apply(call, valueOf, [value]);
var result = !value;
} catch (error) {
}
return (_isNativeReflectConstruct_78694_isNativeReflectConstruct = function() {
return !!result;
})();
}
function _fun78697(a0) { // fn#78697, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10257:347, offset: 0x01e31e7d, size: 600 bytes, params: 2, frame: 16
const closure = VirtualCurrencyStore;
env0_6(closure, a0);
return env0_3(closure, [{key: 'redeemError', get: function() {
return this._redeemVirtualCurrencyError;
}}, {key: 'isRedeeming', get: function() {
return this._isRedeemingVirtualCurrency;
}}, {key: 'redeemingSkuId', get: function() {
return this._redeemingSkuId;
}}, {key: 'entitlements', get: function() {
return this._entitlements;
}}, {key: 'balance', get: function() {
return this._balance;
}}, {key: 'fetchBalanceError', get: function() {
return this._fetchBalanceError;
}}, {key: 'isFetchingBalance', get: function() {
return this._isFetchingBalance;
}}, {key: 'onboardingModalOpenedPrior', get: function() {
return this._onboardingModalOpenedPrior;
}}, {key: 'balancePillOverlay', get: function() {
return this._balancePillOverlay;
}}, {key: 'setBalancePillOverlay', value: function(a0) {
this._balancePillOverlay = a0;
}}, {key: 'getCurrentBalance', value: function() {
return this.balance;
}}, {key: 'handleBalanceStateReset', value: function() {
this._balance = null;
this._fetchBalanceError = null;
this._isFetchingBalance = false;
}}, {key: 'handleBalanceFetch', value: function(a0) {
var r3;
if (a0 == null) {
throwTypeError(a0, "Cannot destructure 'undefined' or 'null'.", r3);
throw undefined;
}
this._isFetchingBalance = true;
this._fetchBalanceError = null;
}}, {key: 'handleBalanceFetchSuccess', value: function({balance}) {
this._isFetchingBalance = false;
this._balance = balance;
}}, {key: 'handleBalanceFetchFail', value: function({error}) {
this._isFetchingBalance = false;
this._fetchBalanceError = error;
}}, {key: 'handleBalanceUpdate', value: function(a0) {
this._balance = a0.balance;
}}, {key: 'handleRedeemVirtualCurrencyStart', value: function({skuId}) {
this._entitlements = null;
this._redeemingSkuId = skuId;
this._redeemVirtualCurrencyError = null;
this._isRedeemingVirtualCurrency = true;
}}, {key: 'handleRedeemVirtualCurrencySuccess', value: function(a0) {
this._entitlements = a0.entitlements;
this._redeemingSkuId = null;
this._isRedeemingVirtualCurrency = false;
}}, {key: 'handleRedeemVirtualCurrencyFail', value: function({error}) {
this._entitlements = null;
this._redeemVirtualCurrencyError = error;
this._redeemingSkuId = null;
this._isRedeemingVirtualCurrency = false;
}}, {key: 'handleOnboardingModalOpen', value: function(a0) {
var r2;
if (a0 == null) {
throwTypeError(a0, "Cannot destructure 'undefined' or 'null'.", r2);
throw undefined;
}
this._onboardingModalOpenedPrior = true;
}}, {key: 'handleOnboardingModalReset', value: function(a0) {
var r2;
if (a0 == null) {
throwTypeError(a0, "Cannot destructure 'undefined' or 'null'.", r2);
throw undefined;
}
this._onboardingModalOpenedPrior = false;
}}]);
}
function VirtualCurrencyStore() { // fn#78698, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10257:359, offset: 0x01e320d5, size: 352 bytes, params: 1, frame: 20
var environment;
let value = environment.__proto__;
env1_2(this, VirtualCurrencyStore);
const items2 = [importDefault(694) /* metro dependency 694: Dispatcher */];
items2[1] = {VIRTUAL_CURRENCY_REDEEM_START: VIRTUAL_CURRENCY_REDEEM_START,
VIRTUAL_CURRENCY_REDEEM_SUCCESS: VIRTUAL_CURRENCY_REDEEM_SUCCESS,
VIRTUAL_CURRENCY_REDEEM_FAIL: VIRTUAL_CURRENCY_REDEEM_FAIL,
VIRTUAL_CURRENCY_BALANCE_FETCH: VIRTUAL_CURRENCY_BALANCE_FETCH,
VIRTUAL_CURRENCY_BALANCE_FETCH_SUCCESS: VIRTUAL_CURRENCY_BALANCE_FETCH_SUCCESS,
VIRTUAL_CURRENCY_BALANCE_FETCH_FAIL: VIRTUAL_CURRENCY_BALANCE_FETCH_FAIL,
VIRTUAL_CURRENCY_BALANCE_UPDATE: VIRTUAL_CURRENCY_BALANCE_UPDATE,
VIRTUAL_CURRENCY_ONBOARDING_MODAL_OPEN: VIRTUAL_CURRENCY_ONBOARDING_MODAL_OPEN,
VIRTUAL_CURRENCY_ONBOARDING_MODAL_RESET: VIRTUAL_CURRENCY_ONBOARDING_MODAL_RESET,
LOGIN_SUCCESS: LOGIN_SUCCESS_78708,
VIRTUAL_CURRENCY_SET_BALANCE_PILL_OVERLAY: VIRTUAL_CURRENCY_SET_BALANCE_PILL_OVERLAY};
const value3 = env1_5(VirtualCurrencyStore);
value = env1_4(this, _isNativeReflectConstruct_78694() ? global.Reflect.construct(value3, items2,
env1_5(this).constructor) : value3.apply(this, items2));
value._entitlements = null;
value._redeemingSkuId = null;
value._isRedeemingVirtualCurrency = false;
value._redeemVirtualCurrencyError = null;
value._balance = null;
value._fetchBalanceError = null;
value._isFetchingBalance = false;
value._onboardingModalOpenedPrior = false;
value._balancePillOverlay = false;
return value;
}
function VIRTUAL_CURRENCY_REDEEM_START(a0) { // fn#78699, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10257:634, owner: VirtualCurrencyStore.VIRTUAL_CURRENCY_REDEEM_START, offset: 0x01e32235, size: 25 bytes, params: 2, frame: 11
return env0_0.handleRedeemVirtualCurrencyStart(a0);
}
function VIRTUAL_CURRENCY_REDEEM_SUCCESS(a0) { // fn#78700, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10257:707, owner: VirtualCurrencyStore.VIRTUAL_CURRENCY_REDEEM_SUCCESS, offset: 0x01e3224e, size: 25 bytes, params: 2, frame: 11
return env0_0.handleRedeemVirtualCurrencySuccess(a0);
}
function VIRTUAL_CURRENCY_REDEEM_FAIL(a0) { // fn#78701, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10257:779, owner: VirtualCurrencyStore.VIRTUAL_CURRENCY_REDEEM_FAIL, offset: 0x01e32267, size: 25 bytes, params: 2, frame: 11
return env0_0.handleRedeemVirtualCurrencyFail(a0);
}
function VIRTUAL_CURRENCY_BALANCE_FETCH(a0) { // fn#78702, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10257:850, owner: VirtualCurrencyStore.VIRTUAL_CURRENCY_BALANCE_FETCH, offset: 0x01e32280, size: 25 bytes, params: 2, frame: 11
return env0_0.handleBalanceFetch(a0);
}
function VIRTUAL_CURRENCY_BALANCE_FETCH_SUCCESS(a0) { // fn#78703, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10257:916, owner: VirtualCurrencyStore.VIRTUAL_CURRENCY_BALANCE_FETCH_SUCCESS, offset: 0x01e32299, size: 25 bytes, params: 2, frame: 11
return env0_0.handleBalanceFetchSuccess(a0);
}
function VIRTUAL_CURRENCY_BALANCE_FETCH_FAIL(a0) { // fn#78704, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10257:986, owner: VirtualCurrencyStore.VIRTUAL_CURRENCY_BALANCE_FETCH_FAIL, offset: 0x01e322b2, size: 25 bytes, params: 2, frame: 11
return env0_0.handleBalanceFetchFail(a0);
}
function VIRTUAL_CURRENCY_BALANCE_UPDATE(a0) { // fn#78705, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10257:1049, owner: VirtualCurrencyStore.VIRTUAL_CURRENCY_BALANCE_UPDATE, offset: 0x01e322cb, size: 25 bytes, params: 2, frame: 11
return env0_0.handleBalanceUpdate(a0);
}
function VIRTUAL_CURRENCY_ONBOARDING_MODAL_OPEN(a0) { // fn#78706, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10257:1116, owner: VirtualCurrencyStore.VIRTUAL_CURRENCY_ONBOARDING_MODAL_OPEN, offset: 0x01e322e4, size: 25 bytes, params: 2, frame: 11
return env0_0.handleOnboardingModalOpen(a0);
}
function VIRTUAL_CURRENCY_ONBOARDING_MODAL_RESET(a0) { // fn#78707, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10257:1190, owner: VirtualCurrencyStore.VIRTUAL_CURRENCY_ONBOARDING_MODAL_RESET, offset: 0x01e322fd, size: 25 bytes, params: 2, frame: 11
return env0_0.handleOnboardingModalReset(a0);
}
function VirtualCurrencyStoreLOGIN_SUCCESS() { // fn#78708, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10257:1239, owner: VirtualCurrencyStore.LOGIN_SUCCESS, offset: 0x01e32316, size: 21 bytes, params: 1, frame: 9
return env0_0.handleBalanceStateReset();
}
function VIRTUAL_CURRENCY_SET_BALANCE_PILL_OVERLAY({balancePillOverlay}) { // fn#78709, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10257:1313, owner: VirtualCurrencyStore.VIRTUAL_CURRENCY_SET_BALANCE_PILL_OVERLAY, offset: 0x01e3232b, size: 31 bytes, params: 2, frame: 11
env0_0.setBalancePillOverlay(balancePillOverlay);
}
@@ -0,0 +1,9 @@
/* Metro module 10067; source: modules/virtual_currency/types.tsx; dependencies: [2] */
function _fun78686(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#78686, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10253:6, offset: 0x01e319ce, size: 136 bytes, params: 8, frame: 17
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/virtual_currency/types.tsx');
exports.BalanceWidgetMode = {DEFAULT: 'DEFAULT', HIGHLIGHTED: 'HIGHLIGHTED', SELECTED: 'SELECTED'};
exports.OrbBadges = {ORB_PROFILE_BADGE: 'orb_profile_badge'};
}