/* 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] */ import Module00057 from '../../../../by-id/module-00057.js'; /* Metro dependency 57 */ import Native from '../../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */ import UserStore from '../../../../stores/UserStore.tsx'; /* Metro dependency 1878 */ import ModalActionCreators from '../../../../actions/ModalActionCreators.tsx'; /* Metro dependency 5080 */ import UseInitialValue from '../../../../hooks/useInitialValue.tsx'; /* Metro dependency 6518 */ import UseAnalyticsLocations from '../../../app_analytics/useAnalyticsLocations.tsx'; /* Metro dependency 6771 */ import PremiumGiftPlanSelect from './PremiumGiftPlanSelect.tsx'; /* Metro dependency 10383 */ import GiftingSKUSelectScreen from '../../gifting/native/views/promotions/GiftingSKUSelectScreen.tsx'; /* Metro dependency 10456 */ import PremiumGiftCustomization from './PremiumGiftCustomization.tsx'; /* Metro dependency 10458 */ import PremiumGiftSuccess from './PremiumGiftSuccess.tsx'; /* Metro dependency 10463 */ import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */ import * as JsxRuntimeModule from '../../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */ import * as Module00491Module from '../../../../by-id/module-00491.js'; /* Metro dependency 491 */ import * as FluxModule from '../../../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */ import * as CreateStylesModule from '../../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */ import * as PremiumAnalyticsUtilsModule from '../PremiumAnalyticsUtils.tsx'; /* Metro dependency 7294 */ import * as UseWishlistHooksModule from '../../../wishlists/hooks/useWishlistHooks.tsx'; /* Metro dependency 10034 */ 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 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); object = {PLAN_SELECT: 'PremiumGiftPlanSelect', REWARD_SELECT: 'GiftingSKUSelect', CUSTOMIZATION: 'PremiumGiftCustomization', SUCCESS: 'PremiumGiftSuccess', GIFTING_BADGE: 'GiftingBadgePostPurchase'}; const object2 = {}; let PLAN_SELECT = object.PLAN_SELECT; const PaymentFlowStep = (PremiumAnalyticsUtilsModule).PaymentFlowStep; const SKU_SELECT = PaymentFlowStep.SKU_SELECT; object2[PLAN_SELECT] = SKU_SELECT; const REWARD_SELECT = object.REWARD_SELECT; const REWARD_SKU_SELECT = PaymentFlowStep.REWARD_SKU_SELECT; object2[REWARD_SELECT] = REWARD_SKU_SELECT; const CUSTOMIZATION = object.CUSTOMIZATION; PLAN_SELECT = PaymentFlowStep.PLAN_SELECT; object2[CUSTOMIZATION] = PLAN_SELECT; const SUCCESS = object.SUCCESS; let CONFIRM = PaymentFlowStep.CONFIRM; object2[SUCCESS] = CONFIRM; const GIFTING_BADGE = object.GIFTING_BADGE; CONFIRM = PaymentFlowStep.CONFIRM; object2[GIFTING_BADGE] = CONFIRM; const createStyles = CreateStylesModule.createStyles; const BACKGROUND_BASE_LOW = (Native).colors.BACKGROUND_BASE_LOW; const env0_9 = Reflect.apply(createStyles, CreateStylesModule, [{header: {backgroundColor: BACKGROUND_BASE_LOW, shadowColor: 'transparent'}}]); (FileImportTrackerModule).fileFinishedImporting('modules/premium/native/gifting/PremiumGiftModal.tsx'); exports.default = PremiumGiftModal; exports.PremiumGiftScreens = object; 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 object2; var value; const analyticsLocations2 = (UseAnalyticsLocations)(analyticsLocations).analyticsLocations; const value2 = (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; object2 = {basePurchaseAnalytics: value3, recipientUserId: recipientUserId, onClose: value4, setCurrentAnalyticsStep: value7[1], premiumType: premiumType, planInterval: planInterval, initialOrder: order}; value = importDefault(10472) /* metro dependency 10472: PremiumGiftAnalytics */; value = ( {((Component) => {((Navigator) => )((require(5280) /* metro dependency 5280: NavigatorNative */).Navigator)})(value)} ); r0 = value; } else { UnsupportedFeatureModal = importDefault(7636) /* metro dependency 7636: UnsupportedFeatureModal */; intl = (require(1244) /* metro dependency 1244: indexNative */).intl; r0 = ( ); } return r0; function _fun80414() { // fn#80414, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10568:1030, offset: 0x01e79dae, size: 37 bytes, params: 1, frame: 11 const value = environment.__proto__; return (Module00491Module).v4(); } 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 (PremiumAnalyticsUtilsModule).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__; (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 object3; var environment; var r1; var object; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; const env0_0 = a2; const value = environment.__proto__; const styles = useStyles(); const value2 = (FluxModule).useStateFromStores([UserStore], _fun80418); const value3 = (UseWishlistHooksModule).useFetchWishlistAndProfileInfoForUser(a2); const env0_1 = value3.wishlist; const env0_2 = value3.userProfile; const env0_3 = value3.wishlistId; const env0_4 = value3.error; const value4 = (UseWishlistHooksModule).useShouldShowWishlistInDMGifting({'isGift': true, 'giftRecipient': null, 'isSocialLayerStorefrontEnabled': false, giftRecipient: value2}); object3 = {}; const PLAN_SELECT = env1_7.PLAN_SELECT; if (value4) { object = {}; object.title = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['JCFN/y']); object.headerLeft = (require(5282) /* metro dependency 5282: NavigatorHeaderNative */).getHeaderCloseButton(a1); object.headerStyle = styles.header; object.render = render_80419; r1 = object; } else { r1 = {'title': '', 'headerShown': false, render: render_80420}; } object3[PLAN_SELECT] = r1; let binding = env1_7; const REWARD_SELECT = binding.REWARD_SELECT; const REWARD_SELECT2 = binding.REWARD_SELECT; object3[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; object3[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 object6 = {title: ''}; object6.headerLeft = (require(5282) /* metro dependency 5282: NavigatorHeaderNative */).getHeaderCloseButton(a1); object6.headerStyle = styles.header; object6.render = render_80423; object3[SUCCESS] = object6; const GIFTING_BADGE = binding.GIFTING_BADGE; const object7 = {}; object7.title = intl.string((importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */).roVAey); object7.headerLeft = (require(5282) /* metro dependency 5282: NavigatorHeaderNative */).getHeaderCloseButton(a1); object7.headerTransparent = true; object7.headerStyle = {'backgroundColor': 'transparent', 'shadowColor': 'transparent'}; object7.render = render_80424; object3[GIFTING_BADGE] = object7; return object3; 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) => )(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) => )(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) => )(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) => )(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) => )(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) => )(importDefault(10468) /* metro dependency 10468: GiftBadgePostPurchase */); } } 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 = ReactModule; value = environment.__proto__; binding(env1_8[name]); } } } } global.__d(_fun80412, 10382, [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]) /* metro module 10382, 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] */;