Files
discord-decomp/sources/modules/premium/native/gifting/PremiumGiftModal.tsx
T
2026-07-27 16:20:00 +03:00

205 lines
14 KiB
TypeScript

/* Metro module 10382; source: modules/premium/native/gifting/PremiumGiftModal.tsx; dependencies: [57, 31, 1878, 33, 7294, 4501, 697, 566, 10034, 1244, 5282, 10383, 10456, 10458, 10463, 2320, 10468, 10381, 6789, 6771, 6518, 491, 5080, 3815, 7636, 7669, 10472, 5280, 2] */
function _fun80412(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#80412, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10568:6, offset: 0x01e79964, size: 485 bytes, params: 8, frame: 22
var object3;
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 userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
const env0_6 = (require(33) /* metro dependency 33 */).jsx;
object3 = {PLAN_SELECT: 'PremiumGiftPlanSelect', REWARD_SELECT: 'GiftingSKUSelect',
CUSTOMIZATION: 'PremiumGiftCustomization', SUCCESS: 'PremiumGiftSuccess',
GIFTING_BADGE: 'GiftingBadgePostPurchase'};
const object4 = {};
let PLAN_SELECT = object3.PLAN_SELECT;
const PaymentFlowStep = (require(7294) /* metro dependency 7294: PremiumAnalyticsUtils */).PaymentFlowStep;
const SKU_SELECT = PaymentFlowStep.SKU_SELECT;
object4[PLAN_SELECT] = SKU_SELECT;
const REWARD_SELECT = object3.REWARD_SELECT;
const REWARD_SKU_SELECT = PaymentFlowStep.REWARD_SKU_SELECT;
object4[REWARD_SELECT] = REWARD_SKU_SELECT;
const CUSTOMIZATION = object3.CUSTOMIZATION;
PLAN_SELECT = PaymentFlowStep.PLAN_SELECT;
object4[CUSTOMIZATION] = PLAN_SELECT;
const SUCCESS = object3.SUCCESS;
let CONFIRM = PaymentFlowStep.CONFIRM;
object4[SUCCESS] = CONFIRM;
const GIFTING_BADGE = object3.GIFTING_BADGE;
CONFIRM = PaymentFlowStep.CONFIRM;
object4[GIFTING_BADGE] = CONFIRM;
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
const BACKGROUND_BASE_LOW = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOW;
const env0_9 = Reflect.apply(createStyles, createStylesModule, [{header: {backgroundColor: BACKGROUND_BASE_LOW,
shadowColor: 'transparent'}}]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/premium/native/gifting/PremiumGiftModal.tsx');
exports.default = PremiumGiftModal;
exports.PremiumGiftScreens = object3;
}
function PremiumGiftModal({recipientUserId, premiumType, planInterval, analyticsLocation, analyticsLocations, initialRoute, order, onDismiss}) { // fn#80413, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10568:829, offset: 0x01e79b49, size: 613 bytes, params: 2, frame: 33
var r0;
var UnsupportedFeatureModal;
var intl;
var AnalyticsLocationProvider;
var NativeGiftContextProvider;
var object3;
var value;
const analyticsLocations2 = (importDefault(6771) /* metro dependency 6771: useAnalyticsLocations */)(analyticsLocations).analyticsLocations;
const value2 = (importDefault(6518) /* metro dependency 6518: useInitialValue */)(_fun80414);
const env0_3 = value2;
let binding = undefined;
const useMemo = binding.useMemo;
let object = [value2, analyticsLocation, analyticsLocations];
const value3 = Reflect.apply(useMemo, binding, [_fun80415, object]);
const r2 = initialRoute ?? (premiumType != null ? env0_7.CUSTOMIZATION : env0_7.PLAN_SELECT);
binding = undefined;
const value4 = binding.useCallback(_fun80416, [onDismiss]);
const value5 = useGetScreens(r2, value4, recipientUserId);
const value7 = env0_3(binding.useState(env0_8[r2]), 2);
if ((require(3815) /* metro dependency 3815: BillingPlatformUtils */).isPremiumGiftingSupported()) {
AnalyticsLocationProvider = (require(6771) /* metro dependency 6771: useAnalyticsLocations */).AnalyticsLocationProvider;
object = {value: analyticsLocations2};
NativeGiftContextProvider = (require(7669) /* metro dependency 7669: NativeGiftContext */).NativeGiftContextProvider;
object3 = {basePurchaseAnalytics: value3, recipientUserId: recipientUserId, onClose: value4,
setCurrentAnalyticsStep: value7[1], premiumType: premiumType, planInterval: planInterval,
initialOrder: order};
value = importDefault(10472) /* metro dependency 10472: PremiumGiftAnalytics */;
value = <AnalyticsLocationProvider {...object}><NativeGiftContextProvider {...object3}>{((Component) => <Component currentStep={value7[0]}>{((Navigator) => <Navigator initialRouteName={r2} screens={value5} onStateChange={onStateChange} />)((require(5280) /* metro dependency 5280: NavigatorNative */).Navigator)}</Component>)(value)}</NativeGiftContextProvider></AnalyticsLocationProvider>;
r0 = value;
} else {
UnsupportedFeatureModal = importDefault(7636) /* metro dependency 7636: UnsupportedFeatureModal */;
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
r0 = <UnsupportedFeatureModal title={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['JCFN/y'])} />;
}
return r0;
}
function _fun80415() { // fn#80415, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10568:1063, offset: 0x01e79dd3, size: 77 bytes, params: 1, frame: 13
const value = environment.__proto__;
return (require(7294) /* metro dependency 7294: PremiumAnalyticsUtils */).getBasePurchaseFlowAnalyticsFields({isGift: true,
analyticsLoadId: env0_3, analyticsLocation: analyticsLocation, analyticsLocations: analyticsLocations});
}
function _fun80416() { // fn#80416, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10568:1259, offset: 0x01e79e20, size: 58 bytes, params: 1, frame: 12
const value = environment.__proto__;
(importDefault(5080) /* metro dependency 5080: ModalActionCreators */).pop();
if (onDismiss != null) {
onDismiss();
}
}
function useGetScreens(a0, a1, a2) { // fn#80417, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10568:1301, owner: PremiumGiftModal.useGetScreens, offset: 0x01e79e5a, size: 802 bytes, params: 4, frame: 25
var object4;
var environment;
var r1;
var object2;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const env0_0 = a2;
const value = environment.__proto__;
const styles = useStyles();
const value2 = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], _fun80418);
const value3 = (require(10034) /* metro dependency 10034: useWishlistHooks */).useFetchWishlistAndProfileInfoForUser(a2);
const env0_1 = value3.wishlist;
const env0_2 = value3.userProfile;
const env0_3 = value3.wishlistId;
const env0_4 = value3.error;
const value4 = (require(10034) /* metro dependency 10034: useWishlistHooks */).useShouldShowWishlistInDMGifting({'isGift': true,
'giftRecipient': null, 'isSocialLayerStorefrontEnabled': false, giftRecipient: value2});
object4 = {};
const PLAN_SELECT = env1_7.PLAN_SELECT;
if (value4) {
object2 = {};
object2.title = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['JCFN/y']);
object2.headerLeft = (require(5282) /* metro dependency 5282: NavigatorHeaderNative */).getHeaderCloseButton(a1);
object2.headerStyle = styles.header;
object2.render = render_80419;
r1 = object2;
} else {
r1 = {'title': '', 'headerShown': false, render: render_80420};
}
object4[PLAN_SELECT] = r1;
let binding = env1_7;
const REWARD_SELECT = binding.REWARD_SELECT;
const REWARD_SELECT2 = binding.REWARD_SELECT;
object4[REWARD_SELECT] = {title: '',
headerLeft: a0 === REWARD_SELECT2 ? (require(5282) /* metro dependency 5282: NavigatorHeaderNative */).getHeaderCloseButton(a1) : (require(5282) /* metro dependency 5282: NavigatorHeaderNative */).getHeaderBackButton(),
headerStyle: styles.header, render: render_80421};
binding = env1_7;
const CUSTOMIZATION = binding.CUSTOMIZATION;
const CUSTOMIZATION2 = binding.CUSTOMIZATION;
object4[CUSTOMIZATION] = {title: '',
headerLeft: a0 === CUSTOMIZATION2 ? (require(5282) /* metro dependency 5282: NavigatorHeaderNative */).getHeaderCloseButton(a1) : (require(5282) /* metro dependency 5282: NavigatorHeaderNative */).getHeaderBackButton(),
headerStyle: styles.header, render: render_80422};
binding = env1_7;
const SUCCESS = binding.SUCCESS;
const object5 = {title: ''};
object5.headerLeft = (require(5282) /* metro dependency 5282: NavigatorHeaderNative */).getHeaderCloseButton(a1);
object5.headerStyle = styles.header;
object5.render = render_80423;
object4[SUCCESS] = object5;
const GIFTING_BADGE = binding.GIFTING_BADGE;
const object8 = {};
object8.title = intl.string((importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */).roVAey);
object8.headerLeft = (require(5282) /* metro dependency 5282: NavigatorHeaderNative */).getHeaderCloseButton(a1);
object8.headerTransparent = true;
object8.headerStyle = {'backgroundColor': 'transparent', 'shadowColor': 'transparent'};
object8.render = render_80424;
object4[GIFTING_BADGE] = object8;
return object4;
}
function PremiumGiftModalOnStateChange(a0) { // fn#80426, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10568:3384, owner: PremiumGiftModal.onStateChange, offset: 0x01e7a385, size: 58 bytes, params: 2, frame: 11
var name;
var value;
var binding;
if (a0 != null) {
name = a0.routes[a0.index].name;
binding = env0_4;
value = environment.__proto__;
binding(env1_8[name]);
}
}
function _fun80418() { // fn#80418, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10568:1375, offset: 0x01e7a17c, size: 40 bytes, params: 1, frame: 12
const value2 = null;
return value2 != importDefault ? UserStore.getUser(importDefault) : value2;
}
function useGetScreensRender() { // fn#80419, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10568:1763, owner: PremiumGiftModal.useGetScreens.render, offset: 0x01e7a1a4, size: 51 bytes, params: 1, frame: 13
const value = environment.__proto__.__proto__;
return ((Component) => <Component shouldUseDMWishlistGiftingDesign isLoadingWishlist={false} />)(importDefault(10383) /* metro dependency 10383: PremiumGiftPlanSelect */);
}
function useGetScreensRender_80420() { // fn#80420, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10568:1871, owner: PremiumGiftModal.useGetScreens.render, offset: 0x01e7a1d7, size: 124 bytes, params: 1, frame: 19
const value = environment.__proto__.__proto__;
return ((Component) => <Component shouldUseDMWishlistGiftingDesign={false} isLoadingWishlist={importDefault != null && !env0_5 && error == null && (userProfile == null || wishlistId != null && wishlist == null)} />)(importDefault(10383) /* metro dependency 10383: PremiumGiftPlanSelect */);
}
function useGetScreensRender_80421({defaultHighlightedReward, allRewards, claimableRewards, onSelect}) { // fn#80421, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10568:2138, owner: PremiumGiftModal.useGetScreens.render, offset: 0x01e7a253, size: 86 bytes, params: 2, frame: 17
const value = environment.__proto__.__proto__;
return ((Component) => <Component defaultHighlightedReward={defaultHighlightedReward} allRewards={allRewards} claimableRewards={claimableRewards} onSelect={onSelect} />)(importDefault(10456) /* metro dependency 10456: GiftingSKUSelectScreen */);
}
function useGetScreensRender_80422() { // fn#80422, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10568:2474, owner: PremiumGiftModal.useGetScreens.render, offset: 0x01e7a2a9, size: 39 bytes, params: 1, frame: 13
const value = environment.__proto__.__proto__;
return ((Component) => <Component />)(importDefault(10458) /* metro dependency 10458: PremiumGiftCustomization */);
}
function useGetScreensRender_80423() { // fn#80423, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10568:2588, owner: PremiumGiftModal.useGetScreens.render, offset: 0x01e7a2d0, size: 39 bytes, params: 1, frame: 13
const value = environment.__proto__.__proto__;
return ((Component) => <Component />)(importDefault(10463) /* metro dependency 10463: PremiumGiftSuccess */);
}
function useGetScreensRender_80424(a0) { // fn#80424, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10568:2812, owner: PremiumGiftModal.useGetScreens.render, offset: 0x01e7a2f7, size: 67 bytes, params: 2, frame: 14
var environment;
const value = environment.__proto__.__proto__;
return ((Component) => <Component currentProgress={a0.currentProgress} onSendGift={function() {
var moduleValue = require(dependencyMap[17]);
var GIFTING_BADGE_POST_PURCHASE = importDefault(dependencyMap[18]).GIFTING_BADGE_POST_PURCHASE;
moduleValue.openGiftModal({analyticsLocations: [GIFTING_BADGE_POST_PURCHASE]});
}} />)(importDefault(10468) /* metro dependency 10468: GiftBadgePostPurchase */);
}