This commit is contained in:
janisslsm committed 2026-07-28 01:06:53 +03:00
1 parent af3b49f756
commit 1781d25a15
22448 files changed
+2731829 -2650550

No files matched your search

@@ -1,12 +1,22 @@
/* Metro module 12222; source: modules/user_settings/premium/native/Footer.tsx; dependencies: [31, 27, 661, 1880, 33, 4501, 6771, 6789, 7062, 7061, 3802, 4573, 1244, 4578, 7040, 5475, 12223, 2] */
import FastImage from '../../../../components_native/common/FastImage.tsx'; /* Metro dependency 5475 */
import UseAnalyticsLocations from '../../../app_analytics/useAnalyticsLocations.tsx'; /* Metro dependency 6771 */
import AnalyticsLocation from '../../../app_analytics/AnalyticsLocation.tsx'; /* Metro dependency 6789 */
import Module12223 from '../../../../by-id/module-12223.js'; /* Metro dependency 12223 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as ConstantsModule from '../../../../Constants.tsx'; /* Metro dependency 661 */
import * as CreateStylesModule from '../../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */
import * as MobileTrialUtilsModule from '../../../premium/native/MobileTrialUtils.tsx'; /* Metro dependency 7061 */
import * as UsePremiumTrialOfferNativeModule from '../../../premium/hooks/usePremiumTrialOffer.native.tsx'; /* Metro dependency 7062 */
function _fun93577(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#93577, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12408:6, offset: 0x020b8f0c, size: 353 bytes, params: 8, frame: 20
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
const env0_3 = (require(27) /* metro dependency 27 */).View;
let value = require(661) /* metro dependency 661: Constants */;
ReactModule;
let value = ConstantsModule;
const AnalyticsPages = value.AnalyticsPages;
const AnalyticsSections = value.AnalyticsSections;
const AnalyticsObjectTypes = value.AnalyticsObjectTypes;
@@ -17,75 +27,95 @@ function _fun93577(global, require, importDefault, importAll, module, exports, d
const env0_6 = value.jsx;
const env0_7 = value.Fragment;
const env0_8 = value.jsxs;
object2 = {};
object = {};
const USER_SETTINGS = AnalyticsPages.USER_SETTINGS;
object2.page = USER_SETTINGS;
object.page = USER_SETTINGS;
const SETTINGS_PREMIUM = AnalyticsSections.SETTINGS_PREMIUM;
object2.section = SETTINGS_PREMIUM;
object.section = SETTINGS_PREMIUM;
const BUY = AnalyticsObjectTypes.BUY;
object2.objectType = BUY;
const env0_10 = (require(4501) /* metro dependency 4501: createStyles */).createStyles({container: {'flex': 1,
object.objectType = BUY;
const env0_10 = (CreateStylesModule).createStyles({container: {'flex': 1,
'flexDirection': 'column', 'alignItems': 'center', 'width': '100%'}, footerText: {marginBottom: 24},
button: {marginBottom: 40}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/premium/native/Footer.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/user_settings/premium/native/Footer.tsx');
exports.default = _default_93578;
}
function _default_93578({style, showSubscribeButton}) { // fn#93578, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12408:525, offset: 0x020b906d, size: 628 bytes, params: 2, frame: 31
var r6;
var jsxRuntimeEnv0_7Binding;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var items2;
const styles = useStyles();
const defaultImport = UseAnalyticsLocations;
const PREMIUM_MARKETING_FOOTER = (AnalyticsLocation).PREMIUM_MARKETING_FOOTER;
const env0_0 = defaultImport(PREMIUM_MARKETING_FOOTER).analyticsLocations;
const value3 = (UsePremiumTrialOfferNativeModule).usePremiumTrialOffer();
const value4 = (MobileTrialUtilsModule).usePremiumTrialOfferPremiumType();
const subscription_trial = value3?.subscription_trial;
const value5 = (require(3802) /* metro dependency 3802: PremiumUtils */).formatTrialCtaIntervalDuration({intervalType: subscription_trial?.interval,
intervalCount: subscription_trial?.interval_count});
const value6 = value4 != null;
const items3 = [styles.container, style];
if (showSubscribeButton) {
jsxRuntimeEnv0_7Binding = jsxRuntimeEnv0_7;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
items2 = [
<Text
style={styles.footerText}
variant="heading-xl/extrabold"
color="mobile-text-heading-primary"
>
{intl.string((require(1244) /* metro dependency 1244: indexNative */).t['2bSPbq'])}
</Text>,
];
items2[1] = (
<View style={styles.button}>
{((Button) => <Button text={value6 ? value5 : intl.string((require(1244) /* metro dependency 1244: indexNative */).t['8x0jKT'])} variant="primary" size="lg" onPress={onPress_93579} grow />)((require(4578) /* metro dependency 4578: ButtonNative */).Button)}
</View>
);
r6 = (
<>
{items2}
</>
);
} else {
r6 = showSubscribeButton;
}
return (
<View style={items3}>
{r6}
{((Component) => <Component source={Module12223} />)(FastImage)}
</View>
);
function _default_93578OnPress() { // fn#93579, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12408:1244, owner: _default_93578.onPress, offset: 0x020b92e1, size: 115 bytes, params: 1, frame: 15
const value2 = undefined;
(importDefault(7040) /* metro dependency 7040: openPremiumPlanSelectionActionSheet */)({analyticsLocation: env1_9,
analyticsLocations: analyticsLocations, predicate: env0_2 ? value2 : _fun93580,
initialSelectedCriteria: env0_2 ? value2 : function({premiumTier}) {
return premiumTier === PremiumTypes.TIER_2;
}, premiumType: env0_1, showFormTitle: false});
return value2;
function _fun93580({additionalPlans, isDeprecated, numPremiumGuild, interval, premiumTier}) { // fn#93580, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12408:1319, offset: 0x020b9354, size: 99 bytes, params: 2, frame: 7
let value = additionalPlans.length === 0;
let r0 = value && !isDeprecated && numPremiumGuild === 0;
if (r0) {
value = environment.__proto__.__proto__;
value = interval === SubscriptionIntervalTypes.MONTH;
r0 = value;
}
if (r0) {
value = environment.__proto__.__proto__;
value = premiumTier !== PremiumTypes.TIER_1;
r0 = value;
}
return r0;
}
}
function _default_93578({style, showSubscribeButton}) { // fn#93578, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12408:525, offset: 0x020b906d, size: 628 bytes, params: 2, frame: 31
var r6;
var jsxRuntimeEnv0_7Binding;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var items2;
const styles = useStyles();
const defaultImport = importDefault(6771) /* metro dependency 6771: useAnalyticsLocations */;
const PREMIUM_MARKETING_FOOTER = (importDefault(6789) /* metro dependency 6789: AnalyticsLocation */).PREMIUM_MARKETING_FOOTER;
const env0_0 = defaultImport(PREMIUM_MARKETING_FOOTER).analyticsLocations;
const value3 = (require(7062) /* metro dependency 7062: usePremiumTrialOfferNative */).usePremiumTrialOffer();
const value4 = (require(7061) /* metro dependency 7061: MobileTrialUtils */).usePremiumTrialOfferPremiumType();
const subscription_trial = value3?.subscription_trial;
const value5 = (require(3802) /* metro dependency 3802: PremiumUtils */).formatTrialCtaIntervalDuration({intervalType: subscription_trial?.interval,
intervalCount: subscription_trial?.interval_count});
const value6 = value4 != null;
const items3 = [styles.container, style];
if (showSubscribeButton) {
jsxRuntimeEnv0_7Binding = jsxRuntimeEnv0_7;
items2 = [((Text) => <Text style={styles.footerText} variant="heading-xl/extrabold" color="mobile-text-heading-primary">{intl.string((require(1244) /* metro dependency 1244: indexNative */).t['2bSPbq'])}</Text>)((require(4573) /* metro dependency 4573: Text */).Text)];
items2[1] = <View style={styles.button}>{((Button) => <Button text={value6 ? value5 : intl.string((require(1244) /* metro dependency 1244: indexNative */).t['8x0jKT'])} variant="primary" size="lg" onPress={onPress_93579} grow />)((require(4578) /* metro dependency 4578: ButtonNative */).Button)}</View>;
r6 = <>{items2}</>;
} else {
r6 = showSubscribeButton;
}
return (
<View style={items3}>
{r6}
{((Component) => <Component source={importDefault(12223) /* metro dependency 12223 */} />)(importDefault(5475) /* metro dependency 5475: FastImage */)}
</View>
);
}
function _default_93578OnPress() { // fn#93579, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12408:1244, owner: _default_93578.onPress, offset: 0x020b92e1, size: 115 bytes, params: 1, frame: 15
const value2 = undefined;
(importDefault(7040) /* metro dependency 7040: openPremiumPlanSelectionActionSheet */)({analyticsLocation: env1_9,
analyticsLocations: analyticsLocations, predicate: env0_2 ? value2 : _fun93580,
initialSelectedCriteria: env0_2 ? value2 : function({premiumTier}) {
return premiumTier === PremiumTypes.TIER_2;
}, premiumType: env0_1, showFormTitle: false});
return value2;
}
function _fun93580({additionalPlans, isDeprecated, numPremiumGuild, interval, premiumTier}) { // fn#93580, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12408:1319, offset: 0x020b9354, size: 99 bytes, params: 2, frame: 7
let value = additionalPlans.length === 0;
let r0 = value && !isDeprecated && numPremiumGuild === 0;
if (r0) {
value = environment.__proto__.__proto__;
value = interval === SubscriptionIntervalTypes.MONTH;
r0 = value;
}
if (r0) {
value = environment.__proto__.__proto__;
value = premiumTier !== PremiumTypes.TIER_1;
r0 = value;
}
return r0;
}
global.__d(_fun93577, 12222, [31, 27, 661, 1880, 33, 4501, 6771, 6789, 7062, 7061, 3802, 4573, 1244, 4578, 7040,
5475, 12223,
2]) /* metro module 12222, dependencies: [31, 27, 661, 1880, 33, 4501, 6771, 6789, 7062, 7061, 3802, 4573, 1244, 4578, 7040, 5475, 12223, 2] */;
@@ -1,42 +1,55 @@
/* Metro module 12196; source: modules/user_settings/premium/native/Header.tsx; dependencies: [31, 27, 33, 4501, 4048, 5475, 1244, 4002, 12197, 12198, 4573, 2] */
import UseTheme from '../../../../hooks/useTheme.tsx'; /* Metro dependency 4048 */
import FastImage from '../../../../components_native/common/FastImage.tsx'; /* Metro dependency 5475 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
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 CreateStylesModule from '../../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */
import * as TextModule from '../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
function _fun93420(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#93420, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12382:6, offset: 0x020b376f, size: 233 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
const env0_3 = (require(27) /* metro dependency 27 */).View;
const value = require(33) /* metro dependency 33 */;
const env0_4 = value.jsx;
const env0_5 = value.jsxs;
const env0_6 = (require(4501) /* metro dependency 4501: createStyles */).createStyles({container: {'flexDirection': 'column',
ReactModule;
const env0_6 = (CreateStylesModule).createStyles({container: {'flexDirection': 'column',
'alignItems': 'center'}, headerText: {'marginTop': 16, 'marginBottom': 24}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/premium/native/Header.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/user_settings/premium/native/Header.tsx');
exports.default = _default_93421;
function _default_93421({style}) { // fn#93421, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12382:278, offset: 0x020b3858, size: 368 bytes, params: 2, frame: 25
const styles = useStyles();
const value2 = (UseTheme)();
const items2 = [styles.container, style];
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
const fastImage = (
<FastImage
accessible
accessibilityLabel={Reflect.apply(string, intl,
[(require(1244) /* metro dependency 1244: indexNative */).t.lpNrPu])}
accessibilityRole="header"
source={(require(4002) /* metro dependency 4002: shared */).isThemeDark(value2) ? importDefault(12197) /* metro dependency 12197 */ : importDefault(12198) /* metro dependency 12198 */}
/>
);
const Text = (TextModule).Text;
string = intl.string;
const SD5MJW = (require(1244) /* metro dependency 1244: indexNative */).t.SD5MJW;
return (
<View style={items2}>
{fastImage}
<Text
style={styles.headerText}
variant="text-md/medium"
color="mobile-text-heading-primary"
>
{Reflect.apply(string, intl, [SD5MJW])}
</Text>
</View>
);
}
}
function _default_93421({style}) { // fn#93421, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12382:278, offset: 0x020b3858, size: 368 bytes, params: 2, frame: 25
const styles = useStyles();
const value2 = (importDefault(4048) /* metro dependency 4048: useTheme */)();
const items2 = [styles.container, style];
const FastImage = importDefault(5475) /* metro dependency 5475: FastImage */;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
const fastImage = <FastImage accessible accessibilityLabel={Reflect.apply(string, intl,
[(require(1244) /* metro dependency 1244: indexNative */).t.lpNrPu])} accessibilityRole="header" source={(require(4002) /* metro dependency 4002: shared */).isThemeDark(value2) ? importDefault(12197) /* metro dependency 12197 */ : importDefault(12198) /* metro dependency 12198 */} />;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
string = intl.string;
const SD5MJW = (require(1244) /* metro dependency 1244: indexNative */).t.SD5MJW;
return (
<View style={items2}>
{fastImage}
<Text
style={styles.headerText}
variant="text-md/medium"
color="mobile-text-heading-primary"
>
{Reflect.apply(string, intl, [SD5MJW])}
</Text>
</View>
);
}
global.__d(_fun93420, 12196, [31, 27, 33, 4501, 4048, 5475, 1244, 4002, 12197, 12198, 4573,
2]) /* metro module 12196, dependencies: [31, 27, 33, 4501, 4048, 5475, 1244, 4002, 12197, 12198, 4573, 2] */;
@@ -1,46 +1,53 @@
/* Metro module 7962; source: modules/user_settings/premium/native/PremiumFeaturesBackground.tsx; dependencies: [31, 7047, 1880, 33, 4501, 697, 674, 4589, 676, 2] */
import LinearGradient from '../../../../by-id/module-04589-LinearGradient.js'; /* Metro dependency 4589 */
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 ConstantsIOSModule from '../../../../ConstantsIOS.tsx'; /* Metro dependency 676 */
import * as PremiumConstantsModule from '../../../premium/PremiumConstants.tsx'; /* Metro dependency 1880 */
import * as CreateStylesModule from '../../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */
import * as ColorConstantsModule from '../../../colors/native/ColorConstants.tsx'; /* Metro dependency 7047 */
function _fun63437(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#63437, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8140:6, offset: 0x01b7f616, size: 256 bytes, params: 8, frame: 21
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
const env0_3 = (require(7047) /* metro dependency 7047: ColorConstants */).Gradients;
const env0_4 = (require(1880) /* metro dependency 1880: PremiumConstants */).PremiumTypes;
const env0_5 = (require(33) /* metro dependency 33 */).jsx;
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
const object = {'display': 'flex', 'borderRadius': null, 'flexDirection': 'column',
ReactModule;
const createStyles = CreateStylesModule.createStyles;
const object2 = {'display': 'flex', 'borderRadius': null, 'flexDirection': 'column',
'justifyContent': 'space-between', 'overflow': 'hidden'};
object.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
const env0_6 = Reflect.apply(createStyles, createStylesModule, [{cardContainer: object}]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/premium/native/PremiumFeaturesBackground.tsx');
object2.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
const env0_6 = Reflect.apply(createStyles, CreateStylesModule, [{cardContainer: object2}]);
(FileImportTrackerModule).fileFinishedImporting('modules/user_settings/premium/native/PremiumFeaturesBackground.tsx');
exports.default = PremiumFeaturesBackground;
function PremiumFeaturesBackground(a0) { // fn#63438, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8140:430, offset: 0x01b7f716, size: 282 bytes, params: 2, frame: 22
const premiumType = a0.premiumType;
let opacity = a0.opacity;
opacity = opacity === undefined ? 1 : opacity;
const children = a0.children;
const style = a0.style;
const object = {'premiumType': 0, 'opacity': 0, 'children': 0, 'style': 0};
silentSetPrototypeOf(object, null, undefined);
const value = copyDataProperties({}, a0, object, undefined);
const styles = useStyles();
const TIER_0 = PremiumTypes.TIER_0;
const r2 = premiumType === TIER_0 ? Gradients.PREMIUM_TIER_0 : Gradients.PREMIUM_TIER_2_TRI_COLOR;
const r7 = opacity < 1 ? r2.map(_fun63439) : r2;
const defaultImport = LinearGradient;
const items2 = [styles.cardContainer, style];
const {START, END} = (ConstantsIOSModule).HorizontalGradient;
return ((Component) => <Component style={items2} colors={r7} start={START} end={END} {...value}>{children}</Component>)(defaultImport);
function _fun63439(a0) { // fn#63439, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8140:600, offset: 0x01b7f830, size: 63 bytes, params: 2, frame: 11
let value = environment.__proto__;
value = importDefault(674) /* metro dependency 674 */;
value = value(a0);
value = value.alpha(opacity);
return value.hex();
}
}
}
function PremiumFeaturesBackground(a0) { // fn#63438, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8140:430, offset: 0x01b7f716, size: 282 bytes, params: 2, frame: 22
const premiumType = a0.premiumType;
let opacity = a0.opacity;
opacity = opacity === undefined ? 1 : opacity;
const children = a0.children;
const style = a0.style;
const object2 = {'premiumType': 0, 'opacity': 0, 'children': 0, 'style': 0};
silentSetPrototypeOf(object2, null, undefined);
const value = copyDataProperties({}, a0, object2, undefined);
const styles = useStyles();
const TIER_0 = PremiumTypes.TIER_0;
const r2 = premiumType === TIER_0 ? Gradients.PREMIUM_TIER_0 : Gradients.PREMIUM_TIER_2_TRI_COLOR;
const r7 = opacity < 1 ? r2.map(_fun63439) : r2;
const defaultImport = importDefault(4589) /* metro dependency 4589 */;
const items2 = [styles.cardContainer, style];
const {START, END} = (require(676) /* metro dependency 676: ConstantsIOS */).HorizontalGradient;
return ((Component) => <Component style={items2} colors={r7} start={START} end={END} {...value}>{children}</Component>)(defaultImport);
}
function _fun63439(a0) { // fn#63439, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8140:600, offset: 0x01b7f830, size: 63 bytes, params: 2, frame: 11
let value = environment.__proto__;
value = importDefault(674) /* metro dependency 674 */;
value = value(a0);
value = value.alpha(opacity);
return value.hex();
}
global.__d(_fun63437, 7962, [31, 7047, 1880, 33, 4501, 697, 674, 4589, 676,
2]) /* metro module 7962, dependencies: [31, 7047, 1880, 33, 4501, 697, 674, 4589, 676, 2] */;
@@ -1,16 +1,39 @@
/* Metro module 7941; source: modules/user_settings/premium/native/PremiumFeaturesCard.tsx; dependencies: [57, 31, 27, 4502, 3807, 3808, 661, 1880, 482, 33, 4501, 697, 6597, 7942, 3802, 5137, 4573, 1244, 7945, 2806, 1895, 44, 7062, 7258, 7561, 5180, 7061, 6771, 566, 7947, 1581, 7027, 7325, 7053, 7962, 7963, 7964, 7966, 7971, 4578, 7954, 7040, 2] */
import Module00044 from '../../../../by-id/module-00044.js'; /* Metro dependency 44 */
import Module00057 from '../../../../by-id/module-00057.js'; /* Metro dependency 57 */
import PremiumUtils from '../../../../utils/PremiumUtils.tsx'; /* Metro dependency 3802 */
import SubscriptionPlanStore from '../../../../stores/billing/SubscriptionPlanStore.tsx'; /* Metro dependency 3807 */
import SubscriptionStore from '../../../../stores/billing/SubscriptionStore.tsx'; /* Metro dependency 3808 */
import AccessibilityStore from '../../../a11y/AccessibilityStore.tsx'; /* Metro dependency 4502 */
import UseFractionalPremiumInfo from '../../../billing/hooks/useFractionalPremiumInfo.tsx'; /* Metro dependency 5180 */
import TextStyles from '../../../rebrand/native/TextStyles.tsx'; /* Metro dependency 6597 */
import UseAnalyticsLocations from '../../../app_analytics/useAnalyticsLocations.tsx'; /* Metro dependency 6771 */
import OpenPremiumPlanSelectionActionSheet from '../../../premium/native/openPremiumPlanSelectionActionSheet.tsx'; /* Metro dependency 7040 */
import UsePremiumPlanPrice from '../../../premium/native/hooks/usePremiumPlanPrice.tsx'; /* Metro dependency 7942 */
import UsePremiumFeatures from './utils/usePremiumFeatures.tsx'; /* Metro dependency 7947 */
import PremiumFeaturesBackground from './PremiumFeaturesBackground.tsx'; /* Metro dependency 7962 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as ConstantsModule from '../../../../external/discord_common/js/shared/Constants.tsx'; /* Metro dependency 482 */
import * as FluxModule from '../../../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */
import * as ConstantsModule2 from '../../../../Constants.tsx'; /* Metro dependency 661 */
import * as TextModule from '../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as PriceUtilsModule from '../../../../utils/PriceUtils.tsx'; /* Metro dependency 5137 */
import * as PremiumBundledPlansUtilsModule from '../../../premium/native/PremiumBundledPlansUtils.tsx'; /* Metro dependency 7027 */
import * as PremiumPillModule from './PremiumPill.tsx'; /* Metro dependency 7053 */
import * as MobileTrialUtilsModule from '../../../premium/native/MobileTrialUtils.tsx'; /* Metro dependency 7061 */
import * as UsePremiumTrialOfferNativeModule from '../../../premium/hooks/usePremiumTrialOffer.native.tsx'; /* Metro dependency 7062 */
import * as UsePremiumDiscountOfferAndroidModule from '../../../premium/hooks/usePremiumDiscountOffer.android.tsx'; /* Metro dependency 7258 */
import * as UseDiscountedPremiumProductInfoModule from '../../../premium/native/hooks/useDiscountedPremiumProductInfo.tsx'; /* Metro dependency 7325 */
import * as PremiumSubscriptionOfferUtilModule from '../../../premium/PremiumSubscriptionOfferUtil.tsx'; /* Metro dependency 7561 */
function _fun63368(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#63368, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8119:6, offset: 0x01b7c501, size: 922 bytes, params: 8, frame: 31
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
importAll(31) /* metro dependency 31 */;
const env0_4 = (require(27) /* metro dependency 27 */).View;
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
const subscriptionPlanStore = importDefault(3807) /* metro dependency 3807: SubscriptionPlanStore */;
const subscriptionStore = importDefault(3808) /* metro dependency 3808: SubscriptionStore */;
let value = require(661) /* metro dependency 661: Constants */;
ReactModule;
let value = ConstantsModule2;
const AnalyticsPages = value.AnalyticsPages;
const AnalyticsSections = value.AnalyticsSections;
const AnalyticsObjectTypes = value.AnalyticsObjectTypes;
@@ -24,7 +47,7 @@ function _fun63368(global, require, importDefault, importAll, module, exports, d
const env0_14 = value.SubscriptionIntervalTypes;
const env0_15 = value.SubscriptionPlanInfo;
const env0_16 = value.SubscriptionPlans;
const Fonts = (require(482) /* metro dependency 482: Constants */).Fonts;
const Fonts = (ConstantsModule).Fonts;
value = require(33) /* metro dependency 33 */;
const env0_17 = value.jsx;
const env0_18 = value.jsxs;
@@ -34,422 +57,477 @@ function _fun63368(global, require, importDefault, importAll, module, exports, d
let set = new Set([TIER_0, TIER_2]);
set = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = set.createStyles;
object2 = {};
object2.containerWrapper = {position: 'relative'};
const object4 = {'display': 'flex', 'justifyContent': 'flex-start', 'width': '100%', 'padding': 24,
object = {};
object.containerWrapper = {position: 'relative'};
const object3 = {'display': 'flex', 'justifyContent': 'flex-start', 'width': '100%', 'padding': 24,
'backgroundColor': 'transparent', 'overflow': 'hidden'};
object4.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object2.card = object4;
object2.logoContainer = {marginBottom: 8};
object2.logo = {marginRight: 4};
object2.priceContainer = {'display': 'flex', 'flexWrap': 'wrap', 'flexDirection': 'row', 'maxWidth': '50%'};
object2.discountPriceText = {'maxWidth': '62%', 'includeFontPadding': true};
object2.featureList = {marginTop: 8};
const object5 = {};
const textStyles = importDefault(6597) /* metro dependency 6597: TextStyles */;
object3.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object.card = object3;
object.logoContainer = {marginBottom: 8};
object.logo = {marginRight: 4};
object.priceContainer = {'display': 'flex', 'flexWrap': 'wrap', 'flexDirection': 'row', 'maxWidth': '50%'};
object.discountPriceText = {'maxWidth': '62%', 'includeFontPadding': true};
object.featureList = {marginTop: 8};
const object7 = {};
const PRIMARY_MEDIUM = Fonts.PRIMARY_MEDIUM;
let WHITE = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.WHITE;
copyDataProperties(object5, textStyles(PRIMARY_MEDIUM, WHITE, 14), undefined);
object5['marginLeft'] = -8;
object2.featureLabel = object5;
object2.featureRow = {paddingVertical: 7};
object2.featureIcon = {'height': 16, 'width': 16};
object2.button = {marginTop: 16};
object2.currentPlanLabel = {'marginTop': 16, 'paddingVertical': 12, 'alignItems': 'center',
copyDataProperties(object7, TextStyles(PRIMARY_MEDIUM, WHITE, 14), undefined);
object7['marginLeft'] = -8;
object.featureLabel = object7;
object.featureRow = {paddingVertical: 7};
object.featureIcon = {'height': 16, 'width': 16};
object.button = {marginTop: 16};
object.currentPlanLabel = {'marginTop': 16, 'paddingVertical': 12, 'alignItems': 'center',
'justifyContent': 'center'};
object2.trialSubTextContainer = {'paddingHorizontal': 24, 'marginTop': -12, 'paddingBottom': 16,
object.trialSubTextContainer = {'paddingHorizontal': 24, 'marginTop': -12, 'paddingBottom': 16,
'alignItems': 'center', 'bottom': 0};
const object6 = {};
const value3 = textStyles;
const object8 = {};
const DISPLAY_MEDIUM = Fonts.DISPLAY_MEDIUM;
WHITE = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.WHITE;
copyDataProperties(object6, value3(DISPLAY_MEDIUM, WHITE, 12), undefined);
object6['textAlign'] = 'center';
object2.trialSubText = object6;
object2.pill = {'position': 'absolute', 'top': -10, 'maxWidth': 240, 'alignSelf': 'center', 'zIndex': 2};
object2.buttonIcon = {'marginRight': 4, 'alignSelf': 'center', 'marginTop': 1};
const env0_20 = Reflect.apply(createStyles, set, [object2]);
object2 = {};
copyDataProperties(object8, TextStyles(DISPLAY_MEDIUM, WHITE, 12), undefined);
object8['textAlign'] = 'center';
object.trialSubText = object8;
object.pill = {'position': 'absolute', 'top': -10, 'maxWidth': 240, 'alignSelf': 'center', 'zIndex': 2};
object.buttonIcon = {'marginRight': 4, 'alignSelf': 'center', 'marginTop': 1};
const env0_20 = Reflect.apply(createStyles, set, [object]);
object = {};
const USER_SETTINGS = AnalyticsPages.USER_SETTINGS;
object2.page = USER_SETTINGS;
object.page = USER_SETTINGS;
const SETTINGS_PREMIUM = AnalyticsSections.SETTINGS_PREMIUM;
object2.section = SETTINGS_PREMIUM;
object.section = SETTINGS_PREMIUM;
const BUY = AnalyticsObjectTypes.BUY;
object2.objectType = BUY;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/premium/native/PremiumFeaturesCard.tsx');
object.objectType = BUY;
(FileImportTrackerModule).fileFinishedImporting('modules/user_settings/premium/native/PremiumFeaturesCard.tsx');
exports.default = _default_63371;
}
function PriceText({premiumItem, discountedPriceString, discountOffer, activeDiscountInfo, subscriptionTrial, premiumType, premiumSubscription, fractionalPremiumInfo}) { // fn#63369, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8119:1734, offset: 0x01b7c89b, size: 1400 bytes, params: 2, frame: 38
var r1;
var active_discount_expires_at;
var r13;
var object2;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
var items2;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var format;
var z2oQtA;
var priceString2;
var FwjZzr;
var Date;
var value12;
var date;
var value;
const styles = useStyles();
const value3 = (importDefault(7942) /* metro dependency 7942: usePremiumPlanPrice */)(premiumItem.basePlanId);
const intervalStringAsNoun = (importDefault(3802) /* metro dependency 3802: PremiumUtils */).getIntervalStringAsNoun(premiumItem.interval);
let property = SubscriptionPlanInfo[premiumItem.basePlanId];
const priceUtilsModule = require(5137) /* metro dependency 5137: PriceUtils */;
const formatRate = priceUtilsModule.formatRate;
const priceString = value3?.priceString;
const value5 = '$...';
let r6 = priceString ?? value5;
const value6 = Reflect.apply(formatRate, priceUtilsModule, [r6, property.interval, property.intervalCount]);
if (discountedPriceString != null) {
if (discountOffer != null) {
return (
<Text
variant="text-md/normal"
color="always-white"
style={styles.discountPriceText}
>
{intl.format((require(1244) /* metro dependency 1244: indexNative */).t.sJTwHQ,
{discountedPrice: discountedPriceString, numMonths: discountOffer.discount?.userUsageLimit ?? 1,
regularPrice: value6})}
</Text>
);
function PriceText({premiumItem, discountedPriceString, discountOffer, activeDiscountInfo, subscriptionTrial, premiumType, premiumSubscription, fractionalPremiumInfo}) { // fn#63369, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8119:1734, offset: 0x01b7c89b, size: 1400 bytes, params: 2, frame: 38
var r1;
var active_discount_expires_at;
var r13;
var object;
const Text = (TextModule).Text;
var items2;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var format;
var z2oQtA;
var priceString2;
var FwjZzr;
var Date;
var value12;
var date;
var value;
const styles = useStyles();
const value3 = (UsePremiumPlanPrice)(premiumItem.basePlanId);
const intervalStringAsNoun = (PremiumUtils).getIntervalStringAsNoun(premiumItem.interval);
let property = SubscriptionPlanInfo[premiumItem.basePlanId];
const formatRate = PriceUtilsModule.formatRate;
const priceString = value3?.priceString;
const value5 = '$...';
let r6 = priceString ?? value5;
const value6 = Reflect.apply(formatRate, PriceUtilsModule, [r6, property.interval, property.intervalCount]);
if (discountedPriceString != null) {
if (discountOffer != null) {
return (
<Text
variant="text-md/normal"
color="always-white"
style={styles.discountPriceText}
>
{intl.format((require(1244) /* metro dependency 1244: indexNative */).t.sJTwHQ,
{discountedPrice: discountedPriceString, numMonths: discountOffer.discount?.userUsageLimit ?? 1,
regularPrice: value6})}
</Text>
);
}
}
}
if (activeDiscountInfo != null) {
if (premiumSubscription != null) {
if (premiumSubscription.planIdFromItems !== SubscriptionPlans.PREMIUM_YEAR_TIER_2) {
if (premiumSubscription.hasAnyPremiumGroup) {
active_discount_expires_at = premiumSubscription.metadata?.active_discount_expires_at;
if (active_discount_expires_at != null) {
priceString2 = (require(7945) /* metro dependency 7945: PremiumGroupUtilsNative */).getPriceString(premiumSubscription);
format = intl.format;
FwjZzr = (importDefault(2806) /* metro dependency 2806: PremiumGroupMessages */).FwjZzr;
object2 = {};
object2.percent = activeDiscountInfo.percentage ?? 0;
Date = global.Date;
active_discount_expires_at = premiumSubscription.metadata.active_discount_expires_at;
value12 = Object.create(Date.prototype, {constructor: {value: Date}});
date = new Date();
object2.discountEndDate = date instanceof Object ? date : value12;
object2.regularPrice = priceString2 ?? value5;
r6 = Reflect.apply(format, intl, [FwjZzr, object2]);
} else {
format = intl.format;
property = (require(1244) /* metro dependency 1244: indexNative */).t['3ZiutU'];
object2 = {};
r13 = activeDiscountInfo.percentage ?? DISCOUNT_PERCENTAGE_FALLBACK;
object2.percent = r13;
r13 = activeDiscountInfo.duration ?? DISCOUNT_DURATION_FALLBACK;
object2.numMonths = r13;
object2.regularPrice = value6;
r6 = Reflect.apply(format, intl, [property, object2]);
}
} else {
format = intl.format;
property = (require(1244) /* metro dependency 1244: indexNative */).t['3ZiutU'];
object2 = {};
r13 = activeDiscountInfo.percentage ?? DISCOUNT_PERCENTAGE_FALLBACK;
object2.percent = r13;
r13 = activeDiscountInfo.duration ?? DISCOUNT_DURATION_FALLBACK;
object2.numMonths = r13;
object2.regularPrice = value6;
r6 = Reflect.apply(format, intl, [property, object2]);
}
} else if (isSamePremiumType(premiumSubscription, premiumType)) {
if (premiumSubscription == null) {
format = intl.format;
z2oQtA = (require(1244) /* metro dependency 1244: indexNative */).t.z2oQtA;
object2 = {};
object2.percent = activeDiscountInfo.percentage ?? ANNUAL_DISCOUNT_PERCENTAGE_FALLBACK;
object2.regularPrice = value6;
object2.renewalDate = (require(3802) /* metro dependency 3802: PremiumUtils */).getExpectedRenewalDate(premiumSubscription,
fractionalPremiumInfo);
r6 = Reflect.apply(format, intl, [z2oQtA, object2]);
} else if (premiumSubscription.hasActiveTrial) {
if (activeDiscountInfo != null) {
if (premiumSubscription != null) {
if (premiumSubscription.planIdFromItems !== SubscriptionPlans.PREMIUM_YEAR_TIER_2) {
if (premiumSubscription.hasAnyPremiumGroup) {
active_discount_expires_at = premiumSubscription.metadata?.active_discount_expires_at;
if (active_discount_expires_at != null) {
priceString2 = (require(7945) /* metro dependency 7945: PremiumGroupUtilsNative */).getPriceString(premiumSubscription);
format = intl.format;
FwjZzr = (importDefault(2806) /* metro dependency 2806: PremiumGroupMessages */).FwjZzr;
object2 = {};
object2.percent = activeDiscountInfo.percentage ?? 0;
object = {};
object.percent = activeDiscountInfo.percentage ?? 0;
Date = global.Date;
active_discount_expires_at = premiumSubscription.metadata.active_discount_expires_at;
value12 = Object.create(Date.prototype, {constructor: {value: Date}});
date = new Date();
object2.discountEndDate = date instanceof Object ? date : value12;
object2.regularPrice = priceString2 ?? value5;
r6 = Reflect.apply(format, intl, [FwjZzr, object2]);
object.discountEndDate = date instanceof Object ? date : value12;
object.regularPrice = priceString2 ?? value5;
r6 = Reflect.apply(format, intl, [FwjZzr, object]);
} else {
format = intl.format;
property = (require(1244) /* metro dependency 1244: indexNative */).t['3ZiutU'];
object2 = {};
object = {};
r13 = activeDiscountInfo.percentage ?? DISCOUNT_PERCENTAGE_FALLBACK;
object2.percent = r13;
object.percent = r13;
r13 = activeDiscountInfo.duration ?? DISCOUNT_DURATION_FALLBACK;
object2.numMonths = r13;
object2.regularPrice = value6;
r6 = Reflect.apply(format, intl, [property, object2]);
object.numMonths = r13;
object.regularPrice = value6;
r6 = Reflect.apply(format, intl, [property, object]);
}
} else {
format = intl.format;
property = (require(1244) /* metro dependency 1244: indexNative */).t['3ZiutU'];
object2 = {};
object = {};
r13 = activeDiscountInfo.percentage ?? DISCOUNT_PERCENTAGE_FALLBACK;
object2.percent = r13;
object.percent = r13;
r13 = activeDiscountInfo.duration ?? DISCOUNT_DURATION_FALLBACK;
object2.numMonths = r13;
object2.regularPrice = value6;
r6 = Reflect.apply(format, intl, [property, object2]);
object.numMonths = r13;
object.regularPrice = value6;
r6 = Reflect.apply(format, intl, [property, object]);
}
} else if (isSamePremiumType(premiumSubscription, premiumType)) {
if (premiumSubscription == null) {
format = intl.format;
z2oQtA = (require(1244) /* metro dependency 1244: indexNative */).t.z2oQtA;
object = {};
object.percent = activeDiscountInfo.percentage ?? ANNUAL_DISCOUNT_PERCENTAGE_FALLBACK;
object.regularPrice = value6;
object.renewalDate = (require(3802) /* metro dependency 3802: PremiumUtils */).getExpectedRenewalDate(premiumSubscription,
fractionalPremiumInfo);
r6 = Reflect.apply(format, intl, [z2oQtA, object]);
} else if (premiumSubscription.hasActiveTrial) {
if (premiumSubscription.hasAnyPremiumGroup) {
active_discount_expires_at = premiumSubscription.metadata?.active_discount_expires_at;
if (active_discount_expires_at != null) {
priceString2 = (require(7945) /* metro dependency 7945: PremiumGroupUtilsNative */).getPriceString(premiumSubscription);
format = intl.format;
FwjZzr = (importDefault(2806) /* metro dependency 2806: PremiumGroupMessages */).FwjZzr;
object = {};
object.percent = activeDiscountInfo.percentage ?? 0;
Date = global.Date;
active_discount_expires_at = premiumSubscription.metadata.active_discount_expires_at;
value12 = Object.create(Date.prototype, {constructor: {value: Date}});
date = new Date();
object.discountEndDate = date instanceof Object ? date : value12;
object.regularPrice = priceString2 ?? value5;
r6 = Reflect.apply(format, intl, [FwjZzr, object]);
} else {
format = intl.format;
property = (require(1244) /* metro dependency 1244: indexNative */).t['3ZiutU'];
object = {};
r13 = activeDiscountInfo.percentage ?? DISCOUNT_PERCENTAGE_FALLBACK;
object.percent = r13;
r13 = activeDiscountInfo.duration ?? DISCOUNT_DURATION_FALLBACK;
object.numMonths = r13;
object.regularPrice = value6;
r6 = Reflect.apply(format, intl, [property, object]);
}
} else {
format = intl.format;
property = (require(1244) /* metro dependency 1244: indexNative */).t['3ZiutU'];
object = {};
r13 = activeDiscountInfo.percentage ?? DISCOUNT_PERCENTAGE_FALLBACK;
object.percent = r13;
r13 = activeDiscountInfo.duration ?? DISCOUNT_DURATION_FALLBACK;
object.numMonths = r13;
object.regularPrice = value6;
r6 = Reflect.apply(format, intl, [property, object]);
}
} else {
format = intl.format;
z2oQtA = (require(1244) /* metro dependency 1244: indexNative */).t.z2oQtA;
object = {};
object.percent = activeDiscountInfo.percentage ?? ANNUAL_DISCOUNT_PERCENTAGE_FALLBACK;
object.regularPrice = value6;
object.renewalDate = (require(3802) /* metro dependency 3802: PremiumUtils */).getExpectedRenewalDate(premiumSubscription,
fractionalPremiumInfo);
r6 = Reflect.apply(format, intl, [z2oQtA, object]);
}
} else if (premiumSubscription.hasAnyPremiumGroup) {
active_discount_expires_at = premiumSubscription.metadata?.active_discount_expires_at;
if (active_discount_expires_at != null) {
priceString2 = (require(7945) /* metro dependency 7945: PremiumGroupUtilsNative */).getPriceString(premiumSubscription);
format = intl.format;
FwjZzr = (importDefault(2806) /* metro dependency 2806: PremiumGroupMessages */).FwjZzr;
object = {};
object.percent = activeDiscountInfo.percentage ?? 0;
Date = global.Date;
active_discount_expires_at = premiumSubscription.metadata.active_discount_expires_at;
value12 = Object.create(Date.prototype, {constructor: {value: Date}});
date = new Date();
object.discountEndDate = date instanceof Object ? date : value12;
object.regularPrice = priceString2 ?? value5;
r6 = Reflect.apply(format, intl, [FwjZzr, object]);
} else {
format = intl.format;
property = (require(1244) /* metro dependency 1244: indexNative */).t['3ZiutU'];
object = {};
r13 = activeDiscountInfo.percentage ?? DISCOUNT_PERCENTAGE_FALLBACK;
object.percent = r13;
r13 = activeDiscountInfo.duration ?? DISCOUNT_DURATION_FALLBACK;
object.numMonths = r13;
object.regularPrice = value6;
r6 = Reflect.apply(format, intl, [property, object]);
}
} else {
format = intl.format;
z2oQtA = (require(1244) /* metro dependency 1244: indexNative */).t.z2oQtA;
object2 = {};
object2.percent = activeDiscountInfo.percentage ?? ANNUAL_DISCOUNT_PERCENTAGE_FALLBACK;
object2.regularPrice = value6;
object2.renewalDate = (require(3802) /* metro dependency 3802: PremiumUtils */).getExpectedRenewalDate(premiumSubscription,
fractionalPremiumInfo);
r6 = Reflect.apply(format, intl, [z2oQtA, object2]);
}
} else if (premiumSubscription.hasAnyPremiumGroup) {
active_discount_expires_at = premiumSubscription.metadata?.active_discount_expires_at;
if (active_discount_expires_at != null) {
priceString2 = (require(7945) /* metro dependency 7945: PremiumGroupUtilsNative */).getPriceString(premiumSubscription);
format = intl.format;
FwjZzr = (importDefault(2806) /* metro dependency 2806: PremiumGroupMessages */).FwjZzr;
object2 = {};
object2.percent = activeDiscountInfo.percentage ?? 0;
Date = global.Date;
active_discount_expires_at = premiumSubscription.metadata.active_discount_expires_at;
value12 = Object.create(Date.prototype, {constructor: {value: Date}});
date = new Date();
object2.discountEndDate = date instanceof Object ? date : value12;
object2.regularPrice = priceString2 ?? value5;
r6 = Reflect.apply(format, intl, [FwjZzr, object2]);
} else {
format = intl.format;
property = (require(1244) /* metro dependency 1244: indexNative */).t['3ZiutU'];
object2 = {};
object = {};
r13 = activeDiscountInfo.percentage ?? DISCOUNT_PERCENTAGE_FALLBACK;
object2.percent = r13;
object.percent = r13;
r13 = activeDiscountInfo.duration ?? DISCOUNT_DURATION_FALLBACK;
object2.numMonths = r13;
object2.regularPrice = value6;
r6 = Reflect.apply(format, intl, [property, object2]);
object.numMonths = r13;
object.regularPrice = value6;
r6 = Reflect.apply(format, intl, [property, object]);
}
} else {
format = intl.format;
property = (require(1244) /* metro dependency 1244: indexNative */).t['3ZiutU'];
object2 = {};
r13 = activeDiscountInfo.percentage ?? DISCOUNT_PERCENTAGE_FALLBACK;
object2.percent = r13;
r13 = activeDiscountInfo.duration ?? DISCOUNT_DURATION_FALLBACK;
object2.numMonths = r13;
object2.regularPrice = value6;
r6 = Reflect.apply(format, intl, [property, object2]);
return (
<Text
variant="text-md/normal"
color="always-white"
style={styles.discountPriceText}
>
{r6}
</Text>
);
}
return (
<Text
variant="text-md/normal"
color="always-white"
style={styles.discountPriceText}
>
{r6}
}
if (subscriptionTrial == null) {
var viewBindingProps = {accessible: true, style: styles.priceContainer};
items2 = [
<Text variant="text-md/bold" color="always-white">
{value3?.priceString ?? value5}
</Text>,
];
items2[1] = (
<Text variant="text-md/normal" color="always-white">
{' / ' + intervalStringAsNoun}
</Text>
);
}
}
if (subscriptionTrial == null) {
var viewBindingProps = {accessible: true, style: styles.priceContainer};
items2 = [<Text variant="text-md/bold" color="always-white">{value3?.priceString ?? value5}</Text>];
items2[1] = <Text variant="text-md/normal" color="always-white">{' / ' + intervalStringAsNoun}</Text>;
r1 = <View {...viewBindingProps}>{items2}</View>;
} else if (premiumType === PremiumSubscriptionSKUToPremiumType[subscriptionTrial.sku_id]) {
var textProps = {'variant': 'text-md/normal', 'color': 'always-white', style: styles.discountPriceText};
format = intl.format;
property = (require(1244) /* metro dependency 1244: indexNative */).t['xOX9/9'];
value = require(3802) /* metro dependency 3802: PremiumUtils */;
value = <Text {...textProps}>{Reflect.apply(format, intl, [property,
{trialPeriod: value.formatIntervalDuration({intervalType: subscriptionTrial?.interval,
intervalCount: subscriptionTrial?.interval_count}), price: value3?.priceString ?? value5}])}</Text>;
r1 = value;
} else {
var viewBindingProps = {accessible: true, style: styles.priceContainer};
items2 = [<Text variant="text-md/bold" color="always-white">{value3?.priceString ?? value5}</Text>];
items2[1] = <Text variant="text-md/normal" color="always-white">{' / ' + intervalStringAsNoun}</Text>;
r1 = <View {...viewBindingProps}>{items2}</View>;
}
return r1;
}
function isSamePremiumType(a0, a1) { // fn#63370, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8119:3849, offset: 0x01b7ce13, size: 71 bytes, params: 3, frame: 13
var r0;
if (a0 == null) {
return false;
}
const planIdFromItems = a0.planIdFromItems;
let value = planIdFromItems != null;
if (value) {
value = require(3802) /* metro dependency 3802: PremiumUtils */;
value = value.getPremiumType(planIdFromItems);
value = value === a1;
r0 = value;
} else {
r0 = value;
}
return r0;
}
function _default_63371({premiumType, style, applicationId, onPaymentSuccess, onPaymentDismiss, hideButton, forFractionalPremium, hidePrice, isPremiumGroup, premiumGroupRole = require(dependencyMap[20]).PremiumSubscriptionGroupRole.UNSPECIFIED}) { // fn#63371, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8119:3958, offset: 0x01b7ce5a, size: 2283 bytes, params: 2, frame: 52
var r27;
var r10;
var object;
var Button;
var object2;
var object3;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
hideButton = !(hideButton === undefined) && hideButton;
forFractionalPremium = !(forFractionalPremium === undefined) && forFractionalPremium;
hidePrice = !(hidePrice === undefined) && hidePrice;
isPremiumGroup = !(isPremiumGroup === undefined) && isPremiumGroup;
const styles = useStyles();
(importDefault(44) /* metro dependency 44 */)(env0_19.has(premiumType), 'only Tier 0 and Tier 2 are supported');
const value9 = (require(7062) /* metro dependency 7062: usePremiumTrialOfferNative */).usePremiumTrialOffer();
const value10 = (require(7258) /* metro dependency 7258: usePremiumDiscountOfferAndroid */).usePremiumDiscountOffer();
const value11 = (require(7561) /* metro dependency 7561: PremiumSubscriptionOfferUtil */).useActiveDiscountInfo();
const value12 = (importDefault(5180) /* metro dependency 5180: useFractionalPremiumInfo */)();
const value13 = (require(7061) /* metro dependency 7061: MobileTrialUtils */).usePremiumTrialOfferPremiumType();
const subscription_trial = value9?.subscription_trial;
const value15 = (require(3802) /* metro dependency 3802: PremiumUtils */).formatIntervalDuration({intervalType: subscription_trial?.interval,
intervalCount: subscription_trial?.interval_count});
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const J61px0 = (require(1244) /* metro dependency 1244: indexNative */).t.J61px0;
const value16 = Reflect.apply(string, intl, [J61px0]);
const value17 = premiumType === value13;
const env0_4 = (importDefault(6771) /* metro dependency 6771: useAnalyticsLocations */)().analyticsLocations;
const fluxModule = require(566) /* metro dependency 566: flux */;
const useStateFromStoresArray = fluxModule.useStateFromStoresArray;
const value19 = onPaymentDismiss(Reflect.apply(useStateFromStoresArray, fluxModule, [[SubscriptionStore],
_fun63372]), 2);
const property = value19[0];
const property2 = value19[1];
const env0_5 = PremiumTypeToActivePremiumSubscriptionSKU[premiumType];
const value20 = fluxModule.useStateFromStores([SubscriptionPlanStore], _fun63373);
const useReducedMotion = fluxModule.useStateFromStores([AccessibilityStore], function() {
return AccessibilityStore.useReducedMotion;
});
const value21 = (importDefault(7947) /* metro dependency 7947: usePremiumFeatures */)(premiumType,
forFractionalPremium, premiumGroupRole);
const r24 = property != null && value20 && property2 && !(property != null && property.isBoostOnly && (require(1581) /* metro dependency 1581: MetaQuestUtilsAndroid */).isMetaQuest());
const env0_6 = (property != null ? property.planIdFromItems === undefined ? null : SubscriptionPlanInfo[property.planIdFromItems] : null)?.interval ?? SubscriptionIntervalTypes.MONTH;
const premiumBundleWithPredicate = (require(7027) /* metro dependency 7027: PremiumBundledPlansUtils */).getPremiumBundleWithPredicate(_fun63375);
(importDefault(44) /* metro dependency 44 */)(premiumBundleWithPredicate != null, 'could not find a premium item');
const useDiscountedPremiumProductInfoModule = require(7325) /* metro dependency 7325: useDiscountedPremiumProductInfo */;
const useDiscountedPremiumProductInfo = useDiscountedPremiumProductInfoModule.useDiscountedPremiumProductInfo;
const discountedPriceString = Reflect.apply(useDiscountedPremiumProductInfo, useDiscountedPremiumProductInfoModule,
[value10, [premiumBundleWithPredicate]]).discountedPriceString;
const r28 = value10 != null && discountedPriceString != null;
let r11 = r24 && isSamePremiumType(property, premiumType);
const value28 = (importDefault(7942) /* metro dependency 7942: usePremiumPlanPrice */)(premiumBundleWithPredicate.basePlanId);
const PremiumPill = (require(7053) /* metro dependency 7053: PremiumPill */).PremiumPill;
const premiumPill = <PremiumPill style={styles.pill} discountOffer={value10} isActiveDiscount={value11 != null} shouldShowDiscountUpsell={r28} premiumType={premiumType} trialOffer={value9} />;
const PremiumFeaturesBackground = importDefault(7962) /* metro dependency 7962: PremiumFeaturesBackground */;
const items2 = [<View style={styles.logoContainer}>{isPremiumGroup ? ((Component) => <Component width={185} height={20} alwaysWhite />)(importDefault(7963) /* metro dependency 7963: PremiumGroupWordmark */) : ((Component) => <Component premiumType={premiumType} style={styles.logo} />)(importDefault(7964) /* metro dependency 7964: PremiumFeaturesLogo */)}</View>];
items2[1] = ((Component) => <Component premiumType={premiumType} />)(importDefault(7966) /* metro dependency 7966: PremiumFeaturesWumpus */);
let r13 = isPremiumGroup && value11 == null;
r13 = !r13 && !forFractionalPremium && !hidePrice && <PriceText premiumItem={premiumBundleWithPredicate} discountedPriceString={discountedPriceString} discountOffer={value10} activeDiscountInfo={value11} subscriptionTrial={subscription_trial} premiumType={premiumType} premiumSubscription={property} fractionalPremiumInfo={value12} />;
items2[2] = r13;
items2[3] = ((Component) => <Component style={styles.featureList} features={value21} iconStyle={styles.featureIcon} labelStyle={styles.featureLabel} rowStyle={styles.featureRow} />)(importDefault(7971) /* metro dependency 7971: PremiumFeatureList */);
if (hideButton) {
r10 = !hideButton;
} else {
if (r11) {
object3 = {'style': null, 'accessible': true, 'accessibilityRole': 'text'};
object3.style = styles.currentPlanLabel;
object3.children = <Text variant="text-md/semibold" color="always-white">{intl.string((require(1244) /* metro dependency 1244: indexNative */).t['j+wlhy'])}</Text>;
r11 = object3;
} else {
object = {};
object.style = styles.button;
Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
object2 = {};
r27 = value17 ? value16 : r28 ? intl.formatToPlainString((require(1244) /* metro dependency 1244: indexNative */).t.bkQ4bH,
{percent: value10.discount.amount}) : premiumType === PremiumTypes.TIER_0 ? intl.string((require(1244) /* metro dependency 1244: indexNative */).t.cM8bbx) : intl.string((require(1244) /* metro dependency 1244: indexNative */).t['8x0jKT']);
object2.text = r27;
if (value10 != null || value17) {
const NitroWheelIcon = (require(7954) /* metro dependency 7954: NitroWheelIcon */).NitroWheelIcon;
r27 = <NitroWheelIcon style={styles.buttonIcon} color={(importDefault(697) /* metro dependency 697: native */).colors.CONTROL_OVERLAY_PRIMARY_TEXT_DEFAULT} size="sm" />;
} else {
r27 = undefined;
}
object2.icon = r27;
r27 = r28 ? 'start' : undefined;
object2.iconPosition = r27;
object2.variant = value10 != null || value17 ? 'primary-overlay' : 'experimental_premium-secondary';
object2.size = 'md';
object2.grow = true;
object2.shiny = !useReducedMotion;
object2.disabled = r24;
object2.onPress = onPress_63376;
object.children = <Button {...object2} />;
r11 = object;
}
r10 = <View {...r11} />;
}
items2[4] = r10;
return (
<View style={styles.containerWrapper}>
{premiumPill}
<PremiumFeaturesBackground premiumType={premiumType} style={style}>
<View style={styles.card}>
r1 = (
<View {...viewBindingProps}>
{items2}
</View>
{value17 && <View accessible style={styles.trialSubTextContainer}><Text variant="text-md/normal" style={styles.trialSubText}>{intl.format((require(1244) /* metro dependency 1244: indexNative */).t.pC4tcv,
{trialPeriod: value15, price: value28?.priceString ?? '$...'})}</Text></View>}
</PremiumFeaturesBackground>
</View>
);
}
);
} else if (premiumType === PremiumSubscriptionSKUToPremiumType[subscriptionTrial.sku_id]) {
var textProps = {'variant': 'text-md/normal', 'color': 'always-white', style: styles.discountPriceText};
format = intl.format;
property = (require(1244) /* metro dependency 1244: indexNative */).t['xOX9/9'];
value = require(3802) /* metro dependency 3802: PremiumUtils */;
value = (
<Text {...textProps}>
{Reflect.apply(format, intl, [property,
{trialPeriod: value.formatIntervalDuration({intervalType: subscriptionTrial?.interval,
intervalCount: subscriptionTrial?.interval_count}), price: value3?.priceString ?? value5}])}
</Text>
);
r1 = value;
} else {
var viewBindingProps = {accessible: true, style: styles.priceContainer};
items2 = [
<Text variant="text-md/bold" color="always-white">
{value3?.priceString ?? value5}
</Text>,
];
items2[1] = (
<Text variant="text-md/normal" color="always-white">
{' / ' + intervalStringAsNoun}
</Text>
);
r1 = (
<View {...viewBindingProps}>
{items2}
</View>
);
}
return r1;
}
function _fun63372() { // fn#63372, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8119:4708, offset: 0x01b7d745, size: 41 bytes, params: 1, frame: 10
const value = environment.__proto__;
const items2 = [SubscriptionStore.getPremiumTypeSubscription()];
items2[1] = SubscriptionStore.hasFetchedSubscriptions();
return items2;
}
function isSamePremiumType(a0, a1) { // fn#63370, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8119:3849, offset: 0x01b7ce13, size: 71 bytes, params: 3, frame: 13
var r0;
if (a0 == null) {
return false;
}
const planIdFromItems = a0.planIdFromItems;
let value = planIdFromItems != null;
if (value) {
value = require(3802) /* metro dependency 3802: PremiumUtils */;
value = value.getPremiumType(planIdFromItems);
value = value === a1;
r0 = value;
} else {
r0 = value;
}
return r0;
}
function _fun63373() { // fn#63373, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8119:4840, offset: 0x01b7d76e, size: 35 bytes, params: 1, frame: 12
return SubscriptionPlanStore.isLoadedForSKUs([env0_5]);
}
function _default_63371({premiumType, style, applicationId, onPaymentSuccess, onPaymentDismiss, hideButton, forFractionalPremium, hidePrice, isPremiumGroup, premiumGroupRole = require(dependencyMap[20]).PremiumSubscriptionGroupRole.UNSPECIFIED}) { // fn#63371, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8119:3958, offset: 0x01b7ce5a, size: 2283 bytes, params: 2, frame: 52
var r27;
var r10;
var object4;
var Button;
var object5;
var object6;
const Text = (TextModule).Text;
hideButton = !(hideButton === undefined) && hideButton;
forFractionalPremium = !(forFractionalPremium === undefined) && forFractionalPremium;
hidePrice = !(hidePrice === undefined) && hidePrice;
isPremiumGroup = !(isPremiumGroup === undefined) && isPremiumGroup;
const styles = useStyles();
(Module00044)(env0_19.has(premiumType), 'only Tier 0 and Tier 2 are supported');
const value9 = (UsePremiumTrialOfferNativeModule).usePremiumTrialOffer();
const value10 = (UsePremiumDiscountOfferAndroidModule).usePremiumDiscountOffer();
const value11 = (PremiumSubscriptionOfferUtilModule).useActiveDiscountInfo();
const value12 = (UseFractionalPremiumInfo)();
const value13 = (MobileTrialUtilsModule).usePremiumTrialOfferPremiumType();
const subscription_trial = value9?.subscription_trial;
const value15 = (require(3802) /* metro dependency 3802: PremiumUtils */).formatIntervalDuration({intervalType: subscription_trial?.interval,
intervalCount: subscription_trial?.interval_count});
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const J61px0 = (require(1244) /* metro dependency 1244: indexNative */).t.J61px0;
const value16 = Reflect.apply(string, intl, [J61px0]);
const value17 = premiumType === value13;
const env0_4 = (UseAnalyticsLocations)().analyticsLocations;
const useStateFromStoresArray = FluxModule.useStateFromStoresArray;
const value19 = onPaymentDismiss(Reflect.apply(useStateFromStoresArray, FluxModule, [[SubscriptionStore],
_fun63372]), 2);
const property = value19[0];
const property2 = value19[1];
const env0_5 = PremiumTypeToActivePremiumSubscriptionSKU[premiumType];
const value20 = FluxModule.useStateFromStores([SubscriptionPlanStore], _fun63373);
const useReducedMotion = FluxModule.useStateFromStores([AccessibilityStore], function() {
return AccessibilityStore.useReducedMotion;
});
const value21 = (UsePremiumFeatures)(premiumType,
forFractionalPremium, premiumGroupRole);
const r24 = property != null && value20 && property2 && !(property != null && property.isBoostOnly && (require(1581) /* metro dependency 1581: MetaQuestUtilsAndroid */).isMetaQuest());
const env0_6 = (property != null ? property.planIdFromItems === undefined ? null : SubscriptionPlanInfo[property.planIdFromItems] : null)?.interval ?? SubscriptionIntervalTypes.MONTH;
const premiumBundleWithPredicate = (PremiumBundledPlansUtilsModule).getPremiumBundleWithPredicate(_fun63375);
(Module00044)(premiumBundleWithPredicate != null, 'could not find a premium item');
const useDiscountedPremiumProductInfo = UseDiscountedPremiumProductInfoModule.useDiscountedPremiumProductInfo;
const discountedPriceString = Reflect.apply(useDiscountedPremiumProductInfo, UseDiscountedPremiumProductInfoModule,
[value10, [premiumBundleWithPredicate]]).discountedPriceString;
const r28 = value10 != null && discountedPriceString != null;
let r11 = r24 && isSamePremiumType(property, premiumType);
const value28 = (UsePremiumPlanPrice)(premiumBundleWithPredicate.basePlanId);
const PremiumPill = (PremiumPillModule).PremiumPill;
const premiumPill = (
<PremiumPill
style={styles.pill}
discountOffer={value10}
isActiveDiscount={value11 != null}
shouldShowDiscountUpsell={r28}
premiumType={premiumType}
trialOffer={value9}
/>
);
const items2 = [
<View style={styles.logoContainer}>
{
isPremiumGroup
? ((Component) => <Component width={185} height={20} alwaysWhite />)(importDefault(7963) /* metro dependency 7963: PremiumGroupWordmark */)
: ((Component) => <Component premiumType={premiumType} style={styles.logo} />)(importDefault(7964) /* metro dependency 7964: PremiumFeaturesLogo */)
}
</View>,
];
items2[1] = ((Component) => <Component premiumType={premiumType} />)(importDefault(7966) /* metro dependency 7966: PremiumFeaturesWumpus */);
let r13 = isPremiumGroup && value11 == null;
r13 = !r13 && !forFractionalPremium && !hidePrice && <PriceText premiumItem={premiumBundleWithPredicate} discountedPriceString={discountedPriceString} discountOffer={value10} activeDiscountInfo={value11} subscriptionTrial={subscription_trial} premiumType={premiumType} premiumSubscription={property} fractionalPremiumInfo={value12} />;
items2[2] = r13;
items2[3] = ((Component) => <Component style={styles.featureList} features={value21} iconStyle={styles.featureIcon} labelStyle={styles.featureLabel} rowStyle={styles.featureRow} />)(importDefault(7971) /* metro dependency 7971: PremiumFeatureList */);
if (hideButton) {
r10 = !hideButton;
} else {
if (r11) {
object6 = {'style': null, 'accessible': true, 'accessibilityRole': 'text'};
object6.style = styles.currentPlanLabel;
object6.children = (
<Text variant="text-md/semibold" color="always-white">
{intl.string((require(1244) /* metro dependency 1244: indexNative */).t['j+wlhy'])}
</Text>
);
r11 = object6;
} else {
object4 = {};
object4.style = styles.button;
Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
object5 = {};
r27 = value17 ? value16 : r28 ? intl.formatToPlainString((require(1244) /* metro dependency 1244: indexNative */).t.bkQ4bH,
{percent: value10.discount.amount}) : premiumType === PremiumTypes.TIER_0 ? intl.string((require(1244) /* metro dependency 1244: indexNative */).t.cM8bbx) : intl.string((require(1244) /* metro dependency 1244: indexNative */).t['8x0jKT']);
object5.text = r27;
if (value10 != null || value17) {
const NitroWheelIcon = (require(7954) /* metro dependency 7954: NitroWheelIcon */).NitroWheelIcon;
r27 = (
<NitroWheelIcon
style={styles.buttonIcon}
color={(importDefault(697) /* metro dependency 697: native */).colors.CONTROL_OVERLAY_PRIMARY_TEXT_DEFAULT}
size="sm"
/>
);
} else {
r27 = undefined;
}
object5.icon = r27;
r27 = r28 ? 'start' : undefined;
object5.iconPosition = r27;
object5.variant = value10 != null || value17 ? 'primary-overlay' : 'experimental_premium-secondary';
object5.size = 'md';
object5.grow = true;
object5.shiny = !useReducedMotion;
object5.disabled = r24;
object5.onPress = onPress_63376;
object4.children = <Button {...object5} />;
r11 = object4;
}
r10 = <View {...r11} />;
}
items2[4] = r10;
return (
<View style={styles.containerWrapper}>
{premiumPill}
<PremiumFeaturesBackground premiumType={premiumType} style={style}>
<View style={styles.card}>
{items2}
</View>
{value17 && <View accessible style={styles.trialSubTextContainer}><Text variant="text-md/normal" style={styles.trialSubText}>{intl.format((require(1244) /* metro dependency 1244: indexNative */).t.pC4tcv,
{trialPeriod: value15, price: value28?.priceString ?? '$...'})}</Text></View>}
</PremiumFeaturesBackground>
</View>
);
function _fun63372() { // fn#63372, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8119:4708, offset: 0x01b7d745, size: 41 bytes, params: 1, frame: 10
const value = environment.__proto__;
const subscriptionStoreBinding = SubscriptionStore;
const items2 = [subscriptionStoreBinding.getPremiumTypeSubscription()];
items2[1] = subscriptionStoreBinding.hasFetchedSubscriptions();
return items2;
}
function _fun63375({additionalPlans, isDeprecated, numPremiumGuild, premiumTier, interval}) { // fn#63375, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8119:5175, offset: 0x01b7d791, size: 87 bytes, params: 2, frame: 7
let r0 = additionalPlans.length === 0 && !isDeprecated && numPremiumGuild === 0;
r0 = r0 && premiumTier === premiumType && interval === env0_6;
return r0;
}
function _fun63373() { // fn#63373, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8119:4840, offset: 0x01b7d76e, size: 35 bytes, params: 1, frame: 12
const subscriptionPlanStoreBinding = SubscriptionPlanStore;
return subscriptionPlanStoreBinding.isLoadedForSKUs([env0_5]);
}
function _fun63375({additionalPlans, isDeprecated, numPremiumGuild, premiumTier, interval}) { // fn#63375, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8119:5175, offset: 0x01b7d791, size: 87 bytes, params: 2, frame: 7
let r0 = additionalPlans.length === 0 && !isDeprecated && numPremiumGuild === 0;
r0 = r0 && premiumTier === premiumType && interval === env0_6;
return r0;
}
function _default_63371OnPress() { // fn#63376, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8119:6952, owner: _default_63371.onPress, offset: 0x01b7d7e8, size: 96 bytes, params: 1, frame: 13
return (OpenPremiumPlanSelectionActionSheet)({analyticsLocation: env1_21,
analyticsLocations: analyticsLocations, premiumType: env0_7.premiumTier, applicationId: applicationId,
onPaymentSuccess: onPaymentSuccess, onPaymentDismiss: onPaymentDismiss});
}
}
function _default_63371OnPress() { // fn#63376, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8119:6952, owner: _default_63371.onPress, offset: 0x01b7d7e8, size: 96 bytes, params: 1, frame: 13
return (importDefault(7040) /* metro dependency 7040: openPremiumPlanSelectionActionSheet */)({analyticsLocation: env1_21,
analyticsLocations: analyticsLocations, premiumType: env0_7.premiumTier, applicationId: applicationId,
onPaymentSuccess: onPaymentSuccess, onPaymentDismiss: onPaymentDismiss});
}
global.__d(_fun63368, 7941, [57, 31, 27, 4502, 3807, 3808, 661, 1880, 482, 33, 4501, 697, 6597, 7942, 3802, 5137,
4573, 1244, 7945, 2806, 1895, 44, 7062, 7258, 7561, 5180, 7061, 6771, 566, 7947, 1581, 7027, 7325, 7053, 7962,
7963, 7964, 7966, 7971, 4578, 7954, 7040,
2]) /* metro module 7941, dependencies: [57, 31, 27, 4502, 3807, 3808, 661, 1880, 482, 33, 4501, 697, 6597, 7942, 3802, 5137, 4573, 1244, 7945, 2806, 1895, 44, 7062, 7258, 7561, 5180, 7061, 6771, 566, 7947, 1581, 7027, 7325, 7053, 7962, 7963, 7964, 7966, 7971, 4578, 7954, 7040, 2] */;
@@ -1,42 +1,47 @@
/* Metro module 7940; source: modules/user_settings/premium/native/PremiumFeaturesCards.tsx; dependencies: [31, 27, 1880, 33, 4501, 7941, 2] */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
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 PremiumConstantsModule from '../../../premium/PremiumConstants.tsx'; /* Metro dependency 1880 */
import * as CreateStylesModule from '../../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */
function _fun63365(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#63365, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8118:6, offset: 0x01b7c284, size: 273 bytes, params: 8, frame: 22
var object2;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
const env0_2 = (require(27) /* metro dependency 27 */).View;
const env0_3 = (require(1880) /* metro dependency 1880: PremiumConstants */).PremiumTypes;
const env0_4 = (require(33) /* metro dependency 33 */).jsx;
const env0_5 = (require(4501) /* metro dependency 4501: createStyles */).createStyles({container: {width: '100%'},
ReactModule;
const env0_5 = (CreateStylesModule).createStyles({container: {width: '100%'},
cardWithMargin: {marginBottom: 12}});
object2 = {TIER_0_LEADING: 0};
object2[0] = 'TIER_0_LEADING';
object2.TIER_2_LEADING = 1;
object2[1] = 'TIER_2_LEADING';
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/premium/native/PremiumFeaturesCards.tsx');
object = {TIER_0_LEADING: 0};
object[0] = 'TIER_0_LEADING';
object.TIER_2_LEADING = 1;
object[1] = 'TIER_2_LEADING';
(FileImportTrackerModule).fileFinishedImporting('modules/user_settings/premium/native/PremiumFeaturesCards.tsx');
exports.default = _default_63366;
exports.PremiumFeatureCardOrder = object2;
}
exports.PremiumFeatureCardOrder = object;
function _default_63366({style, applicationId, onPaymentSuccess, onPaymentDismiss, order = env0_6.TIER_0_LEADING}) { // fn#63366, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8118:360, offset: 0x01b7c395, size: 245 bytes, params: 2, frame: 18
var items2;
const styles = useStyles();
const TIER_2_LEADING = env0_6.TIER_2_LEADING;
if (TIER_2_LEADING === order) {
items2 = [PremiumTypes.TIER_2, PremiumTypes.TIER_0];
} else {
env0_6.TIER_0_LEADING;
items2 = [PremiumTypes.TIER_0, PremiumTypes.TIER_2];
}
return (
<View style={[styles.container, style]}>
{items2?.map(_fun63367)}
</View>
);
function _fun63367(a0, a1) { // fn#63367, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8118:674, offset: 0x01b7c48a, size: 119 bytes, params: 3, frame: 18
const value = environment.__proto__;
return ((Component) => <Component premiumType={a0} style={a1 < JsxRuntimeModule.jsx.length - 1 ? styles.cardWithMargin : undefined} applicationId={applicationId} onPaymentSuccess={onPaymentSuccess} onPaymentDismiss={onPaymentDismiss} key={a0} />)(importDefault(7941) /* metro dependency 7941: PremiumFeaturesCard */);
}
function _default_63366({style, applicationId, onPaymentSuccess, onPaymentDismiss, order = env0_6.TIER_0_LEADING}) { // fn#63366, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8118:360, offset: 0x01b7c395, size: 245 bytes, params: 2, frame: 18
var items;
const styles = useStyles();
const TIER_2_LEADING = env0_6.TIER_2_LEADING;
if (TIER_2_LEADING === order) {
items = [PremiumTypes.TIER_2, PremiumTypes.TIER_0];
} else {
env0_6.TIER_0_LEADING;
items = [PremiumTypes.TIER_0, PremiumTypes.TIER_2];
}
return (
<View style={[styles.container, style]}>
{items?.map(_fun63367)}
</View>
);
}
function _fun63367(a0, a1) { // fn#63367, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8118:674, offset: 0x01b7c48a, size: 119 bytes, params: 3, frame: 18
const value = environment.__proto__;
return ((Component) => <Component premiumType={a0} style={a1 < env0_4.length - 1 ? styles.cardWithMargin : undefined} applicationId={applicationId} onPaymentSuccess={onPaymentSuccess} onPaymentDismiss={onPaymentDismiss} key={a0} />)(importDefault(7941) /* metro dependency 7941: PremiumFeaturesCard */);
}
global.__d(_fun63365, 7940, [31, 27, 1880, 33, 4501, 7941,
2]) /* metro module 7940, dependencies: [31, 27, 1880, 33, 4501, 7941, 2] */;
@@ -1,19 +1,30 @@
/* Metro module 12200; source: modules/user_settings/premium/native/PremiumFeaturesCarouselSection.tsx; dependencies: [57, 31, 27, 661, 7047, 1880, 33, 697, 4501, 4589, 676, 4573, 5475, 1244, 12201, 12202, 12203, 12204, 4559, 1581, 10397, 1305, 6771, 1478, 683, 2] */
import Module00057 from '../../../../by-id/module-00057.js'; /* Metro dependency 57 */
import LinearGradient from '../../../../by-id/module-04589-LinearGradient.js'; /* Metro dependency 4589 */
import FastImage from '../../../../components_native/common/FastImage.tsx'; /* Metro dependency 5475 */
import UseAnalyticsLocations from '../../../app_analytics/useAnalyticsLocations.tsx'; /* Metro dependency 6771 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as ConstantsModule from '../../../../Constants.tsx'; /* Metro dependency 661 */
import * as ConstantsIOSModule from '../../../../ConstantsIOS.tsx'; /* Metro dependency 676 */
import * as IndexNativeModule from '../../../../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as NativeModule from '../../../../design/void/native.tsx'; /* Metro dependency 1305 */
import * as UseWindowDimensionsNativeModule from '../../../screen/useWindowDimensions.native.tsx'; /* Metro dependency 1478 */
import * as PremiumConstantsModule from '../../../premium/PremiumConstants.tsx'; /* Metro dependency 1880 */
import * as UseIsScreenReaderEnabledNativeModule from '../../../a11y/native/useIsScreenReaderEnabled.native.tsx'; /* Metro dependency 4559 */
import * as TextModule from '../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as ColorConstantsModule from '../../../colors/native/ColorConstants.tsx'; /* Metro dependency 7047 */
function _fun93428(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#93428, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:6, offset: 0x020b404d, size: 733 bytes, params: 8, frame: 27
var object2;
const env0_0 = require;
const closure = PremiumFeaturesCardBackground;
const closure2 = usePremiumFeatureCardData;
const PremiumFeaturesCardBackground2 = PremiumFeaturesCardBackground;
const usePremiumFeatureCardData2 = usePremiumFeatureCardData;
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 */;
let value = require(27) /* metro dependency 27 */;
let value = ReactNativeModule;
const env0_5 = value.ScrollView;
const env0_6 = value.View;
const env0_7 = (require(661) /* metro dependency 661: Constants */).AnalyticEvents;
const env0_8 = (require(7047) /* metro dependency 7047: ColorConstants */).Gradients;
const env0_9 = (require(1880) /* metro dependency 1880: PremiumConstants */).PremiumTypes;
value = require(33) /* metro dependency 33 */;
const env0_10 = value.jsx;
const env0_11 = value.jsxs;
@@ -21,264 +32,281 @@ function _fun93428(global, require, importDefault, importAll, module, exports, d
const env0_14 = (importDefault(697) /* metro dependency 697: native */).space.PX_12;
value = require(4501) /* metro dependency 4501: createStyles */;
let createStyles = value.createStyles;
object2 = {container: {'display': 'flex', 'flex': 1}};
object2.headerText = {textAlign: 'center'};
object = {container: {'display': 'flex', 'flex': 1}};
object.headerText = {textAlign: 'center'};
const PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object2.carouselContainer = {marginTop: PX_16};
object2.carousel = {'flex': 1, 'alignItems': 'center', 'minHeight': 262};
object2.questScroller = {'flex': 1, 'minHeight': 262};
object.carouselContainer = {marginTop: PX_16};
object.carousel = {'flex': 1, 'alignItems': 'center', 'minHeight': 262};
object.questScroller = {'flex': 1, 'minHeight': 262};
const PX_32 = (importDefault(697) /* metro dependency 697: native */).space.PX_32;
object2.indicators = {marginBottom: -PX_32};
const env0_15 = Reflect.apply(createStyles, value, [object2]);
object.indicators = {marginBottom: -PX_32};
const env0_15 = Reflect.apply(createStyles, value, [object]);
value = require(4501) /* metro dependency 4501: createStyles */;
createStyles = value.createStyles;
object2 = {};
const object3 = {'flexGrow': 1, 'alignSelf': 'center', 'justifyContent': 'space-between'};
object3.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object2.card = object3;
object2.image = {alignSelf: 'center'};
const object4 = {};
object = {};
const object5 = {'flexGrow': 1, 'alignSelf': 'center', 'justifyContent': 'space-between'};
object5.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object.card = object5;
object.image = {alignSelf: 'center'};
const object6 = {};
let PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object4.marginTop = PX_24;
object6.marginTop = PX_24;
PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object4.marginHorizontal = PX_24;
object2.cardTitle = object4;
const env0_16 = Reflect.apply(createStyles, value, [object2]);
object6.marginHorizontal = PX_24;
object.cardTitle = object6;
const env0_16 = Reflect.apply(createStyles, value, [object]);
const env0_17 = (require(4501) /* metro dependency 4501: createStyles */).createStyles({emojiImage: {alignSelf: 'flex-end'}});
const closure3 = PremiumFeaturesCarousel;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/premium/native/PremiumFeaturesCarouselSection.tsx');
const PremiumFeaturesCarousel2 = PremiumFeaturesCarousel;
(FileImportTrackerModule).fileFinishedImporting('modules/user_settings/premium/native/PremiumFeaturesCarouselSection.tsx');
exports.default = _default_93442;
exports.PREMIUM_FEATURES_PROPORTIONAL_CARD_WIDTH = 0.85;
exports.PremiumFeaturesCardBackground = closure;
exports.usePremiumFeatureCardData = closure2;
exports.PremiumFeaturesCarousel = closure3;
}
exports.PremiumFeaturesCardBackground = PremiumFeaturesCardBackground2;
exports.usePremiumFeatureCardData = usePremiumFeatureCardData2;
exports.PremiumFeaturesCarousel = PremiumFeaturesCarousel2;
function PremiumFeaturesCardBackground({style, children}) { // fn#93429, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:864, offset: 0x020b432a, size: 157 bytes, params: 2, frame: 19
const styles = useStyles();
const defaultImport = LinearGradient;
const items2 = [styles.card, style];
const {START, END} = (ConstantsIOSModule).VerticalGradient;
const PREMIUM_TIER_0_PERK_CARD = Gradients.PREMIUM_TIER_0_PERK_CARD;
return ((Component) => <Component style={items2} start={START} end={END} colors={PREMIUM_TIER_0_PERK_CARD}>{children}</Component>)(defaultImport);
}
function PremiumFeaturesCardBackground({style, children}) { // fn#93429, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:864, offset: 0x020b432a, size: 157 bytes, params: 2, frame: 19
const styles = useStyles();
const defaultImport = importDefault(4589) /* metro dependency 4589 */;
const items2 = [styles.card, style];
const {START, END} = (require(676) /* metro dependency 676: ConstantsIOS */).VerticalGradient;
const PREMIUM_TIER_0_PERK_CARD = Gradients.PREMIUM_TIER_0_PERK_CARD;
return ((Component) => <Component style={items2} start={START} end={END} colors={PREMIUM_TIER_0_PERK_CARD}>{children}</Component>)(defaultImport);
}
function usePremiumFeatureCardData(a0, a1) { // fn#93430, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:1388, offset: 0x020b43c7, size: 86 bytes, params: 3, frame: 15
const env0_0 = a0;
const env0_1 = a1;
const styles = useStyles();
const useMemo = ReactModule.useMemo;
return Reflect.apply(useMemo, ReactModule, [_fun93431, [a1, styles]]).map(_fun93433);
function _fun93431() { // fn#93431, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:1456, offset: 0x020b441d, size: 593 bytes, params: 1, frame: 20
var environment;
let object = {};
const value = environment.__proto__;
const intl = (IndexNativeModule).intl;
const string = intl.string;
const t = (IndexNativeModule).t;
object.title = Reflect.apply(string, intl, [t['3cyhe3']]);
object.imageSrc = importDefault(12201) /* metro dependency 12201 */;
object.imageStyle = styles.emojiImage;
let Set = global.Set;
let TIER_0 = PremiumTypes.TIER_0;
const items5 = [TIER_0];
let TIER_2 = PremiumTypes.TIER_2;
items5[1] = TIER_2;
const value3 = Object.create(Set.prototype, {constructor: {value: Set}});
let set = new Set(items5);
object.premiumTypes = set instanceof Object ? set : value3;
const items2 = [object];
object = {};
object.title = intl.string(t['8AhJqy']);
object.imageSrc = importDefault(12202) /* metro dependency 12202 */;
Set = global.Set;
TIER_0 = PremiumTypes.TIER_0;
const items3 = [TIER_0];
TIER_2 = PremiumTypes.TIER_2;
items3[1] = TIER_2;
const value5 = Object.create(Set.prototype, {constructor: {value: Set}});
set = new Set(items3);
object.premiumTypes = set instanceof Object ? set : value5;
items2[1] = object;
object = {};
object.title = intl.string(t['t/Mvdj']);
object.imageSrc = importDefault(12203) /* metro dependency 12203 */;
Set = global.Set;
TIER_2 = PremiumTypes.TIER_2;
const items4 = [TIER_2];
const value7 = Object.create(Set.prototype, {constructor: {value: Set}});
set = new Set(items4);
object.premiumTypes = set instanceof Object ? set : value7;
items2[2] = object;
object = {};
object.title = intl.string(t['n+DGY/']);
object.imageSrc = importDefault(12204) /* metro dependency 12204 */;
Set = global.Set;
TIER_2 = PremiumTypes.TIER_2;
object.premiumTypes = new Set([TIER_2]);
items2[3] = object;
return items2.filter(_fun93432);
function _fun93432(a0) { // fn#93432, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:1924, offset: 0x020b466e, size: 41 bytes, params: 2, frame: 12
const value = environment.__proto__;
return require == null || a0.premiumTypes.has(require);
}
function usePremiumFeatureCardData(a0, a1) { // fn#93430, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:1388, offset: 0x020b43c7, size: 86 bytes, params: 3, frame: 15
const env0_0 = a0;
const env0_1 = a1;
const styles = useStyles();
const binding = env0_4;
const useMemo = binding.useMemo;
return Reflect.apply(useMemo, binding, [_fun93431, [a1, styles]]).map(_fun93433);
}
function CarouselCard({style, title, imageSrc, imageStyle}) { // fn#93434, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:1107, offset: 0x020b46ed, size: 201 bytes, params: 2, frame: 23
const styles = useStyles();
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
return (
<PremiumFeaturesCardBackground style={style}>
<Text
variant="heading-md/extrabold"
color="always-white"
style={styles.cardTitle}
>
{title}
</Text>
{((Component) => <Component source={imageSrc} style={[styles.image,
imageStyle]} resizeMode="contain" />)(importDefault(5475) /* metro dependency 5475: FastImage */)}
</PremiumFeaturesCardBackground>
);
}
function PremiumFeaturesCarousel({width, onEndReached, children, style}) { // fn#93435, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:2063, offset: 0x020b47b6, size: 630 bytes, params: 2, frame: 28
const styles = useStyles();
const value2 = (require(4559) /* metro dependency 4559: useIsScreenReaderEnabledNative */).useIsScreenReaderEnabled();
const [property, property2] = env0_3(env0_4.useState(0), 2);
env0_4.useEffect(_fun93436, [property, children.length, onEndReached]);
const value5 = width * env0_13;
const value6 = value5 + PX_12;
var env0_4 = value6;
const Math = global.Math;
const value7 = Math.max(0, (width - value5) / 2);
const value8 = env0_4.useCallback(_fun93437, [value6, children.length]);
const jsxRuntimeEnv0_12Binding = jsxRuntimeEnv0_12;
const r6 = (require(1581) /* metro dependency 1581: MetaQuestUtilsAndroid */).isThumbstickScrollDevice || value2 ? <ScrollView style={[styles.questScroller,
style]} contentContainerStyle={{paddingHorizontal: value7}} horizontal showsHorizontalScrollIndicator={false} decelerationRate="fast" snapToOffsets={children.map(_fun93438)} scrollEventThrottle={100} onScroll={value8}>{children.map(_fun93439)}</ScrollView> : ((Component) => <Component style={[styles.carousel,
style]} data={children} renderItem={function(a0) {
return a0.item;
}} width={width} loop={false} onConfigurePanGesture={onConfigurePanGesture} scrollAnimationDuration={200} mode="parallax" modeConfig={{'parallaxScrollingScale': 1,
'parallaxScrollingOffset': 45}} onSnapToItem={property2} />)(importDefault(10397) /* metro dependency 10397 */);
const CarouselPagination = (require(1305) /* metro dependency 1305: native */).CarouselPagination;
return (
<>
{r6}
<CarouselPagination
containerStyle={styles.indicators}
numberOfItems={children.length}
currentIndex={property}
/>
</>
);
}
function _default_93442({style}) { // fn#93442, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:3181, offset: 0x020b4b49, size: 425 bytes, params: 2, frame: 26
var object2;
const styles = useStyles();
const analyticsLocations = (importDefault(6771) /* metro dependency 6771: useAnalyticsLocations */)().analyticsLocations;
let binding = env0_4;
let useState = binding.useState;
const value2 = Reflect.apply(useState, binding, [false]);
binding = env0_3;
const value3 = binding(value2, 2);
const property = value3[0];
const env0_2 = value3[1];
const binding2 = env0_4;
useState = binding2.useState;
const useWindowDimensionsNativeModule = require(1478) /* metro dependency 1478: useWindowDimensionsNative */;
const getWindowDimensions = useWindowDimensionsNativeModule.getWindowDimensions;
const value4 = binding(Reflect.apply(useState, binding2, [Reflect.apply(getWindowDimensions,
useWindowDimensionsNativeModule, []).width]), 2);
const property2 = value4[0];
var env0_3 = value4[1];
const value5 = env0_4.useCallback(_fun93443, [analyticsLocations, property]);
const value6 = usePremiumFeatureCardData(property2);
object2 = {style: [styles.container, style], onLayout: onLayout_93444};
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const RGadQR = (require(1244) /* metro dependency 1244: indexNative */).t.RGadQR;
return (
<View {...object2}>
<Text
style={styles.headerText}
variant="heading-xl/extrabold"
color="mobile-text-heading-primary"
accessibilityRole="header"
>
{Reflect.apply(string, intl, [RGadQR])}
</Text>
<PremiumFeaturesCarousel
width={property2}
style={styles.carouselContainer}
onEndReached={value5}
>
{value6}
</PremiumFeaturesCarousel>
</View>
);
}
function _fun93431() { // fn#93431, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:1456, offset: 0x020b441d, size: 593 bytes, params: 1, frame: 20
var environment;
let object2 = {};
const value = environment.__proto__;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
object2.title = Reflect.apply(string, intl, [t['3cyhe3']]);
object2.imageSrc = importDefault(12201) /* metro dependency 12201 */;
object2.imageStyle = styles.emojiImage;
let Set = global.Set;
let TIER_0 = PremiumTypes.TIER_0;
const items5 = [TIER_0];
let TIER_2 = PremiumTypes.TIER_2;
items5[1] = TIER_2;
const value3 = Object.create(Set.prototype, {constructor: {value: Set}});
let set = new Set(items5);
object2.premiumTypes = set instanceof Object ? set : value3;
const items2 = [object2];
object2 = {};
object2.title = intl.string(t['8AhJqy']);
object2.imageSrc = importDefault(12202) /* metro dependency 12202 */;
Set = global.Set;
TIER_0 = PremiumTypes.TIER_0;
const items3 = [TIER_0];
TIER_2 = PremiumTypes.TIER_2;
items3[1] = TIER_2;
const value5 = Object.create(Set.prototype, {constructor: {value: Set}});
set = new Set(items3);
object2.premiumTypes = set instanceof Object ? set : value5;
items2[1] = object2;
object2 = {};
object2.title = intl.string(t['t/Mvdj']);
object2.imageSrc = importDefault(12203) /* metro dependency 12203 */;
Set = global.Set;
TIER_2 = PremiumTypes.TIER_2;
const items4 = [TIER_2];
const value7 = Object.create(Set.prototype, {constructor: {value: Set}});
set = new Set(items4);
object2.premiumTypes = set instanceof Object ? set : value7;
items2[2] = object2;
object2 = {};
object2.title = intl.string(t['n+DGY/']);
object2.imageSrc = importDefault(12204) /* metro dependency 12204 */;
Set = global.Set;
TIER_2 = PremiumTypes.TIER_2;
object2.premiumTypes = new Set([TIER_2]);
items2[3] = object2;
return items2.filter(_fun93432);
}
function _fun93433(a0, a1) { // fn#93433, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:1973, offset: 0x020b4697, size: 86 bytes, params: 3, frame: 16
const value = environment.__proto__;
return (
<CarouselCard
style={{width: env0_0 * env1_13}}
{...a0}
key={'card_' + a1}
/>
);
}
function _fun93436() { // fn#93436, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:2211, offset: 0x020b4a2c, size: 51 bytes, params: 1, frame: 11
if (env0_2 === children.length - 1) {
if (onEndReached != null) {
onEndReached();
}
function _fun93433(a0, a1) { // fn#93433, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:1973, offset: 0x020b4697, size: 86 bytes, params: 3, frame: 16
const value = environment.__proto__;
return (
<CarouselCard
style={{width: env0_0 * env1_13}}
{...a0}
key={'card_' + a1}
/>
);
}
}
}
function _fun93437({nativeEvent}) { // fn#93437, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:2320, offset: 0x020b4a5f, size: 114 bytes, params: 2, frame: 17
let Math = global.Math;
const value2 = Math.round(nativeEvent.contentOffset.x / env0_4);
const binding = env0_3;
Math = global.Math;
const max = Math.max;
const Math2 = global.Math;
let value = Math2.min(children.length - 1, value2);
value = Reflect.apply(max, Math, [0, value]);
binding(value);
}
function _fun93438(a0, a1) { // fn#93438, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:2655, offset: 0x020b4ad1, size: 16 bytes, params: 3, frame: 2
return a1 * env0_4;
}
function _fun93439(a0, a1) { // fn#93439, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:2719, offset: 0x020b4ae1, size: 104 bytes, params: 3, frame: 18
return (
<View style={a1 < children.length - 1 ? {marginRight: PX_12} : undefined} key={'quest_card_' + a1}>
{a0}
</View>
);
}
function _fun93443() { // fn#93443, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:3369, offset: 0x020b4cf2, size: 82 bytes, params: 1, frame: 16
var value2;
var defaultImport;
if (!env0_1) {
value2 = environment.__proto__;
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport.track(AnalyticEvents.PREMIUM_MARKETING_SCROLLED_TO_LAST, {location_stack: analyticsLocations});
env0_2(true);
function CarouselCard({style, title, imageSrc, imageStyle}) { // fn#93434, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:1107, offset: 0x020b46ed, size: 201 bytes, params: 2, frame: 23
const styles = useStyles();
const Text = (TextModule).Text;
return (
<PremiumFeaturesCardBackground style={style}>
<Text
variant="heading-md/extrabold"
color="always-white"
style={styles.cardTitle}
>
{title}
</Text>
{((Component) => <Component source={imageSrc} style={[styles.image,
imageStyle]} resizeMode="contain" />)(FastImage)}
</PremiumFeaturesCardBackground>
);
}
function PremiumFeaturesCarousel({width, onEndReached, children, style}) { // fn#93435, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:2063, offset: 0x020b47b6, size: 630 bytes, params: 2, frame: 28
const styles = useStyles();
const value2 = (UseIsScreenReaderEnabledNativeModule).useIsScreenReaderEnabled();
const [property, property2] = Module00057(env0_4.useState(0), 2);
env0_4.useEffect(_fun93436, [property, children.length, onEndReached]);
const value5 = width * env0_13;
const value6 = value5 + PX_12;
var env0_4 = value6;
const Math = global.Math;
const value7 = Math.max(0, (width - value5) / 2);
const value8 = env0_4.useCallback(_fun93437, [value6, children.length]);
const jsxRuntimeEnv0_12Binding = jsxRuntimeEnv0_12;
const r6 = (
(require(1581) /* metro dependency 1581: MetaQuestUtilsAndroid */).isThumbstickScrollDevice || value2
? (
<ScrollView
style={[styles.questScroller, style]}
contentContainerStyle={{paddingHorizontal: value7}}
horizontal
showsHorizontalScrollIndicator={false}
decelerationRate="fast"
snapToOffsets={children.map(_fun93438)}
scrollEventThrottle={100}
onScroll={value8}
>
{children.map(_fun93439)}
</ScrollView>
)
: ((Component) => <Component style={[styles.carousel, style]} data={children} renderItem={function(a0) {
return a0.item;
}} width={width} loop={false} onConfigurePanGesture={onConfigurePanGesture} scrollAnimationDuration={200} mode="parallax" modeConfig={{'parallaxScrollingScale': 1,
'parallaxScrollingOffset': 45}} onSnapToItem={property2} />)(importDefault(10397) /* metro dependency 10397 */)
);
const CarouselPagination = (NativeModule).CarouselPagination;
return (
<>
{r6}
<CarouselPagination
containerStyle={styles.indicators}
numberOfItems={children.length}
currentIndex={property}
/>
</>
);
function _fun93436() { // fn#93436, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:2211, offset: 0x020b4a2c, size: 51 bytes, params: 1, frame: 11
if (env0_2 === children.length - 1) {
if (onEndReached != null) {
onEndReached();
}
}
}
function _fun93437({nativeEvent}) { // fn#93437, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:2320, offset: 0x020b4a5f, size: 114 bytes, params: 2, frame: 17
let Math = global.Math;
const value2 = Math.round(nativeEvent.contentOffset.x / env0_4);
Math = global.Math;
const max = Math.max;
const Math2 = global.Math;
let value = Math2.min(children.length - 1, value2);
value = Reflect.apply(max, Math, [0, value]);
Module00057(value);
}
function _fun93438(a0, a1) { // fn#93438, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:2655, offset: 0x020b4ad1, size: 16 bytes, params: 3, frame: 2
return a1 * env0_4;
}
function _fun93439(a0, a1) { // fn#93439, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:2719, offset: 0x020b4ae1, size: 104 bytes, params: 3, frame: 18
return (
<View style={a1 < children.length - 1 ? {marginRight: PX_12} : undefined} key={'quest_card_' + a1}>
{a0}
</View>
);
}
}
function _default_93442({style}) { // fn#93442, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:3181, offset: 0x020b4b49, size: 425 bytes, params: 2, frame: 26
const styles = useStyles();
const analyticsLocations = (UseAnalyticsLocations)().analyticsLocations;
let binding = ReactModule;
let useState = binding.useState;
const value2 = Reflect.apply(useState, binding, [false]);
binding = env0_3;
const value3 = binding(value2, 2);
const property = value3[0];
const env0_2 = value3[1];
useState = ReactModule.useState;
const getWindowDimensions = UseWindowDimensionsNativeModule.getWindowDimensions;
const value4 = binding(Reflect.apply(useState, ReactModule, [Reflect.apply(getWindowDimensions,
UseWindowDimensionsNativeModule, []).width]), 2);
const property2 = value4[0];
var env0_3 = value4[1];
const value5 = ReactModule.useCallback(_fun93443, [analyticsLocations, property]);
const value6 = usePremiumFeatureCardData(property2);
object = {style: [styles.container, style], onLayout: onLayout_93444};
const Text = (TextModule).Text;
const intl = (IndexNativeModule).intl;
const string = intl.string;
const RGadQR = (IndexNativeModule).t.RGadQR;
return (
<View {...object}>
<Text
style={styles.headerText}
variant="heading-xl/extrabold"
color="mobile-text-heading-primary"
accessibilityRole="header"
>
{Reflect.apply(string, intl, [RGadQR])}
</Text>
<PremiumFeaturesCarousel
width={property2}
style={styles.carouselContainer}
onEndReached={value5}
>
{value6}
</PremiumFeaturesCarousel>
</View>
);
function _fun93443() { // fn#93443, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:3369, offset: 0x020b4cf2, size: 82 bytes, params: 1, frame: 16
var value2;
var defaultImport;
if (!env0_1) {
value2 = environment.__proto__;
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport.track(AnalyticEvents.PREMIUM_MARKETING_SCROLLED_TO_LAST, {location_stack: analyticsLocations});
env0_2(true);
}
}
function _default_93442OnLayout({nativeEvent}) { // fn#93444, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:3541, owner: _default_93442.onLayout, offset: 0x020b4d44, size: 36 bytes, params: 2, frame: 11
return env0_3(nativeEvent.layout.width);
}
}
}
function _default_93442OnLayout({nativeEvent}) { // fn#93444, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:3541, owner: _default_93442.onLayout, offset: 0x020b4d44, size: 36 bytes, params: 2, frame: 11
return env0_3(nativeEvent.layout.width);
}
function _fun93432(a0) { // fn#93432, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:1924, offset: 0x020b466e, size: 41 bytes, params: 2, frame: 12
const value = environment.__proto__;
return require == null || a0.premiumTypes.has(require);
function onConfigurePanGesture(a0) { // fn#93441, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12386:2912, owner: PremiumFeaturesCarousel.onConfigurePanGesture, offset: 0x01e7bb8e, size: 39 bytes, params: 2, frame: 12
a0.activeOffsetX([-10, 10]);
}
global.__d(_fun93428, 12200, [57, 31, 27, 661, 7047, 1880, 33, 697, 4501, 4589, 676, 4573, 5475, 1244, 12201, 12202,
12203, 12204, 4559, 1581, 10397, 1305, 6771, 1478, 683,
2]) /* metro module 12200, dependencies: [57, 31, 27, 661, 7047, 1880, 33, 697, 4501, 4589, 676, 4573, 5475, 1244, 12201, 12202, 12203, 12204, 4559, 1581, 10397, 1305, 6771, 1478, 683, 2] */;
@@ -1,17 +1,22 @@
/* Metro module 7964; source: modules/user_settings/premium/native/PremiumFeaturesLogo.tsx; dependencies: [31, 1880, 33, 7965, 7052, 5475, 3802, 2] */
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 PremiumConstantsModule from '../../../premium/PremiumConstants.tsx'; /* Metro dependency 1880 */
function _fun63442(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#63442, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8142:6, offset: 0x01b7f9e2, size: 158 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(1880) /* metro dependency 1880: PremiumConstants */).PremiumTypes;
const env0_4 = (require(33) /* metro dependency 33 */).jsx;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/premium/native/PremiumFeaturesLogo.tsx');
ReactModule;
(FileImportTrackerModule).fileFinishedImporting('modules/user_settings/premium/native/PremiumFeaturesLogo.tsx');
exports.default = PremiumFeaturesLogo;
function PremiumFeaturesLogo({premiumType, style}) { // fn#63443, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8142:245, offset: 0x01b7fa80, size: 168 bytes, params: 2, frame: 19
const TIER_0 = PremiumTypes.TIER_0;
return ((Component) => <Component accessible accessibilityLabel={(require(3802) /* metro dependency 3802: PremiumUtils */).getPremiumTypeDisplayName(premiumType)} accessibilityRole="header" style={style} resizeMode="contain" source={premiumType === TIER_0 ? importDefault(7965) /* metro dependency 7965 */ : importDefault(7052) /* metro dependency 7052 */} />)(importDefault(5475) /* metro dependency 5475: FastImage */);
}
}
function PremiumFeaturesLogo({premiumType, style}) { // fn#63443, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8142:245, offset: 0x01b7fa80, size: 168 bytes, params: 2, frame: 19
const TIER_0 = PremiumTypes.TIER_0;
return ((Component) => <Component accessible accessibilityLabel={(require(3802) /* metro dependency 3802: PremiumUtils */).getPremiumTypeDisplayName(premiumType)} accessibilityRole="header" style={style} resizeMode="contain" source={premiumType === TIER_0 ? importDefault(7965) /* metro dependency 7965 */ : importDefault(7052) /* metro dependency 7052 */} />)(importDefault(5475) /* metro dependency 5475: FastImage */);
}
global.__d(_fun63442, 7964, [31, 1880, 33, 7965, 7052, 5475, 3802,
2]) /* metro module 7964, dependencies: [31, 1880, 33, 7965, 7052, 5475, 3802, 2] */;
@@ -1,14 +1,27 @@
/* Metro module 12205; source: modules/user_settings/premium/native/PremiumFeaturesTable.tsx; dependencies: [57, 31, 27, 661, 1880, 33, 4501, 697, 6235, 4048, 4002, 1305, 12206, 12207, 4573, 1244, 4589, 7942, 3802, 12208, 12209, 5475, 12210, 12211, 12212, 12213, 12214, 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 UseTheme from '../../../../hooks/useTheme.tsx'; /* Metro dependency 4048 */
import FastImage from '../../../../components_native/common/FastImage.tsx'; /* Metro dependency 5475 */
import UsePremiumPlanPrice from '../../../premium/native/hooks/usePremiumPlanPrice.tsx'; /* Metro dependency 7942 */
import Module12206 from '../../../../by-id/module-12206.js'; /* Metro dependency 12206 */
import Module12207 from '../../../../by-id/module-12207.js'; /* Metro dependency 12207 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as ConstantsModule from '../../../../Constants.tsx'; /* Metro dependency 661 */
import * as NativeModule from '../../../../design/void/native.tsx'; /* Metro dependency 1305 */
import * as PremiumConstantsModule from '../../../premium/PremiumConstants.tsx'; /* Metro dependency 1880 */
import * as PremiumUtilsModule from '../../../../utils/PremiumUtils.tsx'; /* Metro dependency 3802 */
import * as SharedModule from '../../../../design/shared.tsx'; /* Metro dependency 4002 */
import * as TextModule from '../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as LegacyTokensModule from '../../../../design/migrations/native/LegacyTokens.tsx'; /* Metro dependency 6235 */
function _fun93449(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#93449, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12391:6, offset: 0x020b4e80, size: 735 bytes, params: 8, frame: 26
var object2;
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 env0_5 = (require(27) /* metro dependency 27 */).View;
const env0_6 = (require(661) /* metro dependency 661: Constants */).HorizontalGradient;
let value = require(1880) /* metro dependency 1880: PremiumConstants */;
let value = PremiumConstantsModule;
const env0_7 = value.NUM_FREE_GUILD_BOOSTS_WITH_PREMIUM;
const env0_8 = value.PremiumTypes;
const env0_9 = value.SubscriptionPlans;
@@ -17,30 +30,30 @@ function _fun93449(global, require, importDefault, importAll, module, exports, d
const env0_11 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
let createStyles = value.createStyles;
object2 = {container: {'display': 'flex', 'flex': 1, 'width': '100%'}};
object2.headerText = {textAlign: 'center'};
object2.logo = {'marginTop': 8, 'marginBottom': -6};
object2.table = {marginTop: 16};
object2.row = {'display': 'flex', 'flexDirection': 'row'};
object2.bottomBorder = {'borderBottomColor': 'rgba(106, 116, 128, 0.24)', 'borderBottomWidth': 1};
const object3 = {};
object3.borderTopLeftRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
object3.borderTopRightRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
object2.topBorderRadius = object3;
const object6 = {};
object6.borderBottomLeftRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
object6.borderBottomRightRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
object2.bottomBorderRadius = object6;
object2.cell = {paddingVertical: 12};
object2.labelCell = {'flex': 1, 'justifyContent': 'flex-start'};
object2.dataCell = {'flexDirection': 'row', 'justifyContent': 'center', 'alignItems': 'center', 'width': 82};
const PREMIUM_FEATURES_TABLE_HIGHLIGHTED_CELL_BG = (require(6235) /* metro dependency 6235: LegacyTokens */).PREMIUM_FEATURES_TABLE_HIGHLIGHTED_CELL_BG;
object2.themedHighlightedCell = {backgroundColor: PREMIUM_FEATURES_TABLE_HIGHLIGHTED_CELL_BG};
object2.nitroHomeHightlightedBorderLeftRight = {'borderLeftColor': 'rgba(184, 69, 193, 0.5)', 'borderLeftWidth': 2,
object = {container: {'display': 'flex', 'flex': 1, 'width': '100%'}};
object.headerText = {textAlign: 'center'};
object.logo = {'marginTop': 8, 'marginBottom': -6};
object.table = {marginTop: 16};
object.row = {'display': 'flex', 'flexDirection': 'row'};
object.bottomBorder = {'borderBottomColor': 'rgba(106, 116, 128, 0.24)', 'borderBottomWidth': 1};
const object4 = {};
object4.borderTopLeftRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
object4.borderTopRightRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
object.topBorderRadius = object4;
const object5 = {};
object5.borderBottomLeftRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
object5.borderBottomRightRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
object.bottomBorderRadius = object5;
object.cell = {paddingVertical: 12};
object.labelCell = {'flex': 1, 'justifyContent': 'flex-start'};
object.dataCell = {'flexDirection': 'row', 'justifyContent': 'center', 'alignItems': 'center', 'width': 82};
const PREMIUM_FEATURES_TABLE_HIGHLIGHTED_CELL_BG = (LegacyTokensModule).PREMIUM_FEATURES_TABLE_HIGHLIGHTED_CELL_BG;
object.themedHighlightedCell = {backgroundColor: PREMIUM_FEATURES_TABLE_HIGHLIGHTED_CELL_BG};
object.nitroHomeHightlightedBorderLeftRight = {'borderLeftColor': 'rgba(184, 69, 193, 0.5)', 'borderLeftWidth': 2,
'borderRightColor': 'rgba(184, 69, 193, 0.5)', 'borderRightWidth': 2};
object2.premiumGroupCard = {marginTop: 16};
object2.priceContainer = {alignItems: 'center'};
const env0_12 = Reflect.apply(createStyles, value, [object2]);
object.premiumGroupCard = {marginTop: 16};
object.priceContainer = {alignItems: 'center'};
const env0_12 = Reflect.apply(createStyles, value, [object]);
value = require(4501) /* metro dependency 4501: createStyles */;
createStyles = value.createStyles;
const TEXT_MUTED = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_MUTED;
@@ -51,304 +64,354 @@ function _fun93449(global, require, importDefault, importAll, module, exports, d
return intl.formatToPlainString(EZjXN3, {accessibilityLabel: a0, rowNumber: a1, rowName: a3, columnNumber: a2,
columnName: a4});
};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/premium/native/PremiumFeaturesTable.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/user_settings/premium/native/PremiumFeaturesTable.tsx');
exports.default = _default_93456;
}
function CheckIcon() { // fn#93450, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12391:1240, offset: 0x020b515f, size: 186 bytes, params: 1, frame: 19
const isThemeDark2 = (require(4002) /* metro dependency 4002: shared */).isThemeDark((importDefault(4048) /* metro dependency 4048: useTheme */)());
const unsafe_rawColors = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors;
const r7 = isThemeDark2 ? unsafe_rawColors.WHITE : unsafe_rawColors.PRIMARY_860;
const Icon = (require(1305) /* metro dependency 1305: native */).Icon;
const iconProps = {source: importDefault(12206) /* metro dependency 12206 */, color: r7};
const IconSizes = (require(1305) /* metro dependency 1305: native */).IconSizes;
const SMALL = IconSizes.SMALL;
iconProps.size = SMALL;
return <Icon {...iconProps} />;
}
function CloseIcon() { // fn#93451, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12391:1529, offset: 0x020b5219, size: 106 bytes, params: 1, frame: 19
const styles = useStyles();
const Icon = (require(1305) /* metro dependency 1305: native */).Icon;
const iconProps = {source: importDefault(12207) /* metro dependency 12207 */, style: styles.icon};
const IconSizes = (require(1305) /* metro dependency 1305: native */).IconSizes;
const SMALL = IconSizes.SMALL;
iconProps.size = SMALL;
return <Icon {...iconProps} />;
}
function CellText({text}) { // fn#93452, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12391:1643, offset: 0x020b5283, size: 68 bytes, params: 2, frame: 14
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
return (
<Text variant="text-md/medium" color="mobile-text-heading-primary">
{text}
</Text>
);
}
function Row({label, column1, column2, withBottomBorder, withTopBorderRadius, withBottomBorderRadius, highlightColumn1, disableHighlightColumn2, variant, disableAccessibility, rowName, column1AccessibilityLabel, column2AccessibilityLabel, rowNumber}) { // fn#93454, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12391:1913, offset: 0x020b5333, size: 1097 bytes, params: 2, frame: 48
var r13;
var r21;
var r5;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var object;
var items5;
var object2;
withBottomBorder = withBottomBorder === undefined || withBottomBorder;
withTopBorderRadius = !(withTopBorderRadius === undefined) && withTopBorderRadius;
withBottomBorderRadius = !(withBottomBorderRadius === undefined) && withBottomBorderRadius;
disableHighlightColumn2 = !(disableHighlightColumn2 === undefined) && disableHighlightColumn2;
variant = variant === undefined ? 'default' : variant;
disableAccessibility = !(disableAccessibility === undefined) && disableAccessibility;
const styles = useStyles();
const [property, env0_0] = env0_3(env0_4.useState(0), 2);
const r28 = withBottomBorder ? 1 : 0;
const r24 = withTopBorderRadius ? 2 : 0;
const r27 = withBottomBorderRadius ? 2 : 0;
const viewProps = {style: [styles.row, withBottomBorder && styles.bottomBorder], onLayout: onLayout_93455};
const value14 = !disableAccessibility;
const items3 = [<View style={[styles.labelCell,
styles.cell]} accessible={value14} accessibilityLabel={rowName}>{label}</View>];
items3[1] = <View style={[styles.cell, styles.dataCell, highlightColumn1 && styles.themedHighlightedCell,
withTopBorderRadius && styles.topBorderRadius,
withBottomBorderRadius && styles.bottomBorderRadius]} accessibilityLabel={column1AccessibilityLabel != null ? getAccesibilityLabel(column1AccessibilityLabel,
rowNumber, 1, rowName,
intl.string((require(1244) /* metro dependency 1244: indexNative */).t['t9uG/o'])) : undefined} accessible={value14}>{column1}</View>;
if (variant !== 'nitro_home') {
object2 = {};
r21 = !highlightColumn1 && !disableHighlightColumn2;
r21 = r21 && styles.themedHighlightedCell;
object2.style = [styles.cell, styles.dataCell, r21, withTopBorderRadius && styles.topBorderRadius,
withBottomBorderRadius && styles.bottomBorderRadius];
object2.accessibilityLabel = column2AccessibilityLabel != null ? getAccesibilityLabel(column2AccessibilityLabel,
rowNumber, 2, rowName,
intl.string((require(1244) /* metro dependency 1244: indexNative */).t.lG6a5x)) : undefined;
object2.accessible = value14;
object2.children = column2;
r5 = object2;
} else if (highlightColumn1) {
object2 = {};
r21 = !highlightColumn1 && !disableHighlightColumn2;
r21 = r21 && styles.themedHighlightedCell;
object2.style = [styles.cell, styles.dataCell, r21, withTopBorderRadius && styles.topBorderRadius,
withBottomBorderRadius && styles.bottomBorderRadius];
object2.accessibilityLabel = column2AccessibilityLabel != null ? getAccesibilityLabel(column2AccessibilityLabel,
rowNumber, 2, rowName,
intl.string((require(1244) /* metro dependency 1244: indexNative */).t.lG6a5x)) : undefined;
object2.accessible = value14;
object2.children = column2;
r5 = object2;
} else if (disableHighlightColumn2) {
object2 = {};
r21 = !highlightColumn1 && !disableHighlightColumn2;
r21 = r21 && styles.themedHighlightedCell;
object2.style = [styles.cell, styles.dataCell, r21, withTopBorderRadius && styles.topBorderRadius,
withBottomBorderRadius && styles.bottomBorderRadius];
object2.accessibilityLabel = column2AccessibilityLabel != null ? getAccesibilityLabel(column2AccessibilityLabel,
rowNumber, 2, rowName,
intl.string((require(1244) /* metro dependency 1244: indexNative */).t.lG6a5x)) : undefined;
object2.accessible = value14;
object2.children = column2;
r5 = object2;
} else {
object = {};
r13 = withTopBorderRadius && styles.topBorderRadius;
items5 = [r13];
r13 = withTopBorderRadius && ({'borderTopColor': 'rgba(184, 69, 193, 0.5)', 'borderTopWidth': 2});
items5[1] = r13;
r13 = withBottomBorderRadius && styles.bottomBorderRadius;
items5[2] = r13;
r13 = withBottomBorderRadius && ({'borderBottomColor': 'rgba(184, 69, 193, 0.5)', 'borderBottomWidth': 2});
items5[3] = r13;
items5[4] = styles.nitroHomeHightlightedBorderLeftRight;
items5[5] = {overflow: 'hidden'};
object.style = items5;
object.accessibilityLabel = column2AccessibilityLabel != null ? getAccesibilityLabel(column2AccessibilityLabel,
rowNumber, 2, rowName,
intl.string((require(1244) /* metro dependency 1244: indexNative */).t.lG6a5x)) : undefined;
object.accessible = value14;
object.children = ((Component) => <Component style={[{height: property - (r28 + r24 + r27)},
styles.dataCell]} start={HorizontalGradient.START} end={HorizontalGradient.END} colors={['rgba(133, 71, 198, 0.10)',
'rgba(184, 69, 193, 0.10)',
'rgba(171, 93, 138, 0.10)']}>{column2}</Component>)(importDefault(4589) /* metro dependency 4589 */);
r5 = object;
function CheckIcon() { // fn#93450, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12391:1240, offset: 0x020b515f, size: 186 bytes, params: 1, frame: 19
const isThemeDark2 = (SharedModule).isThemeDark((UseTheme)());
const unsafe_rawColors = (Native).unsafe_rawColors;
const r7 = isThemeDark2 ? unsafe_rawColors.WHITE : unsafe_rawColors.PRIMARY_860;
const Icon = (NativeModule).Icon;
const iconProps = {source: Module12206, color: r7};
const IconSizes = (NativeModule).IconSizes;
const SMALL = IconSizes.SMALL;
iconProps.size = SMALL;
return <Icon {...iconProps} />;
}
items3[2] = <View {...r5} />;
return (
<View {...viewProps}>
{items3}
</View>
);
}
function _default_93456({style, highlightNitroBasic, variant, titleOverride, isFractionalOnly, isPremiumGroup, premiumGroupRole}) { // fn#93456, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12391:3462, offset: 0x020b57a0, size: 3036 bytes, params: 2, frame: 37
if (highlightNitroBasic !== undefined) {
function CloseIcon() { // fn#93451, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12391:1529, offset: 0x020b5219, size: 106 bytes, params: 1, frame: 19
const styles = useStyles();
const Icon = (NativeModule).Icon;
const iconProps = {source: Module12207, style: styles.icon};
const IconSizes = (NativeModule).IconSizes;
const SMALL = IconSizes.SMALL;
iconProps.size = SMALL;
return <Icon {...iconProps} />;
}
if (variant !== undefined) {
}
isPremiumGroup = !(isPremiumGroup === undefined) && isPremiumGroup;
const styles = useStyles();
const value6 = (importDefault(4048) /* metro dependency 4048: useTheme */)();
const defaultImport = importDefault(7942) /* metro dependency 7942: usePremiumPlanPrice */;
const PREMIUM_MONTH_TIER_0 = SubscriptionPlans.PREMIUM_MONTH_TIER_0;
const value7 = defaultImport(PREMIUM_MONTH_TIER_0);
const defaultImport2 = defaultImport;
const PREMIUM_MONTH_TIER_2 = SubscriptionPlans.PREMIUM_MONTH_TIER_2;
const value8 = defaultImport2(PREMIUM_MONTH_TIER_2);
const priceString = value7?.priceString;
const value9 = '$...';
const r16 = priceString ?? value9;
const r4 = value8?.priceString ?? value9;
const premiumUtilsModule = require(3802) /* metro dependency 3802: PremiumUtils */;
let getMaxFileSizeForPremiumType = premiumUtilsModule.getMaxFileSizeForPremiumType;
const TIER_0 = PremiumTypes.TIER_0;
const value10 = Reflect.apply(getMaxFileSizeForPremiumType, premiumUtilsModule, [TIER_0]);
const moduleValue2 = premiumUtilsModule;
getMaxFileSizeForPremiumType = moduleValue2.getMaxFileSizeForPremiumType;
const TIER_2 = PremiumTypes.TIER_2;
const value11 = Reflect.apply(getMaxFileSizeForPremiumType, moduleValue2, [TIER_2]);
let object2 = {};
object2.column1 = ((Component) => <Component style={styles.logo} width={48} height={9} />)(importDefault(12208) /* metro dependency 12208: PremiumTier0LogoSmall */);
object2.column2 = ((Component) => <Component style={styles.logo} width={50} height={9} />)(importDefault(12209) /* metro dependency 12209: PremiumTier2LogoSmall */);
object2.withBottomBorder = false;
object2.disableAccessibility = true;
object2.hidden = !isPremiumGroup;
const items2 = [object2];
object2 = {'column1': null, 'column2': null, 'withBottomBorder': false, 'withTopBorderRadius': true,
'disableAccessibility': true};
const FastImage = importDefault(5475) /* metro dependency 5475: FastImage */;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
object2.column1 = <FastImage accessible accessibilityLabel={Reflect.apply(string, intl,
[(require(1244) /* metro dependency 1244: indexNative */).t['t9uG/o']])} style={styles.logo} source={(require(4002) /* metro dependency 4002: shared */).isThemeDark(value6) ? importDefault(12210) /* metro dependency 12210 */ : importDefault(12211) /* metro dependency 12211 */} />;
object2.column2 = <FastImage accessible accessibilityLabel={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.lG6a5x)} style={styles.logo} source={(require(4002) /* metro dependency 4002: shared */).isThemeDark(value6) ? importDefault(12212) /* metro dependency 12212 */ : importDefault(12213) /* metro dependency 12213 */} />;
object2.hidden = isPremiumGroup;
items2[1] = object2;
object2 = {};
string = intl.string;
let LkKGZ2 = (require(1244) /* metro dependency 1244: indexNative */).t.LkKGZ2;
object2.label = <CellText text={Reflect.apply(string, intl, [LkKGZ2])} />;
string = intl.string;
LkKGZ2 = (require(1244) /* metro dependency 1244: indexNative */).t.LkKGZ2;
object2.rowName = Reflect.apply(string, intl, [LkKGZ2]);
object2.column1 = <View style={styles.priceContainer}>{r16.split(RegExp(' (?=\\()', 'g')).map(_fun93457)}</View>;
object2.column1AccessibilityLabel = r16;
object2.column2 = <View style={styles.priceContainer}>{r4.split(RegExp(' (?=\\()', 'g')).map(_fun93458)}</View>;
object2.column2AccessibilityLabel = r4;
items2[2] = object2;
object2 = {};
string = intl.string;
let ORlUdL = (require(1244) /* metro dependency 1244: indexNative */).t.ORlUdL;
object2.label = <CellText text={Reflect.apply(string, intl, [ORlUdL])} />;
string = intl.string;
ORlUdL = (require(1244) /* metro dependency 1244: indexNative */).t.ORlUdL;
object2.rowName = Reflect.apply(string, intl, [ORlUdL]);
object2.column1 = <CheckIcon />;
object2.column1AccessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['tq+6t/']);
object2.column2 = <CheckIcon />;
object2.column2AccessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['tq+6t/']);
items2[3] = object2;
object2 = {};
object2.label = <CellText text={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['ufhQC+'])} />;
object2.rowName = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['ufhQC+']);
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
object2.column1 = <Text variant="text-md/medium" color="mobile-text-heading-primary">{value10}</Text>;
object2.column1AccessibilityLabel = value10;
object2.column2 = <Text variant="text-md/medium" color="mobile-text-heading-primary">{value11}</Text>;
object2.column2AccessibilityLabel = value11;
items2[4] = object2;
object2 = {};
object2.label = <CellText text={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['svn/YX'])} />;
object2.rowName = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['svn/YX']);
object2.column1 = <CheckIcon />;
object2.column1AccessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['tq+6t/']);
object2.column2 = <CheckIcon />;
object2.column2AccessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['tq+6t/']);
object2.hidden = isFractionalOnly;
items2[5] = object2;
object2 = {};
let formatToPlainString = intl.formatToPlainString;
let DbkNFj = (require(1244) /* metro dependency 1244: indexNative */).t.DbkNFj;
object2.label = <CellText text={Reflect.apply(formatToPlainString, intl, [DbkNFj,
{numBoosts: NUM_FREE_GUILD_BOOSTS_WITH_PREMIUM}])} />;
formatToPlainString = intl.formatToPlainString;
DbkNFj = (require(1244) /* metro dependency 1244: indexNative */).t.DbkNFj;
object2.rowName = Reflect.apply(formatToPlainString, intl, [DbkNFj,
{numBoosts: NUM_FREE_GUILD_BOOSTS_WITH_PREMIUM}]);
object2.column1 = <CloseIcon />;
object2.column1AccessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.l4qZrp);
object2.column2 = <CheckIcon />;
object2.column2AccessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['tq+6t/']);
object2.hidden = isFractionalOnly;
items2[6] = object2;
object2 = {};
object2.label = <CellText text={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['Gv/rQ6'])} />;
object2.rowName = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['Gv/rQ6']);
object2.column1 = <CloseIcon />;
object2.column1AccessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.l4qZrp);
object2.column2 = <CheckIcon />;
object2.column2AccessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['tq+6t/']);
items2[7] = object2;
object2 = {};
object2.label = <CellText text={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.myyAEr)} />;
object2.rowName = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.myyAEr);
object2.column1 = <CloseIcon />;
object2.column1AccessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.l4qZrp);
object2.column2 = <CheckIcon />;
object2.column2AccessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['tq+6t/']);
items2[8] = object2;
object2 = {};
string = intl.string;
let S6yQr8 = (require(1244) /* metro dependency 1244: indexNative */).t.S6yQr8;
object2.label = <CellText text={Reflect.apply(string, intl, [S6yQr8])} />;
string = intl.string;
S6yQr8 = (require(1244) /* metro dependency 1244: indexNative */).t.S6yQr8;
object2.rowName = Reflect.apply(string, intl, [S6yQr8]);
object2.column1 = <CloseIcon />;
object2.column1AccessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.l4qZrp);
object2.column2 = <CheckIcon />;
object2.column2AccessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['tq+6t/']);
items2[9] = object2;
items2[10] = {'withBottomBorder': false, 'withBottomBorderRadius': true, 'disableAccessibility': true};
return (
<View style={[styles.container, style]}>
<Text
style={styles.headerText}
variant="heading-xl/extrabold"
color="mobile-text-heading-primary"
accessibilityRole="header"
>
{titleOverride ?? intl.string((require(1244) /* metro dependency 1244: indexNative */).t.vLz3Zs)}
function CellText({text}) { // fn#93452, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12391:1643, offset: 0x020b5283, size: 68 bytes, params: 2, frame: 14
const Text = (TextModule).Text;
return (
<Text variant="text-md/medium" color="mobile-text-heading-primary">
{text}
</Text>
{isPremiumGroup && premiumGroupRole != null && ((Component) => <Component style={styles.premiumGroupCard} premiumGroupRole={premiumGroupRole} />)(importDefault(12214) /* metro dependency 12214: PremiumGroupFeaturesTableCard */)}
<View style={styles.table}>
{items2.filter(function(a0) {
return a0 != null && !a0.hidden;
}).map(_fun93460)}
);
}
function Row({label, column1, column2, withBottomBorder, withTopBorderRadius, withBottomBorderRadius, highlightColumn1, disableHighlightColumn2, variant, disableAccessibility, rowName, column1AccessibilityLabel, column2AccessibilityLabel, rowNumber}) { // fn#93454, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12391:1913, offset: 0x020b5333, size: 1097 bytes, params: 2, frame: 48
var r13;
var r21;
var r5;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var object;
var items5;
var object4;
withBottomBorder = withBottomBorder === undefined || withBottomBorder;
withTopBorderRadius = !(withTopBorderRadius === undefined) && withTopBorderRadius;
withBottomBorderRadius = !(withBottomBorderRadius === undefined) && withBottomBorderRadius;
disableHighlightColumn2 = !(disableHighlightColumn2 === undefined) && disableHighlightColumn2;
variant = variant === undefined ? 'default' : variant;
disableAccessibility = !(disableAccessibility === undefined) && disableAccessibility;
const styles = useStyles();
const [property, env0_0] = Module00057(ReactModule.useState(0), 2);
const r28 = withBottomBorder ? 1 : 0;
const r24 = withTopBorderRadius ? 2 : 0;
const r27 = withBottomBorderRadius ? 2 : 0;
const viewProps = {style: [styles.row, withBottomBorder && styles.bottomBorder], onLayout: onLayout_93455};
const value14 = !disableAccessibility;
const items3 = [
<View
style={[styles.labelCell, styles.cell]}
accessible={value14}
accessibilityLabel={rowName}
>
{label}
</View>,
];
items3[1] = (
<View
style={[styles.cell, styles.dataCell, highlightColumn1 && styles.themedHighlightedCell,
withTopBorderRadius && styles.topBorderRadius, withBottomBorderRadius && styles.bottomBorderRadius]}
accessibilityLabel={column1AccessibilityLabel != null ? getAccesibilityLabel(column1AccessibilityLabel,
rowNumber, 1, rowName,
intl.string((require(1244) /* metro dependency 1244: indexNative */).t['t9uG/o'])) : undefined}
accessible={value14}
>
{column1}
</View>
</View>
);
}
);
if (variant !== 'nitro_home') {
object4 = {};
r21 = !highlightColumn1 && !disableHighlightColumn2;
r21 = r21 && styles.themedHighlightedCell;
object4.style = [styles.cell, styles.dataCell, r21, withTopBorderRadius && styles.topBorderRadius,
withBottomBorderRadius && styles.bottomBorderRadius];
object4.accessibilityLabel = column2AccessibilityLabel != null ? getAccesibilityLabel(column2AccessibilityLabel,
rowNumber, 2, rowName,
intl.string((require(1244) /* metro dependency 1244: indexNative */).t.lG6a5x)) : undefined;
object4.accessible = value14;
object4.children = column2;
r5 = object4;
} else if (highlightColumn1) {
object4 = {};
r21 = !highlightColumn1 && !disableHighlightColumn2;
r21 = r21 && styles.themedHighlightedCell;
object4.style = [styles.cell, styles.dataCell, r21, withTopBorderRadius && styles.topBorderRadius,
withBottomBorderRadius && styles.bottomBorderRadius];
object4.accessibilityLabel = column2AccessibilityLabel != null ? getAccesibilityLabel(column2AccessibilityLabel,
rowNumber, 2, rowName,
intl.string((require(1244) /* metro dependency 1244: indexNative */).t.lG6a5x)) : undefined;
object4.accessible = value14;
object4.children = column2;
r5 = object4;
} else if (disableHighlightColumn2) {
object4 = {};
r21 = !highlightColumn1 && !disableHighlightColumn2;
r21 = r21 && styles.themedHighlightedCell;
object4.style = [styles.cell, styles.dataCell, r21, withTopBorderRadius && styles.topBorderRadius,
withBottomBorderRadius && styles.bottomBorderRadius];
object4.accessibilityLabel = column2AccessibilityLabel != null ? getAccesibilityLabel(column2AccessibilityLabel,
rowNumber, 2, rowName,
intl.string((require(1244) /* metro dependency 1244: indexNative */).t.lG6a5x)) : undefined;
object4.accessible = value14;
object4.children = column2;
r5 = object4;
} else {
object = {};
r13 = withTopBorderRadius && styles.topBorderRadius;
items5 = [r13];
r13 = withTopBorderRadius && ({'borderTopColor': 'rgba(184, 69, 193, 0.5)', 'borderTopWidth': 2});
items5[1] = r13;
r13 = withBottomBorderRadius && styles.bottomBorderRadius;
items5[2] = r13;
r13 = withBottomBorderRadius && ({'borderBottomColor': 'rgba(184, 69, 193, 0.5)', 'borderBottomWidth': 2});
items5[3] = r13;
items5[4] = styles.nitroHomeHightlightedBorderLeftRight;
items5[5] = {overflow: 'hidden'};
object.style = items5;
object.accessibilityLabel = column2AccessibilityLabel != null ? getAccesibilityLabel(column2AccessibilityLabel,
rowNumber, 2, rowName,
intl.string((require(1244) /* metro dependency 1244: indexNative */).t.lG6a5x)) : undefined;
object.accessible = value14;
object.children = ((Component) => <Component style={[{height: property - (r28 + r24 + r27)},
styles.dataCell]} start={HorizontalGradient.START} end={HorizontalGradient.END} colors={['rgba(133, 71, 198, 0.10)',
'rgba(184, 69, 193, 0.10)',
'rgba(171, 93, 138, 0.10)']}>{column2}</Component>)(importDefault(4589) /* metro dependency 4589 */);
r5 = object;
}
items3[2] = <View {...r5} />;
return (
<View {...viewProps}>
{items3}
</View>
);
function RowOnLayout({nativeEvent}) { // fn#93455, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12391:2322, owner: Row.onLayout, offset: 0x020b577c, size: 36 bytes, params: 2, frame: 11
return env0_0(nativeEvent.layout.height);
}
function RowOnLayout({nativeEvent}) { // fn#93455, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12391:2322, owner: Row.onLayout, offset: 0x020b577c, size: 36 bytes, params: 2, frame: 11
return env0_0(nativeEvent.layout.height);
}
}
function _fun93457(a0) { // fn#93457, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12391:4669, offset: 0x020b637c, size: 31 bytes, params: 2, frame: 15
return <CellText text={a0} key={a0} />;
}
function _default_93456({style, highlightNitroBasic, variant, titleOverride, isFractionalOnly, isPremiumGroup, premiumGroupRole}) { // fn#93456, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12391:3462, offset: 0x020b57a0, size: 3036 bytes, params: 2, frame: 37
if (highlightNitroBasic !== undefined) {
}
if (variant !== undefined) {
}
isPremiumGroup = !(isPremiumGroup === undefined) && isPremiumGroup;
const styles = useStyles();
const value6 = (UseTheme)();
const defaultImport = UsePremiumPlanPrice;
const PREMIUM_MONTH_TIER_0 = SubscriptionPlans.PREMIUM_MONTH_TIER_0;
const value7 = defaultImport(PREMIUM_MONTH_TIER_0);
const defaultImport2 = defaultImport;
const PREMIUM_MONTH_TIER_2 = SubscriptionPlans.PREMIUM_MONTH_TIER_2;
const value8 = defaultImport2(PREMIUM_MONTH_TIER_2);
const priceString = value7?.priceString;
const value9 = '$...';
const r16 = priceString ?? value9;
const r4 = value8?.priceString ?? value9;
let getMaxFileSizeForPremiumType = PremiumUtilsModule.getMaxFileSizeForPremiumType;
const TIER_0 = PremiumTypes.TIER_0;
const value10 = Reflect.apply(getMaxFileSizeForPremiumType, PremiumUtilsModule, [TIER_0]);
getMaxFileSizeForPremiumType = PremiumUtilsModule.getMaxFileSizeForPremiumType;
const TIER_2 = PremiumTypes.TIER_2;
const value11 = Reflect.apply(getMaxFileSizeForPremiumType, PremiumUtilsModule, [TIER_2]);
let object = {};
object.column1 = ((Component) => <Component style={styles.logo} width={48} height={9} />)(importDefault(12208) /* metro dependency 12208: PremiumTier0LogoSmall */);
object.column2 = ((Component) => <Component style={styles.logo} width={50} height={9} />)(importDefault(12209) /* metro dependency 12209: PremiumTier2LogoSmall */);
object.withBottomBorder = false;
object.disableAccessibility = true;
object.hidden = !isPremiumGroup;
const items2 = [object];
object = {'column1': null, 'column2': null, 'withBottomBorder': false, 'withTopBorderRadius': true,
'disableAccessibility': true};
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
object.column1 = (
<FastImage
accessible
accessibilityLabel={Reflect.apply(string, intl,
[(require(1244) /* metro dependency 1244: indexNative */).t['t9uG/o']])}
style={styles.logo}
source={(require(4002) /* metro dependency 4002: shared */).isThemeDark(value6) ? importDefault(12210) /* metro dependency 12210 */ : importDefault(12211) /* metro dependency 12211 */}
/>
);
object.column2 = (
<FastImage
accessible
accessibilityLabel={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.lG6a5x)}
style={styles.logo}
source={(require(4002) /* metro dependency 4002: shared */).isThemeDark(value6) ? importDefault(12212) /* metro dependency 12212 */ : importDefault(12213) /* metro dependency 12213 */}
/>
);
object.hidden = isPremiumGroup;
items2[1] = object;
object = {};
string = intl.string;
let LkKGZ2 = (require(1244) /* metro dependency 1244: indexNative */).t.LkKGZ2;
object.label = <CellText text={Reflect.apply(string, intl, [LkKGZ2])} />;
string = intl.string;
LkKGZ2 = (require(1244) /* metro dependency 1244: indexNative */).t.LkKGZ2;
object.rowName = Reflect.apply(string, intl, [LkKGZ2]);
object.column1 = (
<View style={styles.priceContainer}>
{r16.split(RegExp(' (?=\\()', 'g')).map(_fun93457)}
</View>
);
object.column1AccessibilityLabel = r16;
object.column2 = (
<View style={styles.priceContainer}>
{r4.split(RegExp(' (?=\\()', 'g')).map(_fun93458)}
</View>
);
object.column2AccessibilityLabel = r4;
items2[2] = object;
object = {};
string = intl.string;
let ORlUdL = (require(1244) /* metro dependency 1244: indexNative */).t.ORlUdL;
object.label = <CellText text={Reflect.apply(string, intl, [ORlUdL])} />;
string = intl.string;
ORlUdL = (require(1244) /* metro dependency 1244: indexNative */).t.ORlUdL;
object.rowName = Reflect.apply(string, intl, [ORlUdL]);
object.column1 = <CheckIcon />;
object.column1AccessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['tq+6t/']);
object.column2 = <CheckIcon />;
object.column2AccessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['tq+6t/']);
items2[3] = object;
object = {};
object.label = <CellText text={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['ufhQC+'])} />;
object.rowName = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['ufhQC+']);
const Text = (TextModule).Text;
object.column1 = (
<Text variant="text-md/medium" color="mobile-text-heading-primary">
{value10}
</Text>
);
object.column1AccessibilityLabel = value10;
object.column2 = (
<Text variant="text-md/medium" color="mobile-text-heading-primary">
{value11}
</Text>
);
object.column2AccessibilityLabel = value11;
items2[4] = object;
object = {};
object.label = <CellText text={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['svn/YX'])} />;
object.rowName = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['svn/YX']);
object.column1 = <CheckIcon />;
object.column1AccessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['tq+6t/']);
object.column2 = <CheckIcon />;
object.column2AccessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['tq+6t/']);
object.hidden = isFractionalOnly;
items2[5] = object;
object = {};
let formatToPlainString = intl.formatToPlainString;
let DbkNFj = (require(1244) /* metro dependency 1244: indexNative */).t.DbkNFj;
object.label = (
<CellText
text={Reflect.apply(formatToPlainString, intl, [DbkNFj, {numBoosts: NUM_FREE_GUILD_BOOSTS_WITH_PREMIUM}])}
/>
);
formatToPlainString = intl.formatToPlainString;
DbkNFj = (require(1244) /* metro dependency 1244: indexNative */).t.DbkNFj;
object.rowName = Reflect.apply(formatToPlainString, intl, [DbkNFj, {numBoosts: NUM_FREE_GUILD_BOOSTS_WITH_PREMIUM}]);
object.column1 = <CloseIcon />;
object.column1AccessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.l4qZrp);
object.column2 = <CheckIcon />;
object.column2AccessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['tq+6t/']);
object.hidden = isFractionalOnly;
items2[6] = object;
object = {};
object.label = <CellText text={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['Gv/rQ6'])} />;
object.rowName = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['Gv/rQ6']);
object.column1 = <CloseIcon />;
object.column1AccessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.l4qZrp);
object.column2 = <CheckIcon />;
object.column2AccessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['tq+6t/']);
items2[7] = object;
object = {};
object.label = <CellText text={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.myyAEr)} />;
object.rowName = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.myyAEr);
object.column1 = <CloseIcon />;
object.column1AccessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.l4qZrp);
object.column2 = <CheckIcon />;
object.column2AccessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['tq+6t/']);
items2[8] = object;
object = {};
string = intl.string;
let S6yQr8 = (require(1244) /* metro dependency 1244: indexNative */).t.S6yQr8;
object.label = <CellText text={Reflect.apply(string, intl, [S6yQr8])} />;
string = intl.string;
S6yQr8 = (require(1244) /* metro dependency 1244: indexNative */).t.S6yQr8;
object.rowName = Reflect.apply(string, intl, [S6yQr8]);
object.column1 = <CloseIcon />;
object.column1AccessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.l4qZrp);
object.column2 = <CheckIcon />;
object.column2AccessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['tq+6t/']);
items2[9] = object;
items2[10] = {'withBottomBorder': false, 'withBottomBorderRadius': true, 'disableAccessibility': true};
return (
<View style={[styles.container, style]}>
<Text
style={styles.headerText}
variant="heading-xl/extrabold"
color="mobile-text-heading-primary"
accessibilityRole="header"
>
{titleOverride ?? intl.string((require(1244) /* metro dependency 1244: indexNative */).t.vLz3Zs)}
</Text>
{isPremiumGroup && premiumGroupRole != null && ((Component) => <Component style={styles.premiumGroupCard} premiumGroupRole={premiumGroupRole} />)(importDefault(12214) /* metro dependency 12214: PremiumGroupFeaturesTableCard */)}
<View style={styles.table}>
{items2.filter(function(a0) {
return a0 != null && !a0.hidden;
}).map(_fun93460)}
</View>
</View>
);
function _fun93457(a0) { // fn#93457, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12391:4669, offset: 0x020b637c, size: 31 bytes, params: 2, frame: 15
return <CellText text={a0} key={a0} />;
}
function _fun93458(a0) { // fn#93458, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12391:4797, offset: 0x020b637c, size: 31 bytes, params: 2, frame: 15
return <CellText text={a0} key={a0} />;
}
function _fun93460(a0, a1) { // fn#93460, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12391:7613, offset: 0x020b63b2, size: 92 bytes, params: 3, frame: 17
return (
<Row
{...a0}
{...{['highlightColumn1']: highlightNitroBasic}}
{...{['disableHighlightColumn2']: isPremiumGroup}}
{...{['variant']: variant}}
{...{['rowNumber']: a1}}
key={a1}
/>
);
}
}
function _fun93460(a0, a1) { // fn#93460, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12391:7613, offset: 0x020b63b2, size: 92 bytes, params: 3, frame: 17
return (
<Row
{...a0}
{...{['highlightColumn1']: highlightNitroBasic}}
{...{['disableHighlightColumn2']: isPremiumGroup}}
{...{['variant']: variant}}
{...{['rowNumber']: a1}}
key={a1}
/>
);
}
global.__d(_fun93449, 12205, [57, 31, 27, 661, 1880, 33, 4501, 697, 6235, 4048, 4002, 1305, 12206, 12207, 4573,
1244, 4589, 7942, 3802, 12208, 12209, 5475, 12210, 12211, 12212, 12213, 12214,
2]) /* metro module 12205, dependencies: [57, 31, 27, 661, 1880, 33, 4501, 697, 6235, 4048, 4002, 1305, 12206, 12207, 4573, 1244, 4589, 7942, 3802, 12208, 12209, 5475, 12210, 12211, 12212, 12213, 12214, 2] */;
@@ -1,59 +1,62 @@
/* Metro module 7966; source: modules/user_settings/premium/native/PremiumFeaturesWumpus.tsx; dependencies: [31, 1880, 33, 4501, 7556, 7250, 7967, 7968, 7969, 7970, 7252, 5475, 2] */
import FastImage from '../../../../components_native/common/FastImage.tsx'; /* Metro dependency 5475 */
import UseIsWindowLarge from '../../../screen/native/useIsWindowLarge.tsx'; /* Metro dependency 7556 */
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 PremiumConstantsModule from '../../../premium/PremiumConstants.tsx'; /* Metro dependency 1880 */
import * as CreateStylesModule from '../../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */
function _fun63445(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#63445, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8144:6, offset: 0x01b7fb6e, size: 271 bytes, params: 8, frame: 21
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importAll(31) /* metro dependency 31 */;
const env0_3 = (require(1880) /* metro dependency 1880: PremiumConstants */).PremiumTypes;
const value = require(33) /* metro dependency 33 */;
const env0_4 = value.jsx;
const env0_5 = value.Fragment;
const env0_6 = value.jsxs;
const env0_7 = (require(4501) /* metro dependency 4501: createStyles */).createStyles({clouds: {'position': 'absolute',
const env0_7 = (CreateStylesModule).createStyles({clouds: {'position': 'absolute',
'top': 0, 'right': 0}, wumpus: {'position': 'absolute', 'top': 22, 'right': 22, 'height': 90},
wumpusLeft: {transform: [{scaleX: -1}]}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/premium/native/PremiumFeaturesWumpus.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/user_settings/premium/native/PremiumFeaturesWumpus.tsx');
exports.default = PremiumFeaturesWumpus;
}
function PremiumFeaturesWumpus({premiumType, style}) { // fn#63446, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8144:437, offset: 0x01b7fc7d, size: 259 bytes, params: 2, frame: 27
const styles = useStyles();
const {wumpusImageSource, cloudsImageSource} = ReactModule.useMemo(_fun63447, [premiumType,
(UseIsWindowLarge)()]);
const jsxRuntimeEnv0_5Binding = jsxRuntimeEnv0_5;
const value4 = ((Component) => <Component style={styles.clouds} resizeMode="contain" source={cloudsImageSource} />)(FastImage);
const TIER_0 = PremiumTypes.TIER_0;
return (
<>
{value4}
<FastImage
style={[styles.wumpus, premiumType === TIER_0 && styles.wumpusLeft, style]}
resizeMode="contain"
source={wumpusImageSource}
/>
</>
);
function _fun63447() { // fn#63447, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8144:528, offset: 0x01b7fd80, size: 167 bytes, params: 1, frame: 16
var r0;
var object;
var defaultImport;
const premiumTypeBinding = premiumType;
const TIER_0 = PremiumTypes.TIER_0;
if (premiumTypeBinding === TIER_0) {
object = {};
object.wumpusImageSource = importDefault(dependencyMap[5]);
object.cloudsImageSource = importDefault(env0_1 ? dependencyMap[6] : dependencyMap[7]);
r0 = object;
} else {
r0 = env0_1 ? dependencyMap[8] : dependencyMap[9];
defaultImport = importDefault(r0);
object = {};
object.wumpusImageSource = importDefault(dependencyMap[10]);
object.cloudsImageSource = defaultImport;
r0 = object;
}
return r0;
}
function PremiumFeaturesWumpus({premiumType, style}) { // fn#63446, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8144:437, offset: 0x01b7fc7d, size: 259 bytes, params: 2, frame: 27
const styles = useStyles();
const {wumpusImageSource, cloudsImageSource} = env0_2.useMemo(_fun63447, [premiumType,
(importDefault(7556) /* metro dependency 7556: useIsWindowLarge */)()]);
const jsxRuntimeEnv0_5Binding = jsxRuntimeEnv0_5;
const value4 = ((Component) => <Component style={styles.clouds} resizeMode="contain" source={cloudsImageSource} />)(importDefault(5475) /* metro dependency 5475: FastImage */);
const FastImage = importDefault(5475) /* metro dependency 5475: FastImage */;
const TIER_0 = PremiumTypes.TIER_0;
return (
<>
{value4}
<FastImage
style={[styles.wumpus, premiumType === TIER_0 && styles.wumpusLeft, style]}
resizeMode="contain"
source={wumpusImageSource}
/>
</>
);
}
function _fun63447() { // fn#63447, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8144:528, offset: 0x01b7fd80, size: 167 bytes, params: 1, frame: 16
var r0;
var object2;
var defaultImport;
const premiumTypeBinding = premiumType;
const TIER_0 = PremiumTypes.TIER_0;
if (premiumTypeBinding === TIER_0) {
object2 = {};
object2.wumpusImageSource = importDefault(dependencyMap[5]);
object2.cloudsImageSource = importDefault(env0_1 ? dependencyMap[6] : dependencyMap[7]);
r0 = object2;
} else {
r0 = env0_1 ? dependencyMap[8] : dependencyMap[9];
defaultImport = importDefault(r0);
object2 = {};
object2.wumpusImageSource = importDefault(dependencyMap[10]);
object2.cloudsImageSource = defaultImport;
r0 = object2;
}
return r0;
}
global.__d(_fun63445, 7966, [31, 1880, 33, 4501, 7556, 7250, 7967, 7968, 7969, 7970, 7252, 5475,
2]) /* metro module 7966, dependencies: [31, 1880, 33, 4501, 7556, 7250, 7967, 7968, 7969, 7970, 7252, 5475, 2] */;
File diff suppressed because it is too large. Load diff
@@ -1,14 +1,19 @@
/* Metro module 13498; source: modules/user_settings/premium/native/PremiumManagePlanScreen.tsx; dependencies: [31, 33, 12224, 2] */
import PremiumManagePlan from './PremiumManagePlan.tsx'; /* Metro dependency 12224 */
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 */
function _fun102555(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#102555, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13688:6, offset: 0x02240d01, size: 134 bytes, params: 8, frame: 18
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
const env0_2 = (require(33) /* metro dependency 33 */).jsx;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/premium/native/PremiumManagePlanScreen.tsx');
ReactModule;
(FileImportTrackerModule).fileFinishedImporting('modules/user_settings/premium/native/PremiumManagePlanScreen.tsx');
exports.default = PremiumPlanSelectSettingScreen;
function PremiumPlanSelectSettingScreen() { // fn#102556, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13688:226, offset: 0x02240d87, size: 39 bytes, params: 1, frame: 13
return ((Component) => <Component />)(PremiumManagePlan);
}
}
function PremiumPlanSelectSettingScreen() { // fn#102556, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13688:226, offset: 0x02240d87, size: 39 bytes, params: 1, frame: 13
return ((Component) => <Component />)(importDefault(12224) /* metro dependency 12224: PremiumManagePlan */);
}
global.__d(_fun102555, 13498, [31, 33, 12224, 2]) /* metro module 13498, dependencies: [31, 33, 12224, 2] */;
@@ -1,208 +1,258 @@
/* Metro module 12195; source: modules/user_settings/premium/native/PremiumMarketingPage.tsx; dependencies: [57, 31, 27, 661, 1376, 7553, 1880, 33, 4501, 697, 6235, 12189, 12190, 1484, 6771, 7582, 7583, 3968, 1365, 1367, 12104, 1244, 11808, 3802, 5180, 7260, 9011, 683, 12196, 4573, 12199, 7586, 7940, 12200, 12205, 12222, 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 UseFractionalPremiumInfo from '../../../billing/hooks/useFractionalPremiumInfo.tsx'; /* Metro dependency 5180 */
import UseAnalyticsLocations from '../../../app_analytics/useAnalyticsLocations.tsx'; /* Metro dependency 6771 */
import UserSettingsAccountUnverifiedHeader from '../../account/native/UserSettingsAccountUnverifiedHeader.tsx'; /* Metro dependency 9011 */
import PremiumFeaturesTable from './PremiumFeaturesTable.tsx'; /* Metro dependency 12205 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as ConstantsModule from '../../../../Constants.tsx'; /* Metro dependency 661 */
import * as Dismissible_contentModule from '../../../../external/discord_common/js/packages/protos/discord_protos/discord_users/v1/dismissible_content.tsx'; /* Metro dependency 1365 */
import * as DismissibleContentConstantsModule from '../../../dismissible_content/DismissibleContentConstants.tsx'; /* Metro dependency 1376 */
import * as UseNavigationNativeModule from '../../../../design/components/Navigator/native/useNavigation.native.tsx'; /* Metro dependency 1484 */
import * as PremiumConstantsModule from '../../../premium/PremiumConstants.tsx'; /* Metro dependency 1880 */
import * as LegacyTokensModule from '../../../../design/migrations/native/LegacyTokens.tsx'; /* Metro dependency 6235 */
import * as PremiumBogoPromotionUtilsCommonModule from '../../../premium/PremiumBogoPromotionUtilsCommon.tsx'; /* Metro dependency 7260 */
import * as YouBarConstantsModule from '../../../main_tabs_v2/native/YouBarConstants.tsx'; /* Metro dependency 7553 */
import * as UsePromotionMarketingComponentModule from '../../../premium/hooks/usePromotionMarketingComponent.tsx'; /* Metro dependency 7582 */
import * as MarketingComponentTypeModule from '../../../../external/discord_common/js/shared/shared-constants/MarketingComponentType.tsx'; /* Metro dependency 7583 */
import * as UseCommonTriggerPointModule from '../../../experiments/trigger_points/useCommonTriggerPoint.tsx'; /* Metro dependency 12189 */
import * as OpenNitroTriggerPointModule from '../../../experiments/trigger_points/OpenNitroTriggerPoint.tsx'; /* Metro dependency 12190 */
function _fun93413(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#93413, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12381:6, offset: 0x020b2c9a, size: 581 bytes, params: 8, frame: 21
var object2;
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 */;
let value = require(27) /* metro dependency 27 */;
let value = ReactNativeModule;
const env0_5 = value.View;
const env0_6 = value.ScrollView;
const env0_7 = (require(661) /* metro dependency 661: Constants */).AnalyticEvents;
const env0_8 = (require(1376) /* metro dependency 1376: DismissibleContentConstants */).ContentDismissActionType;
const env0_9 = (require(7553) /* metro dependency 7553: YouBarConstants */).useYouBarSettingsCustomHeaderPaddingTop;
const env0_10 = (require(1880) /* metro dependency 1880: PremiumConstants */).FractionalPremiumStates;
value = require(33) /* metro dependency 33 */;
const env0_11 = value.jsx;
const env0_12 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object2 = {};
object2.container = {display: 'flex'};
object2.scrollContainer = {'flexDirection': 'column', 'alignItems': 'center', 'marginTop': 16};
const TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_DEFAULT;
object2.arrowIcon = {tintColor: TEXT_DEFAULT};
object2.backButton = {'transform': null, 'position': 'absolute', 'left': 16, transform: [{scaleX: -1}]};
object2.sectionWithTopMargin = {marginTop: 48};
object2.sectionWithPadding = {paddingHorizontal: 12};
object2.sectionWidth = {maxWidth: 464};
object2.accountCreditContainer = {width: '100%'};
object2.accountCreditContainerWithSpacing = {'marginTop': 24, 'marginBottom': 20};
const DARK_PRIMARY_700_LIGHT_WHITE_500 = (require(6235) /* metro dependency 6235: LegacyTokens */).DARK_PRIMARY_700_LIGHT_WHITE_500;
object2.themedBackground = {backgroundColor: DARK_PRIMARY_700_LIGHT_WHITE_500};
const TIER_0_MARKETING_PAGE_BACK_BUTTON_BG = (require(6235) /* metro dependency 6235: LegacyTokens */).TIER_0_MARKETING_PAGE_BACK_BUTTON_BG;
object2.backButtonBackground = {backgroundColor: TIER_0_MARKETING_PAGE_BACK_BUTTON_BG};
object2.promotionCardHeader = {'marginBottom': 16, 'marginHorizontal': 'auto', 'textAlign': 'center'};
const env0_13 = Reflect.apply(createStyles, value, [object2]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/premium/native/PremiumMarketingPage.tsx');
object = {};
object.container = {display: 'flex'};
object.scrollContainer = {'flexDirection': 'column', 'alignItems': 'center', 'marginTop': 16};
const TEXT_DEFAULT = (Native).colors.TEXT_DEFAULT;
object.arrowIcon = {tintColor: TEXT_DEFAULT};
object.backButton = {'transform': null, 'position': 'absolute', 'left': 16, transform: [{scaleX: -1}]};
object.sectionWithTopMargin = {marginTop: 48};
object.sectionWithPadding = {paddingHorizontal: 12};
object.sectionWidth = {maxWidth: 464};
object.accountCreditContainer = {width: '100%'};
object.accountCreditContainerWithSpacing = {'marginTop': 24, 'marginBottom': 20};
const DARK_PRIMARY_700_LIGHT_WHITE_500 = (LegacyTokensModule).DARK_PRIMARY_700_LIGHT_WHITE_500;
object.themedBackground = {backgroundColor: DARK_PRIMARY_700_LIGHT_WHITE_500};
const TIER_0_MARKETING_PAGE_BACK_BUTTON_BG = (LegacyTokensModule).TIER_0_MARKETING_PAGE_BACK_BUTTON_BG;
object.backButtonBackground = {backgroundColor: TIER_0_MARKETING_PAGE_BACK_BUTTON_BG};
object.promotionCardHeader = {'marginBottom': 16, 'marginHorizontal': 'auto', 'textAlign': 'center'};
const env0_13 = Reflect.apply(createStyles, value, [object]);
(FileImportTrackerModule).fileFinishedImporting('modules/user_settings/premium/native/PremiumMarketingPage.tsx');
exports.default = _default_93414;
function _default_93414({userHasSubscription, subscriptionDetails, billingInfo, accountCredit, applicationId, onClose, premiumFeatureCardOrder, entitlements, onPaymentSuccess, onPaymentDismiss}) { // fn#93414, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12381:1024, offset: 0x020b2edf, size: 1768 bytes, params: 2, frame: 40
var r23;
var r9;
var CircularIconButton;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var properties;
var MarketingPageBannerTile;
var items9;
var object3;
const useCommonTriggerPoint = UseCommonTriggerPointModule.useCommonTriggerPoint;
const OpenNitroTriggerPoint = (OpenNitroTriggerPointModule).OpenNitroTriggerPoint;
Reflect.apply(useCommonTriggerPoint, UseCommonTriggerPointModule, [OpenNitroTriggerPoint]);
const styles = useStyles();
const value2 = useYouBarSettingsCustomHeaderPaddingTop('PremiumMarketingPage');
const value3 = (UseNavigationNativeModule).useNavigation();
const env0_2 = (UseAnalyticsLocations)().analyticsLocations;
const binding = env0_4;
var [env0_3, env0_4] = env0_3Binding(binding.useState(false), 2);
const useLayoutEffect = binding.useLayoutEffect;
const items = [value3, userHasSubscription];
Reflect.apply(useLayoutEffect, binding, [_fun93415, items]);
let usePromotionMarketingComponent = UsePromotionMarketingComponentModule.usePromotionMarketingComponent;
const MarketingComponentType = (MarketingComponentTypeModule).MarketingComponentType;
const PREMIUM_TAB = MarketingComponentType.PREMIUM_TAB;
binding.useEffect(_fun93416, [Reflect.apply(usePromotionMarketingComponent, UsePromotionMarketingComponentModule,
[PREMIUM_TAB])]);
const env0_6 = onClose ?? _fun93417;
const value9 = !userHasSubscription;
if (userHasSubscription) {
r23 = value9;
} else {
CircularIconButton = (require(12104) /* metro dependency 12104: IconButton */).CircularIconButton;
r23 = (
<CircularIconButton
style={[styles.backButton, styles.backButtonBackground]}
accessibilityLabel={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['13/7kX'])}
source={importDefault(11808) /* metro dependency 11808 */}
size={(require(12104) /* metro dependency 12104: IconButton */).CircularIconButton.Sizes.MEDIUM_32}
iconStyle={styles.arrowIcon}
onPress={onPress_93418}
/>
);
}
const r13 = entitlements != null && (importDefault(3802) /* metro dependency 3802: PremiumUtils */).hasAccountCredit(entitlements);
const value12 = (UseFractionalPremiumInfo)({forceFetch: true});
const value13 = (PremiumBogoPromotionUtilsCommonModule).useIsEligibleForBogoPromotion();
usePromotionMarketingComponent = UsePromotionMarketingComponentModule.usePromotionMarketingComponent;
const MARKETING_PAGE_BANNER = MarketingComponentType.MARKETING_PAGE_BANNER;
const value14 = Reflect.apply(usePromotionMarketingComponent, UsePromotionMarketingComponentModule, [MARKETING_PAGE_BANNER]);
const items2 = [styles.container];
items2[1] = styles.themedBackground;
items2[2] = {paddingTop: userHasSubscription ? 0 : value2};
const value15 = ((Component) => <Component />)(UserSettingsAccountUnverifiedHeader);
const scrollViewBindingProps = {contentContainerStyle: styles.scrollContainer, onScroll: onScroll_93419,
scrollEventThrottle: 0, showsVerticalScrollIndicator: false};
const items4 = [r23, subscriptionDetails, billingInfo];
items4[3] = (
r13
? (
<View
style={[styles.accountCreditContainer,
userHasSubscription ? {} : styles.accountCreditContainerWithSpacing]}
>
{accountCredit}
</View>
)
: null
);
items4[4] = ((Component) => <Component style={[userHasSubscription ? styles.sectionWithTopMargin : {},
styles.sectionWidth]} />)(importDefault(12196) /* metro dependency 12196: Header */);
items4[5] = value13 && <View style={[styles.sectionWithPadding,
styles.sectionWidth]}>{((Text) => <Text style={styles.promotionCardHeader} variant="heading-xl/extrabold" color="mobile-text-heading-primary">{intl.string((require(1244) /* metro dependency 1244: indexNative */).t['QPC/ee'])}</Text>)((require(4573) /* metro dependency 4573: Text */).Text)}</View>;
items4[6] = value13 && ((Component) => <Component style={[styles.sectionWithPadding,
styles.sectionWidth]} applicationId={applicationId} onPaymentSuccess={onPaymentSuccess} onPaymentDismiss={onPaymentDismiss} />)(importDefault(12199) /* metro dependency 12199: PremiumPromotionCard */);
const value19 = value14 != null;
if (value19) {
properties = value14.properties;
properties = properties.properties;
r9 = properties.oneofKind === 'marketingPageBanner';
} else {
r9 = value19;
}
if (r9) {
MarketingPageBannerTile = importDefault(7586) /* metro dependency 7586: MarketingPageBannerTile */;
items9 = [styles.sectionWithPadding];
items9[1] = styles.sectionWidth;
object3 = {};
object3.marginBottom = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
items9[2] = object3;
properties = value14.properties;
properties = properties.properties;
r9 = (
<MarketingPageBannerTile
style={items9}
bannerFields={properties.marketingPageBanner}
analyticsPage="Marketing Page Banner Tile"
onPaymentSuccess={onPaymentSuccess}
onPaymentDismiss={onPaymentDismiss}
componentId={value14.id}
/>
);
}
items4[7] = r9;
items4[8] = ((Component) => <Component style={[styles.sectionWithPadding,
styles.sectionWidth]} order={premiumFeatureCardOrder} applicationId={applicationId} onPaymentSuccess={onPaymentSuccess} onPaymentDismiss={onPaymentDismiss} />)(importDefault(7940) /* metro dependency 7940: PremiumFeaturesCards */);
items4[9] = ((Component) => <Component style={[styles.sectionWithTopMargin,
styles.sectionWidth]} />)(importDefault(12200) /* metro dependency 12200: PremiumFeaturesCarouselSection */);
const fractionalState = value12.fractionalState;
const FP_ONLY = FractionalPremiumStates.FP_ONLY;
items4[10] = (
<PremiumFeaturesTable
style={[styles.sectionWithTopMargin, styles.sectionWithPadding, styles.sectionWidth]}
isFractionalOnly={fractionalState === FP_ONLY}
/>
);
items4[11] = ((Component) => <Component style={[styles.sectionWithTopMargin, styles.sectionWithPadding,
styles.sectionWidth]} showSubscribeButton={value9} />)(importDefault(12222) /* metro dependency 12222: Footer */);
return (
<View style={items2}>
{value15}
<ScrollView {...scrollViewBindingProps}>
{items4}
</ScrollView>
</View>
);
function _fun93415() { // fn#93415, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12381:1428, offset: 0x020b35c7, size: 33 bytes, params: 1, frame: 12
env0_1.setOptions({headerShown: userHasSubscription});
}
function _fun93416() { // fn#93416, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12381:1576, offset: 0x020b35e8, size: 222 bytes, params: 1, frame: 18
var r1;
var properties;
var value4;
var moduleValue;
const DismissibleContent = (Dismissible_contentModule).DismissibleContent;
var value5;
var moduleValue2;
const value2 = env0_5 == null;
if (value2) {
r1 = value2;
} else {
properties = env0_5.properties;
properties = properties.properties;
r1 = properties.oneofKind !== 'premiumTab';
}
if (!r1) {
value4 = environment.__proto__;
moduleValue = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
r1 = moduleValue.UNSAFE_isSnowflakeBoundDismissibleContentDismissed(DismissibleContent.PREMIUM_TAB_MARKETING_MOMENT_OFFER_BADGE,
env0_5.promotionId).isDismissed;
}
if (!r1) {
value5 = environment.__proto__;
moduleValue2 = require(1367) /* metro dependency 1367: DismissibleContentUtils */;
moduleValue2.markSnowflakeBoundDismissibleContentAsDismissed(DismissibleContent.PREMIUM_TAB_MARKETING_MOMENT_OFFER_BADGE,
env0_5.promotionId, {dismissAction: ContentDismissActionType.AUTO_DISMISS});
}
}
function _fun93417() { // fn#93417, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12381:1992, offset: 0x020b36c6, size: 19 bytes, params: 1, frame: 9
return env0_1.pop();
}
function _default_93414OnPress() { // fn#93418, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12381:2242, owner: _default_93414.onPress, offset: 0x020b36d9, size: 15 bytes, params: 1, frame: 9
return env0_6();
}
function _default_93414OnScroll({nativeEvent}) { // fn#93419, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12381:2609, owner: _default_93414.onScroll, offset: 0x020b36e8, size: 135 bytes, params: 2, frame: 16
var r1;
var height;
var value2;
var value4;
var defaultImport;
const layoutMeasurement = nativeEvent.layoutMeasurement;
const contentOffset = nativeEvent.contentOffset;
const contentSize = nativeEvent.contentSize;
const binding = env0_3;
if (binding) {
r1 = binding;
} else {
height = layoutMeasurement.height;
value2 = height + contentOffset.y;
height = contentSize.height;
r1 = value2 < height;
}
if (!r1) {
value4 = environment.__proto__;
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport.track(AnalyticEvents.PREMIUM_MARKETING_SURFACE_REACHED_BOTTOM,
{location_stack: analyticsLocations});
env0_4(true);
}
}
}
}
function _default_93414({userHasSubscription, subscriptionDetails, billingInfo, accountCredit, applicationId, onClose, premiumFeatureCardOrder, entitlements, onPaymentSuccess, onPaymentDismiss}) { // fn#93414, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12381:1024, offset: 0x020b2edf, size: 1768 bytes, params: 2, frame: 40
var r23;
var r9;
var CircularIconButton;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var properties;
var MarketingPageBannerTile;
var items9;
var object2;
const useCommonTriggerPointModule = require(12189) /* metro dependency 12189: useCommonTriggerPoint */;
const useCommonTriggerPoint = useCommonTriggerPointModule.useCommonTriggerPoint;
const OpenNitroTriggerPoint = (require(12190) /* metro dependency 12190: OpenNitroTriggerPoint */).OpenNitroTriggerPoint;
Reflect.apply(useCommonTriggerPoint, useCommonTriggerPointModule, [OpenNitroTriggerPoint]);
const styles = useStyles();
const value2 = useYouBarSettingsCustomHeaderPaddingTop('PremiumMarketingPage');
const value3 = (require(1484) /* metro dependency 1484: useNavigationNative */).useNavigation();
const env0_2 = (importDefault(6771) /* metro dependency 6771: useAnalyticsLocations */)().analyticsLocations;
const binding = env0_4;
var [env0_3, env0_4] = env0_3Binding(binding.useState(false), 2);
const useLayoutEffect = binding.useLayoutEffect;
const items = [value3, userHasSubscription];
Reflect.apply(useLayoutEffect, binding, [_fun93415, items]);
const usePromotionMarketingComponentModule = require(7582) /* metro dependency 7582: usePromotionMarketingComponent */;
let usePromotionMarketingComponent = usePromotionMarketingComponentModule.usePromotionMarketingComponent;
const MarketingComponentType = (require(7583) /* metro dependency 7583: MarketingComponentType */).MarketingComponentType;
const PREMIUM_TAB = MarketingComponentType.PREMIUM_TAB;
binding.useEffect(_fun93416, [Reflect.apply(usePromotionMarketingComponent, usePromotionMarketingComponentModule,
[PREMIUM_TAB])]);
const env0_6 = onClose ?? _fun93417;
const value9 = !userHasSubscription;
if (userHasSubscription) {
r23 = value9;
} else {
CircularIconButton = (require(12104) /* metro dependency 12104: IconButton */).CircularIconButton;
r23 = <CircularIconButton style={[styles.backButton,
styles.backButtonBackground]} accessibilityLabel={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['13/7kX'])} source={importDefault(11808) /* metro dependency 11808 */} size={(require(12104) /* metro dependency 12104: IconButton */).CircularIconButton.Sizes.MEDIUM_32} iconStyle={styles.arrowIcon} onPress={onPress_93418} />;
}
const r13 = entitlements != null && (importDefault(3802) /* metro dependency 3802: PremiumUtils */).hasAccountCredit(entitlements);
const value12 = (importDefault(5180) /* metro dependency 5180: useFractionalPremiumInfo */)({forceFetch: true});
const value13 = (require(7260) /* metro dependency 7260: PremiumBogoPromotionUtilsCommon */).useIsEligibleForBogoPromotion();
const moduleValue5 = usePromotionMarketingComponentModule;
usePromotionMarketingComponent = moduleValue5.usePromotionMarketingComponent;
const MARKETING_PAGE_BANNER = MarketingComponentType.MARKETING_PAGE_BANNER;
const value14 = Reflect.apply(usePromotionMarketingComponent, moduleValue5, [MARKETING_PAGE_BANNER]);
const items2 = [styles.container];
items2[1] = styles.themedBackground;
items2[2] = {paddingTop: userHasSubscription ? 0 : value2};
const value15 = ((Component) => <Component />)(importDefault(9011) /* metro dependency 9011: UserSettingsAccountUnverifiedHeader */);
const scrollViewBindingProps = {contentContainerStyle: styles.scrollContainer, onScroll: onScroll_93419,
scrollEventThrottle: 0, showsVerticalScrollIndicator: false};
const items4 = [r23, subscriptionDetails, billingInfo];
items4[3] = r13 ? <View style={[styles.accountCreditContainer,
userHasSubscription ? {} : styles.accountCreditContainerWithSpacing]}>{accountCredit}</View> : null;
items4[4] = ((Component) => <Component style={[userHasSubscription ? styles.sectionWithTopMargin : {},
styles.sectionWidth]} />)(importDefault(12196) /* metro dependency 12196: Header */);
items4[5] = value13 && <View style={[styles.sectionWithPadding,
styles.sectionWidth]}>{((Text) => <Text style={styles.promotionCardHeader} variant="heading-xl/extrabold" color="mobile-text-heading-primary">{intl.string((require(1244) /* metro dependency 1244: indexNative */).t['QPC/ee'])}</Text>)((require(4573) /* metro dependency 4573: Text */).Text)}</View>;
items4[6] = value13 && ((Component) => <Component style={[styles.sectionWithPadding,
styles.sectionWidth]} applicationId={applicationId} onPaymentSuccess={onPaymentSuccess} onPaymentDismiss={onPaymentDismiss} />)(importDefault(12199) /* metro dependency 12199: PremiumPromotionCard */);
const value19 = value14 != null;
if (value19) {
properties = value14.properties;
properties = properties.properties;
r9 = properties.oneofKind === 'marketingPageBanner';
} else {
r9 = value19;
}
if (r9) {
MarketingPageBannerTile = importDefault(7586) /* metro dependency 7586: MarketingPageBannerTile */;
items9 = [styles.sectionWithPadding];
items9[1] = styles.sectionWidth;
object2 = {};
object2.marginBottom = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
items9[2] = object2;
properties = value14.properties;
properties = properties.properties;
r9 = <MarketingPageBannerTile style={items9} bannerFields={properties.marketingPageBanner} analyticsPage="Marketing Page Banner Tile" onPaymentSuccess={onPaymentSuccess} onPaymentDismiss={onPaymentDismiss} componentId={value14.id} />;
}
items4[7] = r9;
items4[8] = ((Component) => <Component style={[styles.sectionWithPadding,
styles.sectionWidth]} order={premiumFeatureCardOrder} applicationId={applicationId} onPaymentSuccess={onPaymentSuccess} onPaymentDismiss={onPaymentDismiss} />)(importDefault(7940) /* metro dependency 7940: PremiumFeaturesCards */);
items4[9] = ((Component) => <Component style={[styles.sectionWithTopMargin,
styles.sectionWidth]} />)(importDefault(12200) /* metro dependency 12200: PremiumFeaturesCarouselSection */);
const PremiumFeaturesTable = importDefault(12205) /* metro dependency 12205: PremiumFeaturesTable */;
const fractionalState = value12.fractionalState;
const FP_ONLY = FractionalPremiumStates.FP_ONLY;
items4[10] = <PremiumFeaturesTable style={[styles.sectionWithTopMargin, styles.sectionWithPadding,
styles.sectionWidth]} isFractionalOnly={fractionalState === FP_ONLY} />;
items4[11] = ((Component) => <Component style={[styles.sectionWithTopMargin, styles.sectionWithPadding,
styles.sectionWidth]} showSubscribeButton={value9} />)(importDefault(12222) /* metro dependency 12222: Footer */);
return (
<View style={items2}>
{value15}
<ScrollView {...scrollViewBindingProps}>
{items4}
</ScrollView>
</View>
);
}
function _fun93415() { // fn#93415, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12381:1428, offset: 0x020b35c7, size: 33 bytes, params: 1, frame: 12
env0_1.setOptions({headerShown: userHasSubscription});
}
function _fun93416() { // fn#93416, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12381:1576, offset: 0x020b35e8, size: 222 bytes, params: 1, frame: 18
var r1;
var properties;
var value4;
var moduleValue;
const DismissibleContent = (require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent;
var value5;
var moduleValue2;
const value2 = env0_5 == null;
if (value2) {
r1 = value2;
} else {
properties = env0_5.properties;
properties = properties.properties;
r1 = properties.oneofKind !== 'premiumTab';
}
if (!r1) {
value4 = environment.__proto__;
moduleValue = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
r1 = moduleValue.UNSAFE_isSnowflakeBoundDismissibleContentDismissed(DismissibleContent.PREMIUM_TAB_MARKETING_MOMENT_OFFER_BADGE,
env0_5.promotionId).isDismissed;
}
if (!r1) {
value5 = environment.__proto__;
moduleValue2 = require(1367) /* metro dependency 1367: DismissibleContentUtils */;
moduleValue2.markSnowflakeBoundDismissibleContentAsDismissed(DismissibleContent.PREMIUM_TAB_MARKETING_MOMENT_OFFER_BADGE,
env0_5.promotionId, {dismissAction: ContentDismissActionType.AUTO_DISMISS});
}
}
function _default_93414OnPress() { // fn#93418, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12381:2242, owner: _default_93414.onPress, offset: 0x020b36d9, size: 15 bytes, params: 1, frame: 9
return env0_6();
}
function _default_93414OnScroll({nativeEvent}) { // fn#93419, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12381:2609, owner: _default_93414.onScroll, offset: 0x020b36e8, size: 135 bytes, params: 2, frame: 16
var r1;
var height;
var value2;
var value4;
var defaultImport;
const layoutMeasurement = nativeEvent.layoutMeasurement;
const contentOffset = nativeEvent.contentOffset;
const contentSize = nativeEvent.contentSize;
const binding = env0_3;
if (binding) {
r1 = binding;
} else {
height = layoutMeasurement.height;
value2 = height + contentOffset.y;
height = contentSize.height;
r1 = value2 < height;
}
if (!r1) {
value4 = environment.__proto__;
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport.track(AnalyticEvents.PREMIUM_MARKETING_SURFACE_REACHED_BOTTOM,
{location_stack: analyticsLocations});
env0_4(true);
}
}
global.__d(_fun93413, 12195, [57, 31, 27, 661, 1376, 7553, 1880, 33, 4501, 697, 6235, 12189, 12190, 1484, 6771,
7582, 7583, 3968, 1365, 1367, 12104, 1244, 11808, 3802, 5180, 7260, 9011, 683, 12196, 4573, 12199, 7586, 7940,
12200, 12205, 12222,
2]) /* metro module 12195, dependencies: [57, 31, 27, 661, 1376, 7553, 1880, 33, 4501, 697, 6235, 12189, 12190, 1484, 6771, 7582, 7583, 3968, 1365, 1367, 12104, 1244, 11808, 3802, 5180, 7260, 9011, 683, 12196, 4573, 12199, 7586, 7940, 12200, 12205, 12222, 2] */;
File diff suppressed because it is too large. Load diff
@@ -1,12 +1,15 @@
/* Metro module 7552; source: modules/user_settings/premium/native/PremiumNitroNavigationStore.tsx; dependencies: [4024, 2] */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
function _fun60727(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#60727, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7730:6, offset: 0x0170cfd7, size: 128 bytes, params: 8, frame: 17
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const zustandStore = (require(4024) /* metro dependency 4024: ZustandStore */).createZustandStore(function() {
return {scrollToSectionId: undefined};
});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/premium/native/PremiumNitroNavigationStore.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/user_settings/premium/native/PremiumNitroNavigationStore.tsx');
exports.default = zustandStore;
exports.NitroHomeSectionId = {REFERRAL_PROGRAM: 'referralProgram'};
}
global.__d(_fun60727, 7552, [4024, 2]) /* metro module 7552, dependencies: [4024, 2] */;
@@ -1,129 +1,145 @@
/* Metro module 7053; source: modules/user_settings/premium/native/PremiumPill.tsx; dependencies: [31, 27, 33, 4501, 697, 4048, 7054, 7061, 1244, 4573, 2] */
import Native from '../../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */
import UseCountdown from '../../../../hooks/useCountdown.tsx'; /* Metro dependency 7054 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
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 IndexNativeModule from '../../../../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as CreateStylesModule from '../../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */
import * as MobileTrialUtilsModule from '../../../premium/native/MobileTrialUtils.tsx'; /* Metro dependency 7061 */
function _fun55960(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#55960, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7231:6, offset: 0x013b9a36, size: 192 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 */;
const env0_4 = (require(27) /* metro dependency 27 */).View;
const env0_5 = (require(33) /* metro dependency 33 */).jsx;
const env0_6 = (require(4501) /* metro dependency 4501: createStyles */).createStyles(_fun55961);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/premium/native/PremiumPill.tsx');
const env0_6 = (CreateStylesModule).createStyles(_fun55961);
(FileImportTrackerModule).fileFinishedImporting('modules/user_settings/premium/native/PremiumPill.tsx');
exports.PremiumPill = PremiumPill;
}
function _fun55961(a0) { // fn#55961, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7231:159, offset: 0x013b9af6, size: 132 bytes, params: 2, frame: 16
const object2 = {'backgroundColor': null, 'borderRadius': null, 'alignItems': 'center', 'justifyContent': 'center',
'paddingHorizontal': 8, 'paddingVertical': 1};
const defaultImport = Native;
object2.backgroundColor = a0 ? defaultImport.unsafe_rawColors.BLACK : defaultImport.colors.WHITE;
object2.borderRadius = defaultImport.radii.round;
return {pillContainer: object2, discountPillText: {textAlign: 'center'}};
}
function _fun55961(a0) { // fn#55961, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7231:159, offset: 0x013b9af6, size: 132 bytes, params: 2, frame: 16
const object = {'backgroundColor': null, 'borderRadius': null, 'alignItems': 'center', 'justifyContent': 'center',
'paddingHorizontal': 8, 'paddingVertical': 1};
const defaultImport = importDefault(697) /* metro dependency 697: native */;
object.backgroundColor = a0 ? defaultImport.unsafe_rawColors.BLACK : defaultImport.colors.WHITE;
object.borderRadius = defaultImport.radii.round;
return {pillContainer: object, discountPillText: {textAlign: 'center'}};
}
function PremiumPill({discountOffer, shouldShowDiscountUpsell, isActiveDiscount, premiumType, trialOffer, style, useWhiteBackground, hideTrialCountdown}) { // fn#55962, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7231:508, offset: 0x013b9b7a, size: 453 bytes, params: 2, frame: 26
shouldShowDiscountUpsell = !(shouldShowDiscountUpsell === undefined) && shouldShowDiscountUpsell;
isActiveDiscount = !(isActiveDiscount === undefined) && isActiveDiscount;
const premiumType2 = premiumType;
useWhiteBackground = !(useWhiteBackground === undefined) && useWhiteBackground;
hideTrialCountdown = !(hideTrialCountdown === undefined) && hideTrialCountdown;
const r2 = !useWhiteBackground && (require(4048) /* metro dependency 4048: useTheme */).useTheme() === 'light';
const r9 = r2 ? 'white' : 'black';
const styles = useStyles(r2);
const binding = premiumType2;
const useMemo = binding.useMemo;
const value10 = binding.useMemo(_fun55964, [isActiveDiscount, discountOffer, shouldShowDiscountUpsell, trialOffer,
premiumType, (MobileTrialUtilsModule).usePremiumTrialOfferPremiumType(),
(UseCountdown)(Reflect.apply(useMemo, binding, [_fun55963,
[trialOffer]]), 60000).days, hideTrialCountdown]);
return (
value10 == null
? null
: (
<View style={[styles.pillContainer, style]}>
{((Text) => <Text variant="text-xs/bold" color={r9} style={styles.discountPillText}>{value10.toUpperCase()}</Text>)((require(4573) /* metro dependency 4573: Text */).Text)}
</View>
)
);
function _fun55963() { // fn#55963, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7231:748, offset: 0x013b9d3f, size: 63 bytes, params: 1, frame: 14
const Date = global.Date;
return Date.parse(trialOffer?.expires_at ?? '');
}
function PremiumPill({discountOffer, shouldShowDiscountUpsell, isActiveDiscount, premiumType, trialOffer, style, useWhiteBackground, hideTrialCountdown}) { // fn#55962, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7231:508, offset: 0x013b9b7a, size: 453 bytes, params: 2, frame: 26
shouldShowDiscountUpsell = !(shouldShowDiscountUpsell === undefined) && shouldShowDiscountUpsell;
isActiveDiscount = !(isActiveDiscount === undefined) && isActiveDiscount;
const env0_3 = premiumType;
useWhiteBackground = !(useWhiteBackground === undefined) && useWhiteBackground;
hideTrialCountdown = !(hideTrialCountdown === undefined) && hideTrialCountdown;
const r2 = !useWhiteBackground && (require(4048) /* metro dependency 4048: useTheme */).useTheme() === 'light';
const r9 = r2 ? 'white' : 'black';
const styles = useStyles(r2);
const binding = env0_3;
const useMemo = binding.useMemo;
const value10 = binding.useMemo(_fun55964, [isActiveDiscount, discountOffer, shouldShowDiscountUpsell, trialOffer,
premiumType, (require(7061) /* metro dependency 7061: MobileTrialUtils */).usePremiumTrialOfferPremiumType(),
(importDefault(7054) /* metro dependency 7054: useCountdown */)(Reflect.apply(useMemo, binding, [_fun55963,
[trialOffer]]), 60000).days, hideTrialCountdown]);
return value10 == null ? null : <View style={[styles.pillContainer,
style]}>{((Text) => <Text variant="text-xs/bold" color={r9} style={styles.discountPillText}>{value10.toUpperCase()}</Text>)((require(4573) /* metro dependency 4573: Text */).Text)}</View>;
}
function _fun55963() { // fn#55963, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7231:748, offset: 0x013b9d3f, size: 63 bytes, params: 1, frame: 14
const Date = global.Date;
return Date.parse(trialOffer?.expires_at ?? '');
}
function _fun55964() { // fn#55964, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7231:902, offset: 0x013b9d7e, size: 429 bytes, params: 1, frame: 19
var r1;
var r0;
var discountOfferBinding;
var value2;
var Number;
var value3;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var formatToPlainString;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
var property;
var Math;
var value4;
var value;
if (isActiveDiscount) {
value = environment.__proto__;
value = intl.string(t.EyjDRE);
r0 = value;
} else {
discountOfferBinding = discountOffer;
value2 = null;
if (value2 == discountOfferBinding) {
if (value2 != trialOffer) {
if (premiumType !== env0_7) {
r0 = value2;
} else {
if (hideTrialCountdown) {
value = environment.__proto__;
value = intl.string(t.qVcfa0);
r1 = value;
function _fun55964() { // fn#55964, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7231:902, offset: 0x013b9d7e, size: 429 bytes, params: 1, frame: 19
var r1;
var r0;
var discountOfferBinding;
var value2;
var Number;
var value3;
const intl = (IndexNativeModule).intl;
var formatToPlainString;
const t = (IndexNativeModule).t;
var property;
var Math;
var value4;
var value;
if (isActiveDiscount) {
value = environment.__proto__;
value = intl.string(t.EyjDRE);
r0 = value;
} else {
discountOfferBinding = discountOffer;
value2 = null;
if (value2 == discountOfferBinding) {
if (value2 != trialOffer) {
if (premiumType !== env0_7) {
r0 = value2;
} else {
if (hideTrialCountdown) {
value = environment.__proto__;
value = intl.string(t.qVcfa0);
r1 = value;
} else {
Number = global.Number;
if (Number.isNaN(env0_6.days)) {
value = environment.__proto__;
value = intl.string(t.qVcfa0);
r1 = value;
} else {
value3 = environment.__proto__;
formatToPlainString = intl.formatToPlainString;
property = t['+FgdjP'];
Math = global.Math;
r1 = Reflect.apply(formatToPlainString, intl, [property, {days: Math.max(env0_6.days, 1)}]);
}
}
r0 = r1;
}
} else {
Number = global.Number;
if (Number.isNaN(env0_6.days)) {
r0 = value2;
}
} else if (shouldShowDiscountUpsell) {
value4 = environment.__proto__;
r0 = intl.formatToPlainString(t.iiLbvu, {percent: discountOffer.discount.amount});
} else if (value2 != trialOffer) {
if (premiumType !== env0_7) {
r0 = value2;
} else {
if (hideTrialCountdown) {
value = environment.__proto__;
value = intl.string(t.qVcfa0);
r1 = value;
} else {
value3 = environment.__proto__;
formatToPlainString = intl.formatToPlainString;
property = t['+FgdjP'];
Math = global.Math;
r1 = Reflect.apply(formatToPlainString, intl, [property, {days: Math.max(env0_6.days, 1)}]);
Number = global.Number;
if (Number.isNaN(env0_6.days)) {
value = environment.__proto__;
value = intl.string(t.qVcfa0);
r1 = value;
} else {
value3 = environment.__proto__;
formatToPlainString = intl.formatToPlainString;
property = t['+FgdjP'];
Math = global.Math;
r1 = Reflect.apply(formatToPlainString, intl, [property, {days: Math.max(env0_6.days, 1)}]);
}
}
r0 = r1;
}
r0 = r1;
}
} else {
r0 = value2;
}
} else if (shouldShowDiscountUpsell) {
value4 = environment.__proto__;
r0 = intl.formatToPlainString(t.iiLbvu, {percent: discountOffer.discount.amount});
} else if (value2 != trialOffer) {
if (premiumType !== env0_7) {
r0 = value2;
} else {
if (hideTrialCountdown) {
value = environment.__proto__;
value = intl.string(t.qVcfa0);
r1 = value;
} else {
Number = global.Number;
if (Number.isNaN(env0_6.days)) {
value = environment.__proto__;
value = intl.string(t.qVcfa0);
r1 = value;
} else {
value3 = environment.__proto__;
formatToPlainString = intl.formatToPlainString;
property = t['+FgdjP'];
Math = global.Math;
r1 = Reflect.apply(formatToPlainString, intl, [property, {days: Math.max(env0_6.days, 1)}]);
}
r0 = value2;
}
r0 = r1;
}
} else {
r0 = value2;
return r0;
}
}
return r0;
}
global.__d(_fun55960, 7053, [31, 27, 33, 4501, 697, 4048, 7054, 7061, 1244, 4573,
2]) /* metro module 7053, dependencies: [31, 27, 33, 4501, 697, 4048, 7054, 7061, 1244, 4573, 2] */;
@@ -1,11 +1,22 @@
/* Metro module 13503; source: modules/user_settings/premium/native/PremiumPlanSelectSettingScreen.tsx; dependencies: [31, 33, 7032, 12269, 2] */
import PremiumPlanSelect from '../../../premium/native/PremiumPlanSelect.tsx'; /* Metro dependency 12269 */
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 UseSettingNavigationRouteModule from '../../core/native/useSettingNavigationRoute.tsx'; /* Metro dependency 7032 */
function _fun102569(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#102569, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13693:6, offset: 0x02241213, size: 138 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;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/premium/native/PremiumPlanSelectSettingScreen.tsx');
ReactModule;
(FileImportTrackerModule).fileFinishedImporting('modules/user_settings/premium/native/PremiumPlanSelectSettingScreen.tsx');
exports.default = PremiumPlanSelectSettingScreen_102570;
function PremiumPlanSelectSettingScreen_102570() { // fn#102570, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13693:233, offset: 0x0224129d, size: 78 bytes, params: 1, frame: 15
return ((Component) => <Component {...(UseSettingNavigationRouteModule).useSettingNavigationRoute().params} />)(PremiumPlanSelect);
}
}
global.__d(_fun102569, 13503, [31, 33, 7032, 12269,
2]) /* metro module 13503, dependencies: [31, 33, 7032, 12269, 2] */;
@@ -1,105 +1,143 @@
/* Metro module 12199; source: modules/user_settings/premium/native/PremiumPromotionCard.tsx; dependencies: [31, 27, 4502, 661, 1880, 33, 4501, 697, 566, 6771, 7040, 5475, 4573, 1244, 1948, 4578, 7954, 2] */
import Native from '../../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */
import HelpdeskUtils from '../../../../utils/HelpdeskUtils.tsx'; /* Metro dependency 1948 */
import AccessibilityStore from '../../../a11y/AccessibilityStore.tsx'; /* Metro dependency 4502 */
import FastImage from '../../../../components_native/common/FastImage.tsx'; /* Metro dependency 5475 */
import UseAnalyticsLocations from '../../../app_analytics/useAnalyticsLocations.tsx'; /* Metro dependency 6771 */
import OpenPremiumPlanSelectionActionSheet from '../../../premium/native/openPremiumPlanSelectionActionSheet.tsx'; /* Metro dependency 7040 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as ConstantsModule from '../../../../Constants.tsx'; /* Metro dependency 661 */
import * as PremiumConstantsModule from '../../../premium/PremiumConstants.tsx'; /* Metro dependency 1880 */
import * as TextModule from '../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as ButtonNativeModule from '../../../../design/components/Button/native/Button.native.tsx'; /* Metro dependency 4578 */
import * as NitroWheelIconModule from '../../../../design/components/Icon/native/redesign/generated/NitroWheelIcon.tsx'; /* Metro dependency 7954 */
function _fun93424(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#93424, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12385:6, offset: 0x020b3a54, size: 632 bytes, params: 8, frame: 22
var object2;
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 accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
let value = require(661) /* metro dependency 661: Constants */;
let value = ConstantsModule;
const env0_6 = value.AnalyticsObjectTypes;
const env0_7 = value.AnalyticsPages;
const env0_8 = value.AnalyticsSections;
const env0_9 = value.HelpdeskArticles;
const env0_10 = (require(1880) /* metro dependency 1880: PremiumConstants */).PremiumTypes;
value = require(33) /* metro dependency 33 */;
const env0_11 = value.jsx;
const env0_12 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object2 = {};
object2.container = {width: '100%'};
const object5 = {'display': 'flex', 'width': '100%', 'flexDirection': 'column', 'justifyContent': 'flex-start'};
object = {};
object.container = {width: '100%'};
const object3 = {'display': 'flex', 'width': '100%', 'flexDirection': 'column', 'justifyContent': 'flex-start'};
let PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object5.paddingBottom = PX_16;
object3.paddingBottom = PX_16;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object5.paddingHorizontal = PX_16;
object5.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object3.paddingHorizontal = PX_16;
object3.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
const BACKGROUND_SURFACE_HIGH = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_SURFACE_HIGH;
object5.backgroundColor = BACKGROUND_SURFACE_HIGH;
object3.backgroundColor = BACKGROUND_SURFACE_HIGH;
let PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object5.marginBottom = PX_24;
object5.overflow = 'hidden';
object2.card = object5;
const object6 = {alignSelf: 'center'};
object3.marginBottom = PX_24;
object3.overflow = 'hidden';
object.card = object3;
const object4 = {alignSelf: 'center'};
PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object6.marginBottom = PX_24;
object6.borderTopLeftRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object6.borderTopRightRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object6.borderBottomRightRadius = (importDefault(697) /* metro dependency 697: native */).radii.none;
object6.borderBottomLeftRadius = (importDefault(697) /* metro dependency 697: native */).radii.none;
object6.width = '110%';
object6.height = 95;
object2.image = object6;
object2.nitroWheelIcon = {'bottom': -1, 'width': 22, 'height': 16};
const env0_13 = Reflect.apply(createStyles, value, [object2]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/premium/native/PremiumPromotionCard.tsx');
object4.marginBottom = PX_24;
object4.borderTopLeftRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object4.borderTopRightRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object4.borderBottomRightRadius = (importDefault(697) /* metro dependency 697: native */).radii.none;
object4.borderBottomLeftRadius = (importDefault(697) /* metro dependency 697: native */).radii.none;
object4.width = '110%';
object4.height = 95;
object.image = object4;
object.nitroWheelIcon = {'bottom': -1, 'width': 22, 'height': 16};
const env0_13 = Reflect.apply(createStyles, value, [object]);
(FileImportTrackerModule).fileFinishedImporting('modules/user_settings/premium/native/PremiumPromotionCard.tsx');
exports.default = _default_93425;
}
function _default_93425({style, applicationId, onPaymentSuccess, onPaymentDismiss}) { // fn#93425, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12385:921, offset: 0x020b3ccc, size: 758 bytes, params: 2, frame: 32
const styles = useStyles();
const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
const analyticsLocations = (importDefault(6771) /* metro dependency 6771: useAnalyticsLocations */)().analyticsLocations;
const value2 = analyticsLocations.useCallback(_fun93427, [analyticsLocations, applicationId, onPaymentSuccess,
onPaymentDismiss]);
const items5 = [styles.container, style];
const items2 = [styles.card];
const items3 = [((Component) => <Component source={{uri: 'https://cdn.discordapp.com/assets/content/da4c50f6fba3cf58b484571ef1a57c355fbd31636683792858fa41d1ab027520.png'}} style={styles.image} />)(importDefault(5475) /* metro dependency 5475: FastImage */)];
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
items3[1] = <Text color="mobile-text-heading-primary" variant="heading-md/extrabold">{Reflect.apply(string, intl,
[(require(1244) /* metro dependency 1244: indexNative */).t['6Jjfk8']])}</Text>;
const format = intl.format;
const property = (require(1244) /* metro dependency 1244: indexNative */).t['dE3+TP'];
const defaultImport2 = importDefault(1948) /* metro dependency 1948: HelpdeskUtils */;
const getArticleURL = defaultImport2.getArticleURL;
const SUMMER_BOGO_2025 = HelpdeskArticles.SUMMER_BOGO_2025;
items3[2] = <Text color="mobile-text-heading-primary" variant="text-sm/normal">{Reflect.apply(format, intl,
[property, {helpCenterLink: Reflect.apply(getArticleURL, defaultImport2, [SUMMER_BOGO_2025])}])}</Text>;
const object = {};
const PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object.marginTop = PX_24;
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
string = intl.string;
const J61px0 = (require(1244) /* metro dependency 1244: indexNative */).t.J61px0;
const NitroWheelIcon = (require(7954) /* metro dependency 7954: NitroWheelIcon */).NitroWheelIcon;
const items4 = [styles.nitroWheelIcon];
const BACKGROUND_BRAND = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BRAND;
items3[3] = <View style={object}><Button text={Reflect.apply(string, intl,
[J61px0])} size="lg" onPress={value2} icon={<NitroWheelIcon style={items4} color={BACKGROUND_BRAND} size="custom" />} iconPosition="start" variant="experimental_premium-secondary" shiny={!useReducedMotion} /></View>;
return (
<View style={items5}>
<View style={items2}>
{items3}
function _default_93425({style, applicationId, onPaymentSuccess, onPaymentDismiss}) { // fn#93425, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12385:921, offset: 0x020b3ccc, size: 758 bytes, params: 2, frame: 32
const styles = useStyles();
const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
const analyticsLocations = (UseAnalyticsLocations)().analyticsLocations;
const value2 = analyticsLocations.useCallback(_fun93427, [analyticsLocations, applicationId, onPaymentSuccess,
onPaymentDismiss]);
const items5 = [styles.container, style];
const items2 = [styles.card];
const items3 = [
((Component) => <Component source={{uri: 'https://cdn.discordapp.com/assets/content/da4c50f6fba3cf58b484571ef1a57c355fbd31636683792858fa41d1ab027520.png'}} style={styles.image} />)(FastImage),
];
const Text = (TextModule).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
items3[1] = (
<Text color="mobile-text-heading-primary" variant="heading-md/extrabold">
{Reflect.apply(string, intl, [(require(1244) /* metro dependency 1244: indexNative */).t['6Jjfk8']])}
</Text>
);
const format = intl.format;
const property = (require(1244) /* metro dependency 1244: indexNative */).t['dE3+TP'];
const defaultImport2 = HelpdeskUtils;
const getArticleURL = defaultImport2.getArticleURL;
const SUMMER_BOGO_2025 = HelpdeskArticles.SUMMER_BOGO_2025;
items3[2] = (
<Text color="mobile-text-heading-primary" variant="text-sm/normal">
{Reflect.apply(format, intl, [property, {helpCenterLink: Reflect.apply(getArticleURL, defaultImport2,
[SUMMER_BOGO_2025])}])}
</Text>
);
const object2 = {};
const PX_24 = (Native).space.PX_24;
object2.marginTop = PX_24;
const Button = (ButtonNativeModule).Button;
string = intl.string;
const J61px0 = (require(1244) /* metro dependency 1244: indexNative */).t.J61px0;
const NitroWheelIcon = (NitroWheelIconModule).NitroWheelIcon;
const items4 = [styles.nitroWheelIcon];
const BACKGROUND_BRAND = (Native).colors.BACKGROUND_BRAND;
items3[3] = (
<View style={object2}>
<Button
text={Reflect.apply(string, intl, [J61px0])}
size="lg"
onPress={value2}
icon={<NitroWheelIcon
style={items4}
color={BACKGROUND_BRAND}
size="custom"
/>}
iconPosition="start"
variant="experimental_premium-secondary"
shiny={!useReducedMotion}
/>
</View>
</View>
);
}
);
return (
<View style={items5}>
<View style={items2}>
{items3}
</View>
</View>
);
function _fun93427() { // fn#93427, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12385:1106, offset: 0x020b3fc2, size: 139 bytes, params: 1, frame: 14
const defaultImport = OpenPremiumPlanSelectionActionSheet;
const BOGO_PROMOTION_MARKETING_PAGE_BANNER = AnalyticsPages.BOGO_PROMOTION_MARKETING_PAGE_BANNER;
const SETTINGS_PREMIUM = AnalyticsSections.SETTINGS_PREMIUM;
const BUY = AnalyticsObjectTypes.BUY;
const TIER_2 = PremiumTypes.TIER_2;
defaultImport({analyticsLocation: {page: BOGO_PROMOTION_MARKETING_PAGE_BANNER, section: SETTINGS_PREMIUM,
objectType: BUY}, analyticsLocations: analyticsLocations, premiumType: TIER_2, applicationId: applicationId,
onPaymentSuccess: onPaymentSuccess, onPaymentDismiss: onPaymentDismiss});
}
}
function _fun93427() { // fn#93427, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12385:1106, offset: 0x020b3fc2, size: 139 bytes, params: 1, frame: 14
const defaultImport = importDefault(7040) /* metro dependency 7040: openPremiumPlanSelectionActionSheet */;
const BOGO_PROMOTION_MARKETING_PAGE_BANNER = AnalyticsPages.BOGO_PROMOTION_MARKETING_PAGE_BANNER;
const SETTINGS_PREMIUM = AnalyticsSections.SETTINGS_PREMIUM;
const BUY = AnalyticsObjectTypes.BUY;
const TIER_2 = PremiumTypes.TIER_2;
defaultImport({analyticsLocation: {page: BOGO_PROMOTION_MARKETING_PAGE_BANNER, section: SETTINGS_PREMIUM,
objectType: BUY}, analyticsLocations: analyticsLocations, premiumType: TIER_2, applicationId: applicationId,
onPaymentSuccess: onPaymentSuccess, onPaymentDismiss: onPaymentDismiss});
}
global.__d(_fun93424, 12199, [31, 27, 4502, 661, 1880, 33, 4501, 697, 566, 6771, 7040, 5475, 4573, 1244, 1948, 4578,
7954,
2]) /* metro module 12199, dependencies: [31, 27, 4502, 661, 1880, 33, 4501, 697, 566, 6771, 7040, 5475, 4573, 1244, 1948, 4578, 7954, 2] */;
@@ -1,41 +1,47 @@
/* Metro module 7558; source: modules/user_settings/premium/native/PremiumReferralTrialPill.tsx; dependencies: [27, 33, 4501, 697, 4573, 1244, 2] */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as JsxRuntimeModule from '../../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
import * as IndexNativeModule from '../../../../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as CreateStylesModule from '../../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */
import * as TextModule from '../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
function _fun60768(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#60768, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7736:6, offset: 0x0170e3f5, size: 295 bytes, params: 8, frame: 22
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = (require(27) /* metro dependency 27 */).View;
const env0_3 = (require(33) /* metro dependency 33 */).jsx;
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
const object = {'backgroundColor': null, 'borderRadius': null, 'alignItems': 'center', 'justifyContent': 'center',
const createStyles = CreateStylesModule.createStyles;
const object2 = {'backgroundColor': null, 'borderRadius': null, 'alignItems': 'center', 'justifyContent': 'center',
'margin': 8, 'paddingHorizontal': 8, 'overflow': 'visible'};
const WHITE = (importDefault(697) /* metro dependency 697: native */).colors.WHITE;
object.backgroundColor = WHITE;
object.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
const env0_4 = Reflect.apply(createStyles, createStylesModule, [{pillParent: {'display': 'flex',
object2.backgroundColor = WHITE;
object2.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
const env0_4 = Reflect.apply(createStyles, CreateStylesModule, [{pillParent: {'display': 'flex',
'alignItems': 'center', 'flexDirection': 'row', 'justifyContent': 'center'},
pillParentExtraMargin: {'display': 'flex', 'alignItems': 'center', 'flexDirection': 'row',
'justifyContent': 'center', 'marginTop': 36, 'marginBottom': 20}, pillContainer: object,
'justifyContent': 'center', 'marginTop': 36, 'marginBottom': 20}, pillContainer: object2,
text: {'color': '#AC46C3', 'paddingHorizontal': 1, 'paddingBottom': 2, 'textAlign': 'center'}}]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/premium/native/PremiumReferralTrialPill.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/user_settings/premium/native/PremiumReferralTrialPill.tsx');
exports.PremiumReferralTrialPill = PremiumReferralTrialPill;
}
function PremiumReferralTrialPill({hasExtraMargin}) { // fn#60769, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7736:757, offset: 0x0170e51c, size: 210 bytes, params: 2, frame: 23
const styles = useStyles();
const r4 = hasExtraMargin ? styles.pillParentExtraMargin : styles.pillParent;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const Y1q7js = (require(1244) /* metro dependency 1244: indexNative */).t.Y1q7js;
return (
<View style={r4}>
<View style={styles.pillContainer}>
<Text variant="text-xs/bold" style={styles.text}>
{Reflect.apply(string, intl, [Y1q7js]).toUpperCase()}
</Text>
function PremiumReferralTrialPill({hasExtraMargin}) { // fn#60769, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7736:757, offset: 0x0170e51c, size: 210 bytes, params: 2, frame: 23
const styles = useStyles();
const r4 = hasExtraMargin ? styles.pillParentExtraMargin : styles.pillParent;
const Text = (TextModule).Text;
const intl = (IndexNativeModule).intl;
const string = intl.string;
const Y1q7js = (IndexNativeModule).t.Y1q7js;
return (
<View style={r4}>
<View style={styles.pillContainer}>
<Text variant="text-xs/bold" style={styles.text}>
{Reflect.apply(string, intl, [Y1q7js]).toUpperCase()}
</Text>
</View>
</View>
</View>
);
);
}
}
global.__d(_fun60768, 7558, [27, 33, 4501, 697, 4573, 1244,
2]) /* metro module 7558, dependencies: [27, 33, 4501, 697, 4573, 1244, 2] */;
@@ -1,18 +1,25 @@
/* Metro module 13496; source: modules/user_settings/premium/native/PremiumSettingScreen.tsx; dependencies: [31, 33, 7032, 1484, 7508, 7029, 2] */
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 UseNavigationNativeModule from '../../../../design/components/Navigator/native/useNavigation.native.tsx'; /* Metro dependency 1484 */
import * as UseSettingNavigationRouteModule from '../../core/native/useSettingNavigationRoute.tsx'; /* Metro dependency 7032 */
function _fun102550(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#102550, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13686:6, offset: 0x02240ada, size: 138 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;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/premium/native/PremiumSettingScreen.tsx');
ReactModule;
(FileImportTrackerModule).fileFinishedImporting('modules/user_settings/premium/native/PremiumSettingScreen.tsx');
exports.default = PremiumScreen;
function PremiumScreen() { // fn#102551, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13686:223, offset: 0x02240b64, size: 150 bytes, params: 1, frame: 16
const value2 = undefined;
const value3 = (UseSettingNavigationRouteModule).useSettingNavigationRoute();
const value4 = (UseNavigationNativeModule).useStackNavigation();
return ((Component) => <Component onClose={value4.canGoBack() ? value2 : (importDefault(7508) /* metro dependency 7508: UserSettingsModalActionCreators */).close} {...value3.params} />)(importDefault(7029) /* metro dependency 7029: UserSettingsPremium */);
}
}
function PremiumScreen() { // fn#102551, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13686:223, offset: 0x02240b64, size: 150 bytes, params: 1, frame: 16
const value2 = undefined;
const value3 = (require(7032) /* metro dependency 7032: useSettingNavigationRoute */).useSettingNavigationRoute();
const value4 = (require(1484) /* metro dependency 1484: useNavigationNative */).useStackNavigation();
return ((Component) => <Component onClose={value4.canGoBack() ? value2 : (importDefault(7508) /* metro dependency 7508: UserSettingsModalActionCreators */).close} {...value3.params} />)(importDefault(7029) /* metro dependency 7029: UserSettingsPremium */);
}
global.__d(_fun102550, 13496, [31, 33, 7032, 1484, 7508, 7029,
2]) /* metro module 13496, dependencies: [31, 33, 7032, 1484, 7508, 7029, 2] */;
@@ -1,124 +1,157 @@
/* Metro module 14034; source: modules/user_settings/premium/native/ProfileCustomizationTryItOutSettingScreen.tsx; dependencies: [31, 27, 1878, 661, 1880, 33, 4501, 697, 6771, 6789, 566, 7603, 8398, 8491, 5134, 13793, 7613, 1888, 683, 13181, 2] */
import Native from '../../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */
import UserStore from '../../../../stores/UserStore.tsx'; /* Metro dependency 1878 */
import UseAnalyticsLocations from '../../../app_analytics/useAnalyticsLocations.tsx'; /* Metro dependency 6771 */
import AnalyticsLocation from '../../../app_analytics/AnalyticsLocation.tsx'; /* Metro dependency 6789 */
import UseMaybeFetchCollectiblesCategories from '../../../collectibles/hooks/useMaybeFetchCollectiblesCategories.tsx'; /* Metro dependency 7603 */
import UsePendingAvatarSettings from '../../../user_profile/hooks/usePendingAvatarSettings.tsx'; /* Metro dependency 8398 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
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 FluxModule from '../../../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */
import * as PremiumConstantsModule from '../../../premium/PremiumConstants.tsx'; /* Metro dependency 1880 */
import * as DisplayNameStylesUtilsModule from '../../../display_name_styles/DisplayNameStylesUtils.tsx'; /* Metro dependency 1888 */
import * as UseAnalyticsLocationsModule from '../../../app_analytics/useAnalyticsLocations.tsx'; /* Metro dependency 6771 */
import * as DisplayNameStylesFontOrderModule from '../../../display_name_styles/DisplayNameStylesFontOrder.tsx'; /* Metro dependency 13793 */
function _fun106431(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#106431, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14231:6, offset: 0x022dba57, size: 342 bytes, params: 8, frame: 22
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 */;
let value = ReactNativeModule;
const StyleSheet = value.StyleSheet;
const env0_4 = value.View;
const env0_5 = value.ActivityIndicator;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
value = require(661) /* metro dependency 661: Constants */;
const env0_7 = value.AnalyticEvents;
const env0_8 = value.AnalyticsPages;
const env0_9 = (require(1880) /* metro dependency 1880: PremiumConstants */).PremiumUpsellTypes;
const env0_10 = (require(33) /* metro dependency 33 */).jsx;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
const object = {};
const BACKGROUND_BASE_LOWER = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOWER;
object.backgroundColor = BACKGROUND_BASE_LOWER;
copyDataProperties(object, StyleSheet.absoluteFillObject, undefined);
const env0_11 = Reflect.apply(createStyles, value, [{container: object, activityIndicator: {'height': '100%',
const object2 = {};
const BACKGROUND_BASE_LOWER = (Native).colors.BACKGROUND_BASE_LOWER;
object2.backgroundColor = BACKGROUND_BASE_LOWER;
copyDataProperties(object2, StyleSheet.absoluteFillObject, undefined);
const env0_11 = Reflect.apply(createStyles, value, [{container: object2, activityIndicator: {'height': '100%',
'alignItems': 'center', 'justifyContent': 'center'}}]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/premium/native/ProfileCustomizationTryItOutSettingScreen.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/user_settings/premium/native/ProfileCustomizationTryItOutSettingScreen.tsx');
exports.default = ProfileCustomizationTryItOutSettingScreen;
}
function ProfileCustomizationTryItOutSettingScreen() { // fn#106432, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14231:583, offset: 0x022dbbad, size: 542 bytes, params: 1, frame: 28
var r1;
var r0;
const AnalyticsLocationProvider = (require(6771) /* metro dependency 6771: useAnalyticsLocations */).AnalyticsLocationProvider;
var value;
const styles = useStyles();
let defaultImport = importDefault(6771) /* metro dependency 6771: useAnalyticsLocations */;
const USER_SETTINGS_TRY_OUT_PREMIUM = (importDefault(6789) /* metro dependency 6789: AnalyticsLocation */).USER_SETTINGS_TRY_OUT_PREMIUM;
const {analyticsLocations, sourceAnalyticsLocations} = defaultImport(USER_SETTINGS_TRY_OUT_PREMIUM);
const fluxModule = require(566) /* metro dependency 566: flux */;
const useStateFromStores = fluxModule.useStateFromStores;
let object = [UserStore];
const currentUser = Reflect.apply(useStateFromStores, fluxModule, [object, function() {
return UserStore.getCurrentUser();
}]);
const {categories,
isFetching} = (importDefault(7603) /* metro dependency 7603: useMaybeFetchCollectiblesCategories */)();
const value4 = (importDefault(8398) /* metro dependency 8398: usePendingAvatarSettings */)({isTryItOut: true,
analyticsLocations: analyticsLocations});
const pendingAvatarDecoration = value4.pendingAvatarDecoration;
const env0_3 = pendingAvatarDecoration;
const setPendingAvatarDecoration = value4.setPendingAvatarDecoration;
const binding = env0_3;
binding.useEffect(_fun106434, [currentUser]);
binding.useEffect(_fun106435, [pendingAvatarDecoration, setPendingAvatarDecoration, categories]);
binding.useEffect(_fun106436,
[(require(13793) /* metro dependency 13793: DisplayNameStylesFontOrder */).useVisibleFontOrder()]);
binding.useEffect(function() {
var defaultImport = importDefault(dependencyMap[18]);
var PREMIUM_UPSELL_VIEWED = AnalyticEvents.PREMIUM_UPSELL_VIEWED;
defaultImport.track(PREMIUM_UPSELL_VIEWED, {type: PremiumUpsellTypes.PREMIUM_PROFILE_TRY_IT_OUT,
location: {page: AnalyticsPages.USER_SETTINGS}, location_stack: sourceAnalyticsLocations});
}, [sourceAnalyticsLocations]);
const value6 = null;
if (value6 == currentUser) {
r0 = value6;
} else {
if (isFetching) {
r1 = <View style={styles.activityIndicator}><ActivityIndicator animating size="large" /></View>;
} else if (pendingAvatarDecoration !== undefined) {
object = {value: analyticsLocations};
var viewBindingProps = {style: styles.container};
value = importDefault(13181) /* metro dependency 13181: UserProfileEditForm */;
value = <AnalyticsLocationProvider {...object}><View {...viewBindingProps}>{((Component) => <Component currentUser={currentUser} isTryItOut />)(value)}</View></AnalyticsLocationProvider>;
r1 = value;
} else if (categories.size > 0) {
r1 = <View style={styles.activityIndicator}><ActivityIndicator animating size="large" /></View>;
function ProfileCustomizationTryItOutSettingScreen() { // fn#106432, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14231:583, offset: 0x022dbbad, size: 542 bytes, params: 1, frame: 28
var r1;
var r0;
const AnalyticsLocationProvider = (UseAnalyticsLocationsModule).AnalyticsLocationProvider;
var value;
const styles = useStyles();
let defaultImport = UseAnalyticsLocations;
const USER_SETTINGS_TRY_OUT_PREMIUM = (AnalyticsLocation).USER_SETTINGS_TRY_OUT_PREMIUM;
const {analyticsLocations, sourceAnalyticsLocations} = defaultImport(USER_SETTINGS_TRY_OUT_PREMIUM);
const useStateFromStores = FluxModule.useStateFromStores;
let object = [UserStore];
const currentUser = Reflect.apply(useStateFromStores, FluxModule, [object, function() {
return UserStore.getCurrentUser();
}]);
const {categories,
isFetching} = (UseMaybeFetchCollectiblesCategories)();
const value4 = (UsePendingAvatarSettings)({isTryItOut: true,
analyticsLocations: analyticsLocations});
const pendingAvatarDecoration = value4.pendingAvatarDecoration;
const pendingAvatarDecoration2 = pendingAvatarDecoration;
const setPendingAvatarDecoration = value4.setPendingAvatarDecoration;
const binding = pendingAvatarDecoration2;
binding.useEffect(_fun106434, [currentUser]);
binding.useEffect(_fun106435, [pendingAvatarDecoration, setPendingAvatarDecoration, categories]);
binding.useEffect(_fun106436,
[(DisplayNameStylesFontOrderModule).useVisibleFontOrder()]);
binding.useEffect(function() {
var defaultImport = importDefault(dependencyMap[18]);
var PREMIUM_UPSELL_VIEWED = AnalyticEvents.PREMIUM_UPSELL_VIEWED;
defaultImport.track(PREMIUM_UPSELL_VIEWED, {type: PremiumUpsellTypes.PREMIUM_PROFILE_TRY_IT_OUT,
location: {page: AnalyticsPages.USER_SETTINGS}, location_stack: sourceAnalyticsLocations});
}, [sourceAnalyticsLocations]);
const value6 = null;
if (value6 == currentUser) {
r0 = value6;
} else {
object = {value: analyticsLocations};
var viewBindingProps = {style: styles.container};
value = importDefault(13181) /* metro dependency 13181: UserProfileEditForm */;
value = <AnalyticsLocationProvider {...object}><View {...viewBindingProps}>{((Component) => <Component currentUser={currentUser} isTryItOut />)(value)}</View></AnalyticsLocationProvider>;
r1 = value;
if (isFetching) {
r1 = (
<View style={styles.activityIndicator}>
<ActivityIndicator animating size="large" />
</View>
);
} else if (pendingAvatarDecoration !== undefined) {
object = {value: analyticsLocations};
var viewBindingProps = {style: styles.container};
value = importDefault(13181) /* metro dependency 13181: UserProfileEditForm */;
value = (
<AnalyticsLocationProvider {...object}>
<View {...viewBindingProps}>
{((Component) => <Component currentUser={currentUser} isTryItOut />)(value)}
</View>
</AnalyticsLocationProvider>
);
r1 = value;
} else if (categories.size > 0) {
r1 = (
<View style={styles.activityIndicator}>
<ActivityIndicator animating size="large" />
</View>
);
} else {
object = {value: analyticsLocations};
var viewBindingProps = {style: styles.container};
value = importDefault(13181) /* metro dependency 13181: UserProfileEditForm */;
value = (
<AnalyticsLocationProvider {...object}>
<View {...viewBindingProps}>
{((Component) => <Component currentUser={currentUser} isTryItOut />)(value)}
</View>
</AnalyticsLocationProvider>
);
r1 = value;
}
r0 = r1;
}
r0 = r1;
return r0;
function _fun106434() { // fn#106434, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14231:971, offset: 0x022dbdcb, size: 82 bytes, params: 1, frame: 16
var value2;
var defaultImport;
let currentUserBinding = currentUser;
if (currentUserBinding != null) {
value2 = environment.__proto__;
defaultImport = importDefault(8491) /* metro dependency 8491: maybeFetchUserProfile */;
currentUserBinding = currentUser;
defaultImport(currentUserBinding.id, currentUserBinding.getAvatarURL(undefined, 80), {dispatchWait: true});
}
}
function _fun106435() { // fn#106435, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14231:1064, offset: 0x022dbe1d, size: 110 bytes, params: 1, frame: 15
var value2;
var moduleValue;
var value3;
var setPendingAvatarDecorationBinding;
var Math;
if (pendingAvatarDecoration === undefined) {
value2 = environment.__proto__;
moduleValue = require(5134) /* metro dependency 5134: CollectiblesUtils */;
value3 = moduleValue.getAvatarDecorationsFromCategories(categories);
setPendingAvatarDecorationBinding = setPendingAvatarDecoration;
Math = global.Math;
setPendingAvatarDecorationBinding(value3[Math.floor(global.Math.random() * value3.length)]);
}
}
function _fun106436() { // fn#106436, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14231:1253, offset: 0x022dbe8b, size: 68 bytes, params: 1, frame: 14
let value = environment.__proto__;
value = require(7613) /* metro dependency 7613: UserProfileActionCreators */;
const setTryItOutDisplayNameStyles = value.setTryItOutDisplayNameStyles;
Reflect.apply(setTryItOutDisplayNameStyles, value,
[DisplayNameStylesUtilsModule.generateRandomDisplayNameStyles(env0_5)]);
}
}
return r0;
}
function _fun106434() { // fn#106434, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14231:971, offset: 0x022dbdcb, size: 82 bytes, params: 1, frame: 16
var value2;
var defaultImport;
let currentUserBinding = currentUser;
if (currentUserBinding != null) {
value2 = environment.__proto__;
defaultImport = importDefault(8491) /* metro dependency 8491: maybeFetchUserProfile */;
currentUserBinding = currentUser;
defaultImport(currentUserBinding.id, currentUserBinding.getAvatarURL(undefined, 80), {dispatchWait: true});
}
}
function _fun106435() { // fn#106435, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14231:1064, offset: 0x022dbe1d, size: 110 bytes, params: 1, frame: 15
var value2;
var moduleValue;
var value3;
var setPendingAvatarDecorationBinding;
var Math;
if (pendingAvatarDecoration === undefined) {
value2 = environment.__proto__;
moduleValue = require(5134) /* metro dependency 5134: CollectiblesUtils */;
value3 = moduleValue.getAvatarDecorationsFromCategories(categories);
setPendingAvatarDecorationBinding = setPendingAvatarDecoration;
Math = global.Math;
setPendingAvatarDecorationBinding(value3[Math.floor(global.Math.random() * value3.length)]);
}
}
function _fun106436() { // fn#106436, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14231:1253, offset: 0x022dbe8b, size: 68 bytes, params: 1, frame: 14
let value = environment.__proto__;
value = require(7613) /* metro dependency 7613: UserProfileActionCreators */;
const setTryItOutDisplayNameStyles = value.setTryItOutDisplayNameStyles;
const displayNameStylesUtilsModule = require(1888) /* metro dependency 1888: DisplayNameStylesUtils */;
Reflect.apply(setTryItOutDisplayNameStyles, value,
[displayNameStylesUtilsModule.generateRandomDisplayNameStyles(env0_5)]);
}
global.__d(_fun106431, 14034, [31, 27, 1878, 661, 1880, 33, 4501, 697, 6771, 6789, 566, 7603, 8398, 8491, 5134,
13793, 7613, 1888, 683, 13181,
2]) /* metro module 14034, dependencies: [31, 27, 1878, 661, 1880, 33, 4501, 697, 6771, 6789, 566, 7603, 8398, 8491, 5134, 13793, 7613, 1888, 683, 13181, 2] */;
@@ -1,294 +1,401 @@
/* Metro module 12297; source: modules/user_settings/premium/native/UserSettingsGiftingBadgeProgress.tsx; dependencies: [57, 31, 27, 7670, 33, 4501, 697, 1357, 6771, 6789, 566, 7635, 4573, 1244, 2320, 10388, 4578, 10112, 10381, 12298, 8708, 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 MobileVisualRefreshExperiment from '../../../themes/experiments/MobileVisualRefreshExperiment.tsx'; /* Metro dependency 1357 */
import GiftingBadgeMessages from '../../../premium/gifting/GiftingBadge.messages.js'; /* Metro dependency 2320 */
import UseAnalyticsLocations from '../../../app_analytics/useAnalyticsLocations.tsx'; /* Metro dependency 6771 */
import AnalyticsLocation from '../../../app_analytics/AnalyticsLocation.tsx'; /* Metro dependency 6789 */
import BadgeDirectoryStore from '../../../badges/BadgeDirectoryStore.tsx'; /* Metro dependency 7670 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as FluxModule from '../../../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */
import * as IndexNativeModule from '../../../../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as CreateStylesModule from '../../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */
import * as TextModule from '../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as ButtonNativeModule from '../../../../design/components/Button/native/Button.native.tsx'; /* Metro dependency 4578 */
import * as BadgeIdModule from '../../../../external/discord_common/js/shared/shared-constants/BadgeId.tsx'; /* Metro dependency 7635 */
import * as BadgeDirectoryStoreModule from '../../../badges/BadgeDirectoryStore.tsx'; /* Metro dependency 7670 */
import * as GiftIconModule from '../../../../design/components/Icon/native/redesign/generated/GiftIcon.tsx'; /* Metro dependency 10112 */
import * as OpenGiftModalModule from '../../../premium/native/utils/openGiftModal.tsx'; /* Metro dependency 10381 */
function _fun93917(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#93917, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12483:6, offset: 0x020ca45b, size: 287 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 */;
let value = require(27) /* metro dependency 27 */;
let value = ReactNativeModule;
const env0_5 = value.Pressable;
const env0_6 = value.View;
const badgeDirectoryStore = importDefault(7670) /* metro dependency 7670: BadgeDirectoryStore */;
const env0_8 = (require(7670) /* metro dependency 7670: BadgeDirectoryStore */).getSingleRequirementThreshold;
value = require(33) /* metro dependency 33 */;
const env0_9 = value.jsx;
const env0_10 = value.jsxs;
const env0_11 = value.Fragment;
const env0_12 = (require(4501) /* metro dependency 4501: createStyles */).createStyles(_fun93922);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/premium/native/UserSettingsGiftingBadgeProgress.tsx');
const env0_12 = (CreateStylesModule).createStyles(_fun93922);
(FileImportTrackerModule).fileFinishedImporting('modules/user_settings/premium/native/UserSettingsGiftingBadgeProgress.tsx');
exports.default = UserSettingsGiftingBadgeProgress;
}
function GiftingBadgeIntro({analyticsLocation}) { // fn#93918, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12483:1999, offset: 0x020ca57a, size: 561 bytes, params: 2, frame: 32
var r0;
const intl = (IndexNativeModule).intl;
var items2;
var Button;
const styles = useStyles((MobileVisualRefreshExperiment)('UserSettingsGiftingBadgeProgress'));
const defaultImport2 = UseAnalyticsLocations;
const USER_SETTINGS_GIFT_INVENTORY = (AnalyticsLocation).USER_SETTINGS_GIFT_INVENTORY;
const env0_2 = defaultImport2(USER_SETTINGS_GIFT_INVENTORY).analyticsLocations;
const value3 = (FluxModule).useStateFromStores([BadgeDirectoryStore], _fun93919);
if (value3 == null) {
r0 = null;
} else {
var viewBindingProps = {style: styles.wrapper};
items2 = [
<View style={styles.introContent}>
{((Text) => <Text variant="text-xs/normal" color="text-muted">{intl.string((importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */)['4Yp0mI'])}</Text>)((require(4573) /* metro dependency 4573: Text */).Text)}
</View>,
];
items2[1] = (
<View style={styles.introGrid}>
{value3.map(_fun93920)}
</View>
);
Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
items2[2] = (
<Button
variant="primary"
icon={((GiftIcon) => <GiftIcon size="sm" color={(importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.WHITE} />)((require(10112) /* metro dependency 10112: GiftIcon */).GiftIcon)}
text={intl.string((importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */).DZnomS)}
onPress={onPress_93921}
grow
/>
);
r0 = (
<View {...viewBindingProps}>
{items2}
</View>
);
}
return r0;
function _fun93919() { // fn#93919, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12483:2208, offset: 0x020ca7ab, size: 69 bytes, params: 1, frame: 13
let value = environment.__proto__;
const badgeDirectoryStoreBinding = BadgeDirectoryStore;
const getBadgeById = badgeDirectoryStoreBinding.getBadgeById;
value = undefined;
const BadgeId = (BadgeIdModule).BadgeId;
const GIFTING = BadgeId.GIFTING;
const value2 = Reflect.apply(getBadgeById, badgeDirectoryStoreBinding, [GIFTING]);
return value2 == null ? value : value2.tiers;
}
function GiftingBadgeIntro({analyticsLocation}) { // fn#93918, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12483:1999, offset: 0x020ca57a, size: 561 bytes, params: 2, frame: 32
var r0;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var items2;
var Button;
const styles = useStyles((importDefault(1357) /* metro dependency 1357: MobileVisualRefreshExperiment */)('UserSettingsGiftingBadgeProgress'));
const defaultImport2 = importDefault(6771) /* metro dependency 6771: useAnalyticsLocations */;
const USER_SETTINGS_GIFT_INVENTORY = (importDefault(6789) /* metro dependency 6789: AnalyticsLocation */).USER_SETTINGS_GIFT_INVENTORY;
const env0_2 = defaultImport2(USER_SETTINGS_GIFT_INVENTORY).analyticsLocations;
const value3 = (require(566) /* metro dependency 566: flux */).useStateFromStores([BadgeDirectoryStore], _fun93919);
if (value3 == null) {
r0 = null;
} else {
var viewBindingProps = {style: styles.wrapper};
items2 = [<View style={styles.introContent}>{((Text) => <Text variant="text-xs/normal" color="text-muted">{intl.string((importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */)['4Yp0mI'])}</Text>)((require(4573) /* metro dependency 4573: Text */).Text)}</View>];
items2[1] = <View style={styles.introGrid}>{value3.map(_fun93920)}</View>;
Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
items2[2] = <Button variant="primary" icon={((GiftIcon) => <GiftIcon size="sm" color={(importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.WHITE} />)((require(10112) /* metro dependency 10112: GiftIcon */).GiftIcon)} text={intl.string((importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */).DZnomS)} onPress={onPress_93921} grow />;
r0 = <View {...viewBindingProps}>{items2}</View>;
}
return r0;
}
function _fun93922(a0) { // fn#93922, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12483:263, offset: 0x020ca999, size: 945 bytes, params: 2, frame: 17
const object3 = {};
const object4 = {};
let BACKGROUND_MOD_MUTED = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_MOD_MUTED;
object4.backgroundColor = BACKGROUND_MOD_MUTED;
object4.borderRadius = a0 ? (importDefault(697) /* metro dependency 697: native */).radii.md : 0;
let PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object4.padding = PX_16;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object4.gap = PX_16;
object3.wrapper = object4;
let PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object3.progressContainer = {gap: PX_8};
let PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
object3.progressRow = {'flexDirection': 'row', 'alignItems': 'center', gap: PX_4};
object3.progressTitleText = {flex: 1};
PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object3.progressBarContainer = {paddingHorizontal: PX_8};
const object5 = {height: 6};
object5.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
let BACKGROUND_MOD_NORMAL = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_MOD_NORMAL;
object5.backgroundColor = BACKGROUND_MOD_NORMAL;
object5.overflow = 'hidden';
object3.progressBarTrack = object5;
const object6 = {height: 6};
object6.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
const BRAND_500 = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.BRAND_500;
object6.backgroundColor = BRAND_500;
object3.progressBarFill = object6;
const object10 = {'flexDirection': 'row', 'justifyContent': 'flex-end', 'alignItems': 'center'};
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object10.minHeight = PX_16;
PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
object10.marginTop = PX_4;
object3.progressLabels = object10;
BACKGROUND_MOD_NORMAL = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_MOD_NORMAL;
object3.divider = {height: 1, backgroundColor: BACKGROUND_MOD_NORMAL};
object3.dropdownRow = {'flexDirection': 'row', 'alignItems': 'center', 'justifyContent': 'space-between'};
PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
object3.badgesRow = {'flexDirection': 'row', 'flexWrap': 'wrap', 'justifyContent': 'center', paddingVertical: PX_4};
const object11 = {'width': '33.33%', 'alignItems': 'center', 'justifyContent': 'center'};
PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object11.padding = PX_8;
PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object11.gap = PX_8;
object3.badgeItem = object11;
const object14 = {};
BACKGROUND_MOD_MUTED = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_MOD_MUTED;
object14.backgroundColor = BACKGROUND_MOD_MUTED;
object14.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.md;
object14.borderWidth = 1;
const BORDER_MUTED = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_MUTED;
object14.borderColor = BORDER_MUTED;
object3.badgeItemActive = object14;
object3.badgeCopy = {'alignItems': 'center', 'gap': 2};
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object3.footerText = {textAlign: 'center', marginBottom: PX_16};
const object18 = {};
PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object18.paddingHorizontal = PX_8;
PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
object18.gap = PX_4;
object3.introContent = object18;
const object19 = {'flexDirection': 'row', 'flexWrap': 'wrap', 'justifyContent': 'center'};
PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
object19.paddingVertical = PX_4;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object19.paddingHorizontal = PX_16;
object3.introGrid = object19;
const object20 = {'width': '33.33%', 'alignItems': 'center', 'justifyContent': 'center'};
PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object20.padding = PX_8;
PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object20.gap = PX_8;
object3.introGridItem = object20;
return object3;
}
function UserSettingsGiftingBadgeProgress({analyticsLocation}) { // fn#93923, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12483:3296, offset: 0x020cad4a, size: 1897 bytes, params: 2, frame: 47
var r7;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var jsxRuntimeEnv0_11Binding;
var items7;
const styles = useStyles((importDefault(1357) /* metro dependency 1357: MobileVisualRefreshExperiment */)('UserSettingsGiftingBadgeProgress'));
const [property, env0_2] = env0_3(env0_4.useState(false), 2);
const defaultImport2 = importDefault(6771) /* metro dependency 6771: useAnalyticsLocations */;
const USER_SETTINGS_GIFT_INVENTORY = (importDefault(6789) /* metro dependency 6789: AnalyticsLocation */).USER_SETTINGS_GIFT_INVENTORY;
var env0_3 = defaultImport2(USER_SETTINGS_GIFT_INVENTORY).analyticsLocations;
const {badgeProgress, currentTier, nextTier, giftsRemaining,
tiers} = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([BadgeDirectoryStore],
_fun93924);
if (badgeProgress === 0) {
return <GiftingBadgeIntro analyticsLocation={analyticsLocation} />;
}
const singleRequirementThreshold = getSingleRequirementThreshold(currentTier);
const singleRequirementThreshold2 = getSingleRequirementThreshold(nextTier);
const r35 = nextTier != null ? singleRequirementThreshold2 > 0 ? badgeProgress / singleRequirementThreshold2 * 100 : 100 : singleRequirementThreshold > 0 ? global.Math.min(singleRequirementThreshold, badgeProgress) / singleRequirementThreshold * 100 : 100;
const r21 = nextTier != null ? intl.formatToPlainString((importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */).XTX3OO,
{count: giftsRemaining,
nextTier: nextTier?.name ?? ''}) : intl.formatToPlainString((importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */).LnsdbK,
{currentTier: currentTier?.name ?? ''});
const items2 = [currentTier?.simple_icon_url != null && ((Component) => <Component icon={currentTier.simple_icon_url} size={36} style={{margin: 4}} />)(importDefault(10388) /* metro dependency 10388: GiftingBadgeIcon */)];
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
items2[1] = <Text style={styles.progressTitleText} variant="text-md/medium" color="text-strong">{r21}</Text>;
items2[2] = nextTier?.simple_icon_url != null && ((Component) => <Component icon={nextTier.simple_icon_url} size={36} style={{margin: 4}} />)(importDefault(10388) /* metro dependency 10388: GiftingBadgeIcon */);
const view = <View style={styles.progressRow}>{items2}</View>;
const items3 = [styles.progressBarFill];
const object = {};
const Math = global.Math;
const min = Math.min;
const Math2 = global.Math;
object.width = '' + Reflect.apply(min, Math, [Math2.max(r35, 0), 100]) + '%';
items3[1] = object;
const items5 = [<View style={styles.progressContainer}>{view}<View style={styles.progressBarContainer}><View style={styles.progressBarTrack}><View style={items3} /></View><View style={styles.progressLabels}><Text variant="text-xs/normal" color="text-subtle">{intl.format((importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */).iIpfQe,
{threshold: nextTier == null ? singleRequirementThreshold : singleRequirementThreshold2,
count: nextTier == null ? singleRequirementThreshold : badgeProgress})}</Text></View></View></View>];
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
const object2 = {variant: 'primary'};
const GiftIcon = (require(10112) /* metro dependency 10112: GiftIcon */).GiftIcon;
const WHITE = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.WHITE;
object2.icon = <GiftIcon size="sm" color={WHITE} />;
let string = intl.string;
const DZnomS = (importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */).DZnomS;
object2.text = Reflect.apply(string, intl, [DZnomS]);
object2.onPress = onPress_93925;
object2.grow = true;
items5[1] = <Button {...object2} />;
items5[2] = <View style={styles.divider} />;
const pressableBindingProps = {style: styles.dropdownRow, onPress: onPress_93926};
string = intl.string;
const WZ4cXA = (importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */).WZ4cXA;
const text = <Text variant="text-sm/medium" color="text-strong">{Reflect.apply(string, intl, [WZ4cXA])}</Text>;
const r14 = property ? (require(12298) /* metro dependency 12298: ChevronSmallUpIcon */).ChevronSmallUpIcon : (require(8708) /* metro dependency 8708: ChevronSmallDownIcon */).ChevronSmallDownIcon;
const INTERACTIVE_ICON_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.INTERACTIVE_ICON_DEFAULT;
items5[3] = <Pressable {...pressableBindingProps}>{text}{((Component) => <Component color={INTERACTIVE_ICON_DEFAULT} />)(r14)}</Pressable>;
if (property) {
jsxRuntimeEnv0_11Binding = jsxRuntimeEnv0_11;
items7 = [<View style={styles.badgesRow}>{tiers.map(_fun93928)}</View>];
items7[1] = <Text style={styles.footerText} variant="text-xs/normal" color="text-muted">{intl.string((importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */)['4Yp0mI'])}</Text>;
r7 = <>{items7}</>;
} else {
r7 = property;
}
items5[4] = r7;
return (
<View style={styles.wrapper}>
{items5}
</View>
);
}
function _fun93919() { // fn#93919, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12483:2208, offset: 0x020ca7ab, size: 69 bytes, params: 1, frame: 13
let value = environment.__proto__;
const getBadgeById = BadgeDirectoryStore.getBadgeById;
value = undefined;
const BadgeId = (require(7635) /* metro dependency 7635: BadgeId */).BadgeId;
const GIFTING = BadgeId.GIFTING;
const value2 = Reflect.apply(getBadgeById, BadgeDirectoryStore, [GIFTING]);
return value2 == null ? value : value2.tiers;
}
function _fun93920(a0) { // fn#93920, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12483:2535, offset: 0x020ca7f0, size: 364 bytes, params: 2, frame: 29
const r6 = a0.simple_icon_url != null && ((Component) => <Component icon={a0.simple_icon_url} size={44} />)(importDefault(10388) /* metro dependency 10388: GiftingBadgeIcon */);
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const text = <Text variant="text-sm/semibold" color="text-subtle">{a0.name ?? ''}</Text>;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const format = intl.format;
const qvx9E4 = (importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */).qvx9E4;
const object = {};
object.count = getSingleRequirementThreshold(a0);
return (
<View style={styles.introGridItem} key={a0.key}>
{r6}
<View style={styles.badgeCopy}>
{text}
<Text variant="text-xs/normal" color="text-muted">
{Reflect.apply(format, intl, [qvx9E4, object])}
function _fun93920(a0) { // fn#93920, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12483:2535, offset: 0x020ca7f0, size: 364 bytes, params: 2, frame: 29
const r6 = a0.simple_icon_url != null && ((Component) => <Component icon={a0.simple_icon_url} size={44} />)(importDefault(10388) /* metro dependency 10388: GiftingBadgeIcon */);
const Text = (TextModule).Text;
const text = (
<Text variant="text-sm/semibold" color="text-subtle">
{a0.name ?? ''}
</Text>
);
const intl = (IndexNativeModule).intl;
const format = intl.format;
const qvx9E4 = (GiftingBadgeMessages).qvx9E4;
const object2 = {};
object2.count = getSingleRequirementThreshold(a0);
return (
<View style={styles.introGridItem} key={a0.key}>
{r6}
<View style={styles.badgeCopy}>
{text}
<Text variant="text-xs/normal" color="text-muted">
{Reflect.apply(format, intl, [qvx9E4, object2])}
</Text>
</View>
</View>
);
}
function GiftingBadgeIntroOnPress() { // fn#93921, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12483:3092, owner: GiftingBadgeIntro.onPress, offset: 0x020ca95c, size: 61 bytes, params: 1, frame: 14
const value = environment.__proto__;
(OpenGiftModalModule).openGiftModal({analyticsLocation: analyticsLocation,
analyticsLocations: analyticsLocations});
}
}
function _fun93922(a0) { // fn#93922, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12483:263, offset: 0x020ca999, size: 945 bytes, params: 2, frame: 17
const object = {};
const object2 = {};
let BACKGROUND_MOD_MUTED = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_MOD_MUTED;
object2.backgroundColor = BACKGROUND_MOD_MUTED;
object2.borderRadius = a0 ? (importDefault(697) /* metro dependency 697: native */).radii.md : 0;
let PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object2.padding = PX_16;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object2.gap = PX_16;
object.wrapper = object2;
let PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object.progressContainer = {gap: PX_8};
let PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
object.progressRow = {'flexDirection': 'row', 'alignItems': 'center', gap: PX_4};
object.progressTitleText = {flex: 1};
PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object.progressBarContainer = {paddingHorizontal: PX_8};
const object7 = {height: 6};
object7.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
let BACKGROUND_MOD_NORMAL = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_MOD_NORMAL;
object7.backgroundColor = BACKGROUND_MOD_NORMAL;
object7.overflow = 'hidden';
object.progressBarTrack = object7;
const object8 = {height: 6};
object8.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
const BRAND_500 = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.BRAND_500;
object8.backgroundColor = BRAND_500;
object.progressBarFill = object8;
const object9 = {'flexDirection': 'row', 'justifyContent': 'flex-end', 'alignItems': 'center'};
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object9.minHeight = PX_16;
PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
object9.marginTop = PX_4;
object.progressLabels = object9;
BACKGROUND_MOD_NORMAL = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_MOD_NORMAL;
object.divider = {height: 1, backgroundColor: BACKGROUND_MOD_NORMAL};
object.dropdownRow = {'flexDirection': 'row', 'alignItems': 'center', 'justifyContent': 'space-between'};
PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
object.badgesRow = {'flexDirection': 'row', 'flexWrap': 'wrap', 'justifyContent': 'center', paddingVertical: PX_4};
const object12 = {'width': '33.33%', 'alignItems': 'center', 'justifyContent': 'center'};
PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object12.padding = PX_8;
PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object12.gap = PX_8;
object.badgeItem = object12;
const object13 = {};
BACKGROUND_MOD_MUTED = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_MOD_MUTED;
object13.backgroundColor = BACKGROUND_MOD_MUTED;
object13.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.md;
object13.borderWidth = 1;
const BORDER_MUTED = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_MUTED;
object13.borderColor = BORDER_MUTED;
object.badgeItemActive = object13;
object.badgeCopy = {'alignItems': 'center', 'gap': 2};
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object.footerText = {textAlign: 'center', marginBottom: PX_16};
const object15 = {};
PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object15.paddingHorizontal = PX_8;
PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
object15.gap = PX_4;
object.introContent = object15;
const object16 = {'flexDirection': 'row', 'flexWrap': 'wrap', 'justifyContent': 'center'};
PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
object16.paddingVertical = PX_4;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object16.paddingHorizontal = PX_16;
object.introGrid = object16;
const object17 = {'width': '33.33%', 'alignItems': 'center', 'justifyContent': 'center'};
PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object17.padding = PX_8;
PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object17.gap = PX_8;
object.introGridItem = object17;
return object;
}
function UserSettingsGiftingBadgeProgress({analyticsLocation}) { // fn#93923, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12483:3296, offset: 0x020cad4a, size: 1897 bytes, params: 2, frame: 47
var r7;
const intl = (IndexNativeModule).intl;
var jsxRuntimeEnv0_11Binding;
var items7;
const styles = useStyles((MobileVisualRefreshExperiment)('UserSettingsGiftingBadgeProgress'));
const [property, env0_2] = analyticsLocations(ReactModule.useState(false), 2);
const defaultImport2 = UseAnalyticsLocations;
const USER_SETTINGS_GIFT_INVENTORY = (AnalyticsLocation).USER_SETTINGS_GIFT_INVENTORY;
var analyticsLocations = defaultImport2(USER_SETTINGS_GIFT_INVENTORY).analyticsLocations;
const {badgeProgress, currentTier, nextTier, giftsRemaining,
tiers} = (FluxModule).useStateFromStoresObject([BadgeDirectoryStore],
_fun93924);
if (badgeProgress === 0) {
return <GiftingBadgeIntro analyticsLocation={analyticsLocation} />;
}
const singleRequirementThreshold = getSingleRequirementThreshold(currentTier);
const singleRequirementThreshold2 = getSingleRequirementThreshold(nextTier);
const r35 = nextTier != null ? singleRequirementThreshold2 > 0 ? badgeProgress / singleRequirementThreshold2 * 100 : 100 : singleRequirementThreshold > 0 ? global.Math.min(singleRequirementThreshold, badgeProgress) / singleRequirementThreshold * 100 : 100;
const r21 = nextTier != null ? intl.formatToPlainString((importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */).XTX3OO,
{count: giftsRemaining,
nextTier: nextTier?.name ?? ''}) : intl.formatToPlainString((importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */).LnsdbK,
{currentTier: currentTier?.name ?? ''});
const items2 = [
currentTier?.simple_icon_url != null && ((Component) => <Component icon={currentTier.simple_icon_url} size={36} style={{margin: 4}} />)(importDefault(10388) /* metro dependency 10388: GiftingBadgeIcon */),
];
const Text = (TextModule).Text;
items2[1] = (
<Text
style={styles.progressTitleText}
variant="text-md/medium"
color="text-strong"
>
{r21}
</Text>
);
items2[2] = nextTier?.simple_icon_url != null && ((Component) => <Component icon={nextTier.simple_icon_url} size={36} style={{margin: 4}} />)(importDefault(10388) /* metro dependency 10388: GiftingBadgeIcon */);
const view = (
<View style={styles.progressRow}>
{items2}
</View>
</View>
);
}
function GiftingBadgeIntroOnPress() { // fn#93921, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12483:3092, owner: GiftingBadgeIntro.onPress, offset: 0x020ca95c, size: 61 bytes, params: 1, frame: 14
const value = environment.__proto__;
(require(10381) /* metro dependency 10381: openGiftModal */).openGiftModal({analyticsLocation: analyticsLocation,
analyticsLocations: analyticsLocations});
}
function _fun93924() { // fn#93924, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12483:3566, offset: 0x020cb4b3, size: 284 bytes, params: 1, frame: 18
const object2 = {};
let value = environment.__proto__;
const getSingleRequirementProgress = BadgeDirectoryStore.getSingleRequirementProgress;
const value2 = undefined;
const BadgeId = (require(7635) /* metro dependency 7635: BadgeId */).BadgeId;
let GIFTING = BadgeId.GIFTING;
const value3 = Reflect.apply(getSingleRequirementProgress, BadgeDirectoryStore, [GIFTING]);
object2.badgeProgress = (value3 == null ? value2 : value3.current) ?? 0;
const getCurrentTier = BadgeDirectoryStore.getCurrentTier;
GIFTING = BadgeId.GIFTING;
object2.currentTier = Reflect.apply(getCurrentTier, BadgeDirectoryStore, [GIFTING]);
const getNextTier = BadgeDirectoryStore.getNextTier;
GIFTING = BadgeId.GIFTING;
object2.nextTier = Reflect.apply(getNextTier, BadgeDirectoryStore, [GIFTING]);
const getRemainingToNextTier = BadgeDirectoryStore.getRemainingToNextTier;
GIFTING = BadgeId.GIFTING;
object2.giftsRemaining = Reflect.apply(getRemainingToNextTier, BadgeDirectoryStore, [GIFTING]);
const getBadgeById = BadgeDirectoryStore.getBadgeById;
GIFTING = BadgeId.GIFTING;
value = Reflect.apply(getBadgeById, BadgeDirectoryStore, [GIFTING]);
object2.tiers = (value == null ? value2 : value.tiers) ?? [];
return object2;
}
function UserSettingsGiftingBadgeProgressOnPress() { // fn#93925, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12483:5344, owner: UserSettingsGiftingBadgeProgress.onPress, offset: 0x020cb5cf, size: 61 bytes, params: 1, frame: 14
const value = environment.__proto__;
(require(10381) /* metro dependency 10381: openGiftModal */).openGiftModal({analyticsLocation: analyticsLocation,
analyticsLocations: analyticsLocations});
}
function UserSettingsGiftingBadgeProgressOnPress_93926() { // fn#93926, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12483:5483, owner: UserSettingsGiftingBadgeProgress.onPress, offset: 0x020cb60c, size: 25 bytes, params: 1, frame: 11
return env0_2(function(a0) {
return !a0;
});
}
function _fun93928(a0) { // fn#93928, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12483:5790, offset: 0x020cb625, size: 418 bytes, params: 2, frame: 29
const items2 = [styles.badgeItem];
items2[1] = a0.key === currentTier?.key && styles.badgeItemActive;
const r6 = a0.simple_icon_url != null && ((Component) => <Component icon={a0.simple_icon_url} size={36} />)(importDefault(10388) /* metro dependency 10388: GiftingBadgeIcon */);
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const text = <Text variant="text-sm/semibold" color="text-strong">{a0.name ?? ''}</Text>;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const format = intl.format;
const qvx9E4 = (importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */).qvx9E4;
const object = {};
object.count = getSingleRequirementThreshold(a0);
return (
<View style={items2} key={a0.key}>
{r6}
<View style={styles.badgeCopy}>
);
const items3 = [styles.progressBarFill];
const object3 = {};
const Math = global.Math;
const min = Math.min;
const Math2 = global.Math;
object3.width = '' + Reflect.apply(min, Math, [Math2.max(r35, 0), 100]) + '%';
items3[1] = object3;
const items5 = [
<View style={styles.progressContainer}>
{view}
<View style={styles.progressBarContainer}>
<View style={styles.progressBarTrack}>
<View style={items3} />
</View>
<View style={styles.progressLabels}>
<Text variant="text-xs/normal" color="text-subtle">
{intl.format((importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */).iIpfQe,
{threshold: nextTier == null ? singleRequirementThreshold : singleRequirementThreshold2,
count: nextTier == null ? singleRequirementThreshold : badgeProgress})}
</Text>
</View>
</View>
</View>,
];
const Button = (ButtonNativeModule).Button;
const object4 = {variant: 'primary'};
const GiftIcon = (GiftIconModule).GiftIcon;
const WHITE = (Native).unsafe_rawColors.WHITE;
object4.icon = <GiftIcon size="sm" color={WHITE} />;
let string = intl.string;
const DZnomS = (importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */).DZnomS;
object4.text = Reflect.apply(string, intl, [DZnomS]);
object4.onPress = onPress_93925;
object4.grow = true;
items5[1] = <Button {...object4} />;
items5[2] = <View style={styles.divider} />;
const pressableBindingProps = {style: styles.dropdownRow, onPress: onPress_93926};
string = intl.string;
const WZ4cXA = (importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */).WZ4cXA;
const text = (
<Text variant="text-sm/medium" color="text-strong">
{Reflect.apply(string, intl, [WZ4cXA])}
</Text>
);
const r14 = property ? (require(12298) /* metro dependency 12298: ChevronSmallUpIcon */).ChevronSmallUpIcon : (require(8708) /* metro dependency 8708: ChevronSmallDownIcon */).ChevronSmallDownIcon;
const INTERACTIVE_ICON_DEFAULT = (Native).colors.INTERACTIVE_ICON_DEFAULT;
items5[3] = (
<Pressable {...pressableBindingProps}>
{text}
<Text variant="text-xs/normal" color="text-subtle">
{Reflect.apply(format, intl, [qvx9E4, object])}
{((Component) => <Component color={INTERACTIVE_ICON_DEFAULT} />)(r14)}
</Pressable>
);
if (property) {
jsxRuntimeEnv0_11Binding = jsxRuntimeEnv0_11;
items7 = [
<View style={styles.badgesRow}>
{tiers.map(_fun93928)}
</View>,
];
items7[1] = (
<Text
style={styles.footerText}
variant="text-xs/normal"
color="text-muted"
>
{intl.string((importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */)['4Yp0mI'])}
</Text>
);
r7 = (
<>
{items7}
</>
);
} else {
r7 = property;
}
items5[4] = r7;
return (
<View style={styles.wrapper}>
{items5}
</View>
</View>
);
);
function _fun93924() { // fn#93924, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12483:3566, offset: 0x020cb4b3, size: 284 bytes, params: 1, frame: 18
const object = {};
let value = environment.__proto__;
let badgeDirectoryStoreBinding = BadgeDirectoryStore;
const getSingleRequirementProgress = badgeDirectoryStoreBinding.getSingleRequirementProgress;
const value2 = undefined;
const BadgeId = (BadgeIdModule).BadgeId;
let GIFTING = BadgeId.GIFTING;
const value3 = Reflect.apply(getSingleRequirementProgress, badgeDirectoryStoreBinding, [GIFTING]);
object.badgeProgress = (value3 == null ? value2 : value3.current) ?? 0;
badgeDirectoryStoreBinding = BadgeDirectoryStore;
const getCurrentTier = badgeDirectoryStoreBinding.getCurrentTier;
GIFTING = BadgeId.GIFTING;
object.currentTier = Reflect.apply(getCurrentTier, badgeDirectoryStoreBinding, [GIFTING]);
badgeDirectoryStoreBinding = BadgeDirectoryStore;
const getNextTier = badgeDirectoryStoreBinding.getNextTier;
GIFTING = BadgeId.GIFTING;
object.nextTier = Reflect.apply(getNextTier, badgeDirectoryStoreBinding, [GIFTING]);
badgeDirectoryStoreBinding = BadgeDirectoryStore;
const getRemainingToNextTier = badgeDirectoryStoreBinding.getRemainingToNextTier;
GIFTING = BadgeId.GIFTING;
object.giftsRemaining = Reflect.apply(getRemainingToNextTier, badgeDirectoryStoreBinding, [GIFTING]);
badgeDirectoryStoreBinding = BadgeDirectoryStore;
const getBadgeById = badgeDirectoryStoreBinding.getBadgeById;
GIFTING = BadgeId.GIFTING;
value = Reflect.apply(getBadgeById, badgeDirectoryStoreBinding, [GIFTING]);
object.tiers = (value == null ? value2 : value.tiers) ?? [];
return object;
}
function UserSettingsGiftingBadgeProgressOnPress() { // fn#93925, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12483:5344, owner: UserSettingsGiftingBadgeProgress.onPress, offset: 0x020cb5cf, size: 61 bytes, params: 1, frame: 14
const value = environment.__proto__;
(OpenGiftModalModule).openGiftModal({analyticsLocation: analyticsLocation,
analyticsLocations: analyticsLocations});
}
function UserSettingsGiftingBadgeProgressOnPress_93926() { // fn#93926, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12483:5483, owner: UserSettingsGiftingBadgeProgress.onPress, offset: 0x020cb60c, size: 25 bytes, params: 1, frame: 11
return env0_2(function(a0) {
return !a0;
});
}
function _fun93928(a0) { // fn#93928, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12483:5790, offset: 0x020cb625, size: 418 bytes, params: 2, frame: 29
const items2 = [styles.badgeItem];
items2[1] = a0.key === currentTier?.key && styles.badgeItemActive;
const r6 = a0.simple_icon_url != null && ((Component) => <Component icon={a0.simple_icon_url} size={36} />)(importDefault(10388) /* metro dependency 10388: GiftingBadgeIcon */);
const Text = (TextModule).Text;
const text = (
<Text variant="text-sm/semibold" color="text-strong">
{a0.name ?? ''}
</Text>
);
const intl = (IndexNativeModule).intl;
const format = intl.format;
const qvx9E4 = (GiftingBadgeMessages).qvx9E4;
const object2 = {};
object2.count = getSingleRequirementThreshold(a0);
return (
<View style={items2} key={a0.key}>
{r6}
<View style={styles.badgeCopy}>
{text}
<Text variant="text-xs/normal" color="text-subtle">
{Reflect.apply(format, intl, [qvx9E4, object2])}
</Text>
</View>
</View>
);
}
}
}
global.__d(_fun93917, 12297, [57, 31, 27, 7670, 33, 4501, 697, 1357, 6771, 6789, 566, 7635, 4573, 1244, 2320, 10388,
4578, 10112, 10381, 12298, 8708,
2]) /* metro module 12297, dependencies: [57, 31, 27, 7670, 33, 4501, 697, 1357, 6771, 6789, 566, 7635, 4573, 1244, 2320, 10388, 4578, 10112, 10381, 12298, 8708, 2] */;
@@ -1,20 +1,43 @@
/* Metro module 7029; source: modules/user_settings/premium/native/UserSettingsPremium.tsx; dependencies: [57, 31, 27, 1878, 3807, 3808, 5181, 7030, 5140, 661, 1880, 33, 4501, 7031, 1585, 6771, 6789, 7032, 4594, 683, 566, 1484, 1421, 7033, 7035, 694, 7037, 5182, 7062, 7257, 7061, 7506, 7507, 7508, 7004, 3802, 7509, 7549, 7550, 7551, 7940, 12195, 7327, 477, 2] */
import Module00057 from '../../../../by-id/module-00057.js'; /* Metro dependency 57 */
import AnalyticsUtils from '../../../../utils/AnalyticsUtils.tsx'; /* Metro dependency 683 */
import Dispatcher from '../../../../Dispatcher.tsx'; /* Metro dependency 694 */
import UseSafeAreaInsetsNative from '../../../safe_area/useSafeAreaInsets.native.tsx'; /* Metro dependency 1585 */
import UserStore from '../../../../stores/UserStore.tsx'; /* Metro dependency 1878 */
import SubscriptionPlanStore from '../../../../stores/billing/SubscriptionPlanStore.tsx'; /* Metro dependency 3807 */
import SubscriptionStore from '../../../../stores/billing/SubscriptionStore.tsx'; /* Metro dependency 3808 */
import UseMountEffect from '../../../../hooks/useMountEffect.tsx'; /* Metro dependency 4594 */
import IAPStoreAndroid from '../../../../stores/native/IAPStore.android.tsx'; /* Metro dependency 5140 */
import EntitlementStore from '../../../../stores/game_store/EntitlementStore.tsx'; /* Metro dependency 5181 */
import UseAnalyticsLocations from '../../../app_analytics/useAnalyticsLocations.tsx'; /* Metro dependency 6771 */
import AppStateStore from '../../../../stores/native/AppStateStore.tsx'; /* Metro dependency 7030 */
import UseStoreConnectionErrorAlert from '../../../premium/native/useStoreConnectionErrorAlert.tsx'; /* Metro dependency 7031 */
import BillingActionCreators from '../../../../actions/native/BillingActionCreators.tsx'; /* Metro dependency 7037 */
import UserSettingsModalActionCreators from '../../../../actions/UserSettingsModalActionCreators.tsx'; /* Metro dependency 7508 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
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 FluxModule from '../../../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */
import * as SetUtilsModule from '../../../../external/discord_common/js/shared/utils/SetUtils.tsx'; /* Metro dependency 1421 */
import * as UseNavigationNativeModule from '../../../../design/components/Navigator/native/useNavigation.native.tsx'; /* Metro dependency 1484 */
import * as CreateStylesModule from '../../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */
import * as EntitlementActionCreatorsModule from '../../../../actions/EntitlementActionCreators.tsx'; /* Metro dependency 5182 */
import * as UserSettingsUtilsModule from '../../../../utils/UserSettingsUtils.tsx'; /* Metro dependency 7004 */
import * as UseSettingNavigationRouteModule from '../../core/native/useSettingNavigationRoute.tsx'; /* Metro dependency 7032 */
import * as BlockedPaymentsCountryExperimentModule from '../../../billing/experiments/BlockedPaymentsCountryExperiment.tsx'; /* Metro dependency 7035 */
import * as MobileTrialUtilsModule from '../../../premium/native/MobileTrialUtils.tsx'; /* Metro dependency 7061 */
import * as UsePremiumTrialOfferNativeModule from '../../../premium/hooks/usePremiumTrialOffer.native.tsx'; /* Metro dependency 7062 */
import * as UsePremiumDiscountOfferNativeModule from '../../../premium/hooks/usePremiumDiscountOffer.native.tsx'; /* Metro dependency 7257 */
function _fun55703(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#55703, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7207:6, offset: 0x013aebf3, size: 512 bytes, params: 8, frame: 21
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 */;
let value = require(27) /* metro dependency 27 */;
let value = ReactNativeModule;
const env0_5 = value.ActivityIndicator;
const env0_6 = value.View;
const env0_7 = value.ScrollView;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
const subscriptionPlanStore = importDefault(3807) /* metro dependency 3807: SubscriptionPlanStore */;
const subscriptionStore = importDefault(3808) /* metro dependency 3808: SubscriptionStore */;
const entitlementStore = importDefault(5181) /* metro dependency 5181: EntitlementStore */;
const appStateStore = importDefault(7030) /* metro dependency 7030: AppStateStore */;
const iapStoreAndroid = importDefault(5140) /* metro dependency 5140: IAPStoreAndroid */;
value = require(661) /* metro dependency 661: Constants */;
const env0_14 = value.AnalyticEvents;
const env0_15 = value.AppStates;
@@ -23,226 +46,262 @@ function _fun55703(global, require, importDefault, importAll, module, exports, d
value = require(1880) /* metro dependency 1880: PremiumConstants */;
const env0_17 = value.PremiumTypes;
const env0_18 = value.PREMIUM_SUBSCRIPTION_APPLICATION;
const env0_19 = (require(33) /* metro dependency 33 */).jsx;
const env0_20 = (require(4501) /* metro dependency 4501: createStyles */).createStyles({root: {flex: 1},
const env0_20 = (CreateStylesModule).createStyles({root: {flex: 1},
container: {paddingVertical: 24, paddingHorizontal: USER_SETTINGS_CONTAINER_HORIZONTAL_PADDING},
subscriptionHeader: {'marginTop': 20, 'width': '100%'}, billingInfo: {'marginTop': 20, 'width': '100%'},
accountCredit: {'marginTop': 20, 'paddingHorizontal': null, 'width': '100%',
paddingHorizontal: USER_SETTINGS_CONTAINER_HORIZONTAL_PADDING}, loadingSpinnerContainer: {'display': 'flex',
'alignItems': 'center', 'justifyContent': 'center', 'height': '100%'}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/premium/native/UserSettingsPremium.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/user_settings/premium/native/UserSettingsPremium.tsx');
exports.default = _default_55704;
}
function _default_55704({applicationId, activitySessionId, channelId, guildId, isFromTextSection, onClose, premiumFeatureCardOrder, onPaymentSuccess, onPaymentDismiss}) { // fn#55704, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7207:776, offset: 0x013aedf3, size: 1605 bytes, params: 2, frame: 41
var r17;
var r10;
var r0;
var items2;
var moduleValue15;
var AnalyticsLocationProvider;
var object2;
var PremiumMarketingPage;
var value;
const styles = useStyles();
(importDefault(7031) /* metro dependency 7031: useStoreConnectionErrorAlert */)();
const bottom = (importDefault(1585) /* metro dependency 1585: useSafeAreaInsetsNative */)().bottom;
const defaultImport = importDefault(6771) /* metro dependency 6771: useAnalyticsLocations */;
let r1 = isFromTextSection ? [(importDefault(6789) /* metro dependency 6789: AnalyticsLocation */).TEXT_AND_IMAGES] : [];
let object = [];
const value3 = arraySpread(object, r1, 0, undefined);
const PREMIUM_MARKETING = (importDefault(6789) /* metro dependency 6789: AnalyticsLocation */).PREMIUM_MARKETING;
object[value3] = PREMIUM_MARKETING;
value3 + 1;
const analyticsLocations = defaultImport(object).analyticsLocations;
const env0_4 = analyticsLocations;
const env0_5 = (require(7032) /* metro dependency 7032: useSettingNavigationRoute */).useSettingNavigationRoute();
(importDefault(4594) /* metro dependency 4594: useMountEffect */)(_fun55705);
const fluxModule = require(566) /* metro dependency 566: flux */;
const useStateFromStoresArray = fluxModule.useStateFromStoresArray;
const value5 = guildId(Reflect.apply(useStateFromStoresArray, fluxModule, [[SubscriptionStore], _fun55706]), 2);
const property = value5[0];
const property2 = value5[1];
const env0_6 = (require(1484) /* metro dependency 1484: useNavigationNative */).useNavigation();
const state = fluxModule.useStateFromStores([AppStateStore], function() {
return AppStateStore.getState();
});
const binding = env0_4;
const env0_8 = binding.useRef(state);
const value6 = fluxModule.useStateFromStores([EntitlementStore], function() {
return EntitlementStore.hasFetchedForApplicationIds([PREMIUM_SUBSCRIPTION_APPLICATION]);
});
const value7 = fluxModule.useStateFromStores([EntitlementStore], _fun55709, [],
(require(1421) /* metro dependency 1421: SetUtils */).areSetsEqual);
const value8 = fluxModule.useStateFromStores([SubscriptionPlanStore], function() {
return SubscriptionPlanStore.isLoadedForPremiumSKUs();
});
const product = fluxModule.useStateFromStores([IAPStoreAndroid], function() {
return IAPStoreAndroid.getProduct(require(dependencyMap[23]).ProductIds.PREMIUM_TIER_2_MONTHLY);
});
const value9 = fluxModule.useStateFromStores([UserStore], _fun55712);
const value10 = (require(7035) /* metro dependency 7035: BlockedPaymentsCountryExperiment */).useIsPaymentsBlocked();
binding.useEffect(function() {
importDefault(dependencyMap[25]).wait(_fun55714);
require(dependencyMap[27]).fetchUserEntitlementsForApplication(PREMIUM_SUBSCRIPTION_APPLICATION);
}, []);
binding.useEffect(_fun55715, [state]);
const value11 = (require(7062) /* metro dependency 7062: usePremiumTrialOfferNative */).usePremiumTrialOffer();
const value12 = (require(7257) /* metro dependency 7257: usePremiumDiscountOfferNative */).usePremiumDiscountOffer();
const value13 = (require(7061) /* metro dependency 7061: MobileTrialUtils */).usePremiumTrialOfferPremiumType();
binding.useEffect(_fun55717, [value11, value12]);
let r20 = property != null && value8 && property2;
if (product == null) {
r0 = <View style={styles.loadingSpinnerContainer}><ActivityIndicator animating size="large" /></View>;
} else if (value8) {
if (property2) {
if (value6) {
if (value10) {
var scrollViewBindingProps = {style: styles.container};
value = importDefault(7327) /* metro dependency 7327: BlockedPaymentsCountryDisplay */;
value = <ScrollView {...scrollViewBindingProps}>{((Component) => <Component />)(value)}</ScrollView>;
r1 = value;
} else {
object = {};
items2 = [styles.root];
moduleValue15 = require(477) /* metro dependency 477: PlatformUtils */;
items2[1] = {marginBottom: moduleValue15.isAndroid() ? bottom : 0};
object.style = items2;
AnalyticsLocationProvider = (require(6771) /* metro dependency 6771: useAnalyticsLocations */).AnalyticsLocationProvider;
object2 = {value: analyticsLocations};
if ((require(3802) /* metro dependency 3802: PremiumUtils */).useHasTier2Premium()) {
value = importDefault(7551) /* metro dependency 7551: PremiumNitroHome */;
value = ((Component) => <Component onClose={onClose} />)(value);
r10 = value;
function _default_55704({applicationId, activitySessionId, channelId, guildId, isFromTextSection, onClose, premiumFeatureCardOrder, onPaymentSuccess, onPaymentDismiss}) { // fn#55704, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7207:776, offset: 0x013aedf3, size: 1605 bytes, params: 2, frame: 41
var r17;
var r10;
var r0;
var items2;
var moduleValue15;
var AnalyticsLocationProvider;
var object3;
var PremiumMarketingPage;
var value;
const styles = useStyles();
(UseStoreConnectionErrorAlert)();
const bottom = (UseSafeAreaInsetsNative)().bottom;
const defaultImport = UseAnalyticsLocations;
let r1 = isFromTextSection ? [(importDefault(6789) /* metro dependency 6789: AnalyticsLocation */).TEXT_AND_IMAGES] : [];
let object = [];
const value3 = arraySpread(object, r1, 0, undefined);
const PREMIUM_MARKETING = (importDefault(6789) /* metro dependency 6789: AnalyticsLocation */).PREMIUM_MARKETING;
object[value3] = PREMIUM_MARKETING;
value3 + 1;
const analyticsLocations = defaultImport(object).analyticsLocations;
const analyticsLocations2 = analyticsLocations;
const env0_5 = (UseSettingNavigationRouteModule).useSettingNavigationRoute();
(UseMountEffect)(_fun55705);
const useStateFromStoresArray = FluxModule.useStateFromStoresArray;
const value5 = guildId(Reflect.apply(useStateFromStoresArray, FluxModule, [[SubscriptionStore], _fun55706]), 2);
const property = value5[0];
const property2 = value5[1];
const env0_6 = (UseNavigationNativeModule).useNavigation();
let useStateFromStores = FluxModule.useStateFromStores;
const state = Reflect.apply(useStateFromStores, FluxModule, [[AppStateStore], function() {
return AppStateStore.getState();
}]);
const binding = analyticsLocations2;
const env0_8 = binding.useRef(state);
useStateFromStores = FluxModule.useStateFromStores;
const entitlementStoreBinding = EntitlementStore;
const value6 = Reflect.apply(useStateFromStores, FluxModule, [[entitlementStoreBinding], function() {
return EntitlementStore.hasFetchedForApplicationIds([PREMIUM_SUBSCRIPTION_APPLICATION]);
}]);
const value7 = FluxModule.useStateFromStores([entitlementStoreBinding], _fun55709, [],
(SetUtilsModule).areSetsEqual);
const value8 = FluxModule.useStateFromStores([SubscriptionPlanStore], function() {
return SubscriptionPlanStore.isLoadedForPremiumSKUs();
});
const product = FluxModule.useStateFromStores([IAPStoreAndroid], function() {
return IAPStoreAndroid.getProduct(require(dependencyMap[23]).ProductIds.PREMIUM_TIER_2_MONTHLY);
});
const value9 = FluxModule.useStateFromStores([UserStore], _fun55712);
const value10 = (BlockedPaymentsCountryExperimentModule).useIsPaymentsBlocked();
binding.useEffect(function() {
importDefault(dependencyMap[25]).wait(_fun55714);
require(dependencyMap[27]).fetchUserEntitlementsForApplication(PREMIUM_SUBSCRIPTION_APPLICATION);
}, []);
binding.useEffect(_fun55715, [state]);
const value11 = (UsePremiumTrialOfferNativeModule).usePremiumTrialOffer();
const value12 = (UsePremiumDiscountOfferNativeModule).usePremiumDiscountOffer();
const value13 = (MobileTrialUtilsModule).usePremiumTrialOfferPremiumType();
binding.useEffect(_fun55717, [value11, value12]);
let r20 = property != null && value8 && property2;
if (product == null) {
r0 = (
<View style={styles.loadingSpinnerContainer}>
<ActivityIndicator animating size="large" />
</View>
);
} else if (value8) {
if (property2) {
if (value6) {
if (value10) {
var scrollViewBindingProps = {style: styles.container};
value = importDefault(7327) /* metro dependency 7327: BlockedPaymentsCountryDisplay */;
value = (
<ScrollView {...scrollViewBindingProps}>
{((Component) => <Component />)(value)}
</ScrollView>
);
r1 = value;
} else {
r17 = value13 === PremiumTypes.TIER_0 ? (require(7940) /* metro dependency 7940: PremiumFeaturesCards */).PremiumFeatureCardOrder.TIER_0_LEADING : value13 !== PremiumTypes.TIER_2 ? premiumFeatureCardOrder : (require(7940) /* metro dependency 7940: PremiumFeaturesCards */).PremiumFeatureCardOrder.TIER_2_LEADING;
PremiumMarketingPage = importDefault(12195) /* metro dependency 12195: PremiumMarketingPage */;
var defaultImport3Props = {applicationId: applicationId, userHasSubscription: r20,
subscriptionDetails: r20 && ((Component) => <Component style={styles.subscriptionHeader} onClickManagePremiumGuild={onClickManagePremiumGuild} subscription={property} />)(importDefault(7509) /* metro dependency 7509: PremiumSubscriptionDetails */)};
r20 = r20 && ((Component) => <Component style={styles.billingInfo} subscription={property} />)(importDefault(7549) /* metro dependency 7549: PremiumBillingInfo */);
defaultImport3Props.billingInfo = r20;
defaultImport3Props.accountCredit = value8 && ((Component) => <Component style={styles.accountCredit} currentSubscription={property} entitlements={value7} hasPremiumGroup={value9} />)(importDefault(7550) /* metro dependency 7550: PremiumAccountCredit */);
defaultImport3Props.onClose = onClose;
r17 = r17 ?? (require(7940) /* metro dependency 7940: PremiumFeaturesCards */).PremiumFeatureCardOrder.TIER_2_LEADING;
defaultImport3Props.premiumFeatureCardOrder = r17;
defaultImport3Props.entitlements = value7;
defaultImport3Props.onPaymentSuccess = onPaymentSuccess;
defaultImport3Props.onPaymentDismiss = onPaymentDismiss;
r10 = <PremiumMarketingPage {...defaultImport3Props} />;
object = {};
items2 = [styles.root];
moduleValue15 = require(477) /* metro dependency 477: PlatformUtils */;
items2[1] = {marginBottom: moduleValue15.isAndroid() ? bottom : 0};
object.style = items2;
AnalyticsLocationProvider = (require(6771) /* metro dependency 6771: useAnalyticsLocations */).AnalyticsLocationProvider;
object3 = {value: analyticsLocations};
if ((require(3802) /* metro dependency 3802: PremiumUtils */).useHasTier2Premium()) {
value = importDefault(7551) /* metro dependency 7551: PremiumNitroHome */;
value = ((Component) => <Component onClose={onClose} />)(value);
r10 = value;
} else {
r17 = value13 === PremiumTypes.TIER_0 ? (require(7940) /* metro dependency 7940: PremiumFeaturesCards */).PremiumFeatureCardOrder.TIER_0_LEADING : value13 !== PremiumTypes.TIER_2 ? premiumFeatureCardOrder : (require(7940) /* metro dependency 7940: PremiumFeaturesCards */).PremiumFeatureCardOrder.TIER_2_LEADING;
PremiumMarketingPage = importDefault(12195) /* metro dependency 12195: PremiumMarketingPage */;
var defaultImport3Props = {applicationId: applicationId, userHasSubscription: r20,
subscriptionDetails: r20 && ((Component) => <Component style={styles.subscriptionHeader} onClickManagePremiumGuild={onClickManagePremiumGuild} subscription={property} />)(importDefault(7509) /* metro dependency 7509: PremiumSubscriptionDetails */)};
r20 = r20 && ((Component) => <Component style={styles.billingInfo} subscription={property} />)(importDefault(7549) /* metro dependency 7549: PremiumBillingInfo */);
defaultImport3Props.billingInfo = r20;
defaultImport3Props.accountCredit = value8 && ((Component) => <Component style={styles.accountCredit} currentSubscription={property} entitlements={value7} hasPremiumGroup={value9} />)(importDefault(7550) /* metro dependency 7550: PremiumAccountCredit */);
defaultImport3Props.onClose = onClose;
r17 = r17 ?? (require(7940) /* metro dependency 7940: PremiumFeaturesCards */).PremiumFeatureCardOrder.TIER_2_LEADING;
defaultImport3Props.premiumFeatureCardOrder = r17;
defaultImport3Props.entitlements = value7;
defaultImport3Props.onPaymentSuccess = onPaymentSuccess;
defaultImport3Props.onPaymentDismiss = onPaymentDismiss;
r10 = <PremiumMarketingPage {...defaultImport3Props} />;
}
value = (
<View {...object}>
<AnalyticsLocationProvider {...object3}>
{r10}
</AnalyticsLocationProvider>
</View>
);
r1 = value;
}
value = <View {...object}><AnalyticsLocationProvider {...object2}>{r10}</AnalyticsLocationProvider></View>;
r1 = value;
r0 = r1;
} else {
r0 = (
<View style={styles.loadingSpinnerContainer}>
<ActivityIndicator animating size="large" />
</View>
);
}
r0 = r1;
} else {
r0 = <View style={styles.loadingSpinnerContainer}><ActivityIndicator animating size="large" /></View>;
r0 = (
<View style={styles.loadingSpinnerContainer}>
<ActivityIndicator animating size="large" />
</View>
);
}
} else {
r0 = <View style={styles.loadingSpinnerContainer}><ActivityIndicator animating size="large" /></View>;
r0 = (
<View style={styles.loadingSpinnerContainer}>
<ActivityIndicator animating size="large" />
</View>
);
}
} else {
r0 = <View style={styles.loadingSpinnerContainer}><ActivityIndicator animating size="large" /></View>;
return r0;
function _fun55705() { // fn#55705, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7207:1123, offset: 0x013af438, size: 166 bytes, params: 1, frame: 17
const params = env0_5.params;
const value2 = undefined;
const analyticsLocation = params == null ? value2 : params.analyticsLocation;
const section = analyticsLocation == null ? value2 : analyticsLocation.section;
const r5 = section != null ? {source_section: section} : {};
const defaultImport = AnalyticsUtils;
const track = defaultImport.track;
const PREMIUM_MARKETING_PAGE_VIEWED = AnalyticEvents.PREMIUM_MARKETING_PAGE_VIEWED;
const object = {};
object.application_id = applicationId;
object.location_stack = analyticsLocations;
object.activity_session_id = activitySessionId;
const channelIdBinding = channelId;
object.channel_id = channelIdBinding;
object.guild_id = guildId;
copyDataProperties(object, r5, channelIdBinding);
Reflect.apply(track, defaultImport, [PREMIUM_MARKETING_PAGE_VIEWED, object]);
return value2;
}
function _fun55706() { // fn#55706, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7207:1423, offset: 0x013af4de, size: 41 bytes, params: 1, frame: 10
const value = environment.__proto__;
const subscriptionStoreBinding = SubscriptionStore;
const items2 = [subscriptionStoreBinding.getPremiumTypeSubscription()];
items2[1] = subscriptionStoreBinding.hasFetchedSubscriptions();
return items2;
}
function _fun55709() { // fn#55709, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7207:1719, offset: 0x013af53c, size: 58 bytes, params: 1, frame: 11
const value = environment.__proto__;
return EntitlementStore.getForApplication(PREMIUM_SUBSCRIPTION_APPLICATION) ?? new global.Set();
}
function _fun55712() { // fn#55712, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7207:2009, offset: 0x013af5bf, size: 49 bytes, params: 1, frame: 11
var r1;
let value = environment.__proto__;
value = UserStore.getCurrentUser();
if (value == null) {
r1 = undefined;
} else {
value = value.isPremiumWithPremiumGroup();
r1 = value;
}
return r1 != null && r1;
}
function _fun55713() { // fn#55713, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7207:2156, offset: 0x013af5f0, size: 76 bytes, params: 1, frame: 14
(Dispatcher).wait(_fun55714);
(EntitlementActionCreatorsModule).fetchUserEntitlementsForApplication(PREMIUM_SUBSCRIPTION_APPLICATION);
function _fun55714() { // fn#55714, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7207:2176, offset: 0x013af63c, size: 37 bytes, params: 1, frame: 11
const value = environment.__proto__.__proto__;
return (BillingActionCreators).init();
}
}
function _fun55715() { // fn#55715, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7207:2265, offset: 0x013af661, size: 111 bytes, params: 1, frame: 13
const stateBinding = state;
const ACTIVE = AppStates.ACTIVE;
if (stateBinding === ACTIVE && env0_8.current === AppStates.BACKGROUND) {
(importDefault(694) /* metro dependency 694: Dispatcher */).wait(_fun55716);
}
env0_8.current = state;
function _fun55716() { // fn#55716, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7207:2325, offset: 0x013af63c, size: 37 bytes, params: 1, frame: 11
const value = environment.__proto__.__proto__;
return (BillingActionCreators).init();
}
}
function _fun55717() { // fn#55717, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7207:2499, offset: 0x013af6d0, size: 106 bytes, params: 1, frame: 14
var value2;
var value3;
if (env0_9 != null) {
value2 = environment.__proto__;
(importDefault(7506) /* metro dependency 7506: UserTrialActionCreatorsAndroid */).acknowledgeUserTrialOffer(env0_9);
}
if (env0_10 != null) {
value3 = environment.__proto__;
(require(7507) /* metro dependency 7507: UserOfferActionCreators */).acknowledgeUserOffer(undefined, env0_10);
}
}
function onClickManagePremiumGuild() { // fn#55718, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7207:2641, owner: _default_55704.onClickManagePremiumGuild, offset: 0x013af73a, size: 176 bytes, params: 1, frame: 17
let binding = env0_6;
const getState = binding.getState;
const value2 = Reflect.apply(getState, binding, []).routes.find(function({name}) {
return name === UserSettingsSections.GUILD_BOOSTING;
});
const defaultImport = UserSettingsModalActionCreators;
const setSection = defaultImport.setSection;
let GUILD_BOOSTING = UserSettingsSections.GUILD_BOOSTING;
Reflect.apply(setSection, defaultImport, [GUILD_BOOSTING]);
const trackUserSettingsPaneViewed = UserSettingsUtilsModule.trackUserSettingsPaneViewed;
GUILD_BOOSTING = UserSettingsSections.GUILD_BOOSTING;
Reflect.apply(trackUserSettingsPaneViewed, UserSettingsUtilsModule, [{destinationPane: GUILD_BOOSTING}]);
if (value2 != null) {
env0_6.navigate(value2);
} else {
binding = env0_6;
binding.push(UserSettingsSections.GUILD_BOOSTING);
}
}
}
return r0;
}
function _fun55705() { // fn#55705, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7207:1123, offset: 0x013af438, size: 166 bytes, params: 1, frame: 17
const params = env0_5.params;
const value2 = undefined;
const analyticsLocation = params == null ? value2 : params.analyticsLocation;
const section = analyticsLocation == null ? value2 : analyticsLocation.section;
const r5 = section != null ? {source_section: section} : {};
const defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
const track = defaultImport.track;
const PREMIUM_MARKETING_PAGE_VIEWED = AnalyticEvents.PREMIUM_MARKETING_PAGE_VIEWED;
const object2 = {};
object2.application_id = applicationId;
object2.location_stack = analyticsLocations;
object2.activity_session_id = activitySessionId;
const channelIdBinding = channelId;
object2.channel_id = channelIdBinding;
object2.guild_id = guildId;
copyDataProperties(object2, r5, channelIdBinding);
Reflect.apply(track, defaultImport, [PREMIUM_MARKETING_PAGE_VIEWED, object2]);
return value2;
}
function _fun55706() { // fn#55706, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7207:1423, offset: 0x013af4de, size: 41 bytes, params: 1, frame: 10
const value = environment.__proto__;
const items2 = [SubscriptionStore.getPremiumTypeSubscription()];
items2[1] = SubscriptionStore.hasFetchedSubscriptions();
return items2;
}
function _fun55709() { // fn#55709, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7207:1719, offset: 0x013af53c, size: 58 bytes, params: 1, frame: 11
const value = environment.__proto__;
return EntitlementStore.getForApplication(PREMIUM_SUBSCRIPTION_APPLICATION) ?? new global.Set();
}
function _fun55712() { // fn#55712, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7207:2009, offset: 0x013af5bf, size: 49 bytes, params: 1, frame: 11
var r1;
let value = environment.__proto__;
value = UserStore.getCurrentUser();
if (value == null) {
r1 = undefined;
} else {
value = value.isPremiumWithPremiumGroup();
r1 = value;
}
return r1 != null && r1;
}
function _fun55713() { // fn#55713, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7207:2156, offset: 0x013af5f0, size: 76 bytes, params: 1, frame: 14
(importDefault(694) /* metro dependency 694: Dispatcher */).wait(_fun55714);
(require(5182) /* metro dependency 5182: EntitlementActionCreators */).fetchUserEntitlementsForApplication(PREMIUM_SUBSCRIPTION_APPLICATION);
}
function _fun55715() { // fn#55715, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7207:2265, offset: 0x013af661, size: 111 bytes, params: 1, frame: 13
const stateBinding = state;
const ACTIVE = AppStates.ACTIVE;
if (stateBinding === ACTIVE && env0_8.current === AppStates.BACKGROUND) {
(importDefault(694) /* metro dependency 694: Dispatcher */).wait(_fun55716);
}
env0_8.current = state;
}
function _fun55717() { // fn#55717, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7207:2499, offset: 0x013af6d0, size: 106 bytes, params: 1, frame: 14
var value2;
var value3;
if (env0_9 != null) {
value2 = environment.__proto__;
(importDefault(7506) /* metro dependency 7506: UserTrialActionCreatorsAndroid */).acknowledgeUserTrialOffer(env0_9);
}
if (env0_10 != null) {
value3 = environment.__proto__;
(require(7507) /* metro dependency 7507: UserOfferActionCreators */).acknowledgeUserOffer(undefined, env0_10);
}
}
function _default_55704OnClickManagePremiumGuild() { // fn#55718, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7207:2641, owner: _default_55704.onClickManagePremiumGuild, offset: 0x013af73a, size: 176 bytes, params: 1, frame: 17
let binding = env0_6;
const getState = binding.getState;
const value2 = Reflect.apply(getState, binding, []).routes.find(function({name}) {
return name === UserSettingsSections.GUILD_BOOSTING;
});
const defaultImport = importDefault(7508) /* metro dependency 7508: UserSettingsModalActionCreators */;
const setSection = defaultImport.setSection;
let GUILD_BOOSTING = UserSettingsSections.GUILD_BOOSTING;
Reflect.apply(setSection, defaultImport, [GUILD_BOOSTING]);
const userSettingsUtilsModule = require(7004) /* metro dependency 7004: UserSettingsUtils */;
const trackUserSettingsPaneViewed = userSettingsUtilsModule.trackUserSettingsPaneViewed;
GUILD_BOOSTING = UserSettingsSections.GUILD_BOOSTING;
Reflect.apply(trackUserSettingsPaneViewed, userSettingsUtilsModule, [{destinationPane: GUILD_BOOSTING}]);
if (value2 != null) {
env0_6.navigate(value2);
} else {
binding = env0_6;
binding.push(UserSettingsSections.GUILD_BOOSTING);
}
}
function _fun55714() { // fn#55714, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7207:2176, offset: 0x013af63c, size: 37 bytes, params: 1, frame: 11
const value = environment.__proto__.__proto__;
return (importDefault(7037) /* metro dependency 7037: BillingActionCreators */).init();
}
global.__d(_fun55703, 7029, [57, 31, 27, 1878, 3807, 3808, 5181, 7030, 5140, 661, 1880, 33, 4501, 7031, 1585, 6771,
6789, 7032, 4594, 683, 566, 1484, 1421, 7033, 7035, 694, 7037, 5182, 7062, 7257, 7061, 7506, 7507, 7508, 7004,
3802, 7509, 7549, 7550, 7551, 7940, 12195, 7327, 477,
2]) /* metro module 7029, dependencies: [57, 31, 27, 1878, 3807, 3808, 5181, 7030, 5140, 661, 1880, 33, 4501, 7031, 1585, 6771, 6789, 7032, 4594, 683, 566, 1484, 1421, 7033, 7035, 694, 7037, 5182, 7062, 7257, 7061, 7506, 7507, 7508, 7004, 3802, 7509, 7549, 7550, 7551, 7940, 12195, 7327, 477, 2] */;
File diff suppressed because it is too large. Load diff
@@ -1,33 +1,46 @@
/* Metro module 12227; source: modules/user_settings/premium/native/UserSettingsPremiumGuildSubscriptions.tsx; dependencies: [6, 7, 15, 17, 18, 31, 27, 1878, 3804, 7020, 3807, 3808, 661, 1880, 33, 4501, 6235, 7508, 7004, 8251, 6847, 4223, 4573, 1244, 6766, 1948, 12228, 1895, 12242, 12244, 12246, 12250, 3868, 7563, 5180, 7288, 12192, 566, 1484, 7022, 1581, 2] */
import ClassCallCheck from '../../../../by-id/module-00006-ClassCallCheck.js'; /* Metro dependency 6 */
import CreateClass from '../../../../by-id/module-00007-CreateClass.js'; /* Metro dependency 7 */
import PossibleConstructorReturn from '../../../../by-id/module-00015-PossibleConstructorReturn.js'; /* Metro dependency 15 */
import Module00017 from '../../../../by-id/module-00017.js'; /* Metro dependency 17 */
import Inherits from '../../../../by-id/module-00018-Inherits.js'; /* Metro dependency 18 */
import UserStore from '../../../../stores/UserStore.tsx'; /* Metro dependency 1878 */
import BillingInfoStore from '../../../../stores/billing/BillingInfoStore.tsx'; /* Metro dependency 3804 */
import SubscriptionPlanStore from '../../../../stores/billing/SubscriptionPlanStore.tsx'; /* Metro dependency 3807 */
import SubscriptionStore from '../../../../stores/billing/SubscriptionStore.tsx'; /* Metro dependency 3808 */
import UseFractionalPremiumInfo from '../../../billing/hooks/useFractionalPremiumInfo.tsx'; /* Metro dependency 5180 */
import GuildBoostSlotStore from '../../../../stores/billing/GuildBoostSlotStore.tsx'; /* Metro dependency 7020 */
import UserSettingsModalActionCreators from '../../../../actions/UserSettingsModalActionCreators.tsx'; /* Metro dependency 7508 */
import UseFPDurationLeft from '../../../billing/hooks/useFPDurationLeft.tsx'; /* Metro dependency 12192 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
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 ConstantsModule from '../../../../Constants.tsx'; /* Metro dependency 661 */
import * as IndexNativeModule from '../../../../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as UseNavigationNativeModule from '../../../../design/components/Navigator/native/useNavigation.native.tsx'; /* Metro dependency 1484 */
import * as MetaQuestUtilsAndroidModule from '../../../device/MetaQuestUtils.android.tsx'; /* Metro dependency 1581 */
import * as PremiumConstantsModule from '../../../premium/PremiumConstants.tsx'; /* Metro dependency 1880 */
import * as UserModule from '../../../../external/discord_common/js/packages/protos/discord_protos/users/v1/user.tsx'; /* Metro dependency 1895 */
import * as NativeModule from '../../../../external/discord_common/js/packages/design/native.tsx'; /* Metro dependency 3868 */
import * as CreateStylesModule from '../../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */
import * as TextModule from '../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as LegacyTokensModule from '../../../../design/migrations/native/LegacyTokens.tsx'; /* Metro dependency 6235 */
import * as UserSettingsUtilsModule from '../../../../utils/UserSettingsUtils.tsx'; /* Metro dependency 7004 */
import * as PremiumManagementUtilsModule from '../../../premium/native/utils/PremiumManagementUtils.tsx'; /* Metro dependency 7022 */
import * as ReverseTrialUtilsNativeModule from '../../../premium/ReverseTrialUtils.native.tsx'; /* Metro dependency 7288 */
import * as UseSubscriptionPlansLoadedModule from '../../../billing/hooks/useSubscriptionPlansLoaded.tsx'; /* Metro dependency 7563 */
import * as UseFPDurationLeftModule from '../../../billing/hooks/useFPDurationLeft.tsx'; /* Metro dependency 12192 */
import * as TopPatternModule from '../../../../design/components/Illustration/native/redesign/generated/TopPattern.tsx'; /* Metro dependency 12246 */
function _fun93612(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#93612, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12413:6, offset: 0x020bc048, size: 634 bytes, params: 8, frame: 23
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(6) /* metro dependency 6 */;
const env0_4 = importDefault(7) /* metro dependency 7 */;
const env0_5 = importDefault(15) /* metro dependency 15 */;
const env0_6 = importDefault(17) /* metro dependency 17 */;
const env0_7 = importDefault(18) /* metro dependency 18 */;
let value = importAll(31) /* metro dependency 31 */;
const value2 = require(27) /* metro dependency 27 */;
const env0_9 = value2.View;
const env0_10 = value2.ScrollView;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
const billingInfoStore = importDefault(3804) /* metro dependency 3804: BillingInfoStore */;
const guildBoostSlotStore = importDefault(7020) /* metro dependency 7020: GuildBoostSlotStore */;
const subscriptionPlanStore = importDefault(3807) /* metro dependency 3807: SubscriptionPlanStore */;
const subscriptionStore = importDefault(3808) /* metro dependency 3808: SubscriptionStore */;
const constantsModule = require(661) /* metro dependency 661: Constants */;
const env0_16 = constantsModule.HelpdeskArticles;
const env0_17 = constantsModule.UserSettingsSections;
const env0_18 = (require(1880) /* metro dependency 1880: PremiumConstants */).FractionalPremiumStates;
const value4 = require(33) /* metro dependency 33 */;
const env0_19 = value4.jsx;
const env0_20 = value4.jsxs;
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createLegacyClassComponentStyles = createStylesModule.createLegacyClassComponentStyles;
const DARK_TRANSPARENT_LIGHT_WHITE_500 = (require(6235) /* metro dependency 6235: LegacyTokens */).DARK_TRANSPARENT_LIGHT_WHITE_500;
const env0_21 = Reflect.apply(createLegacyClassComponentStyles, createStylesModule,
let value = ReactModule;
const createLegacyClassComponentStyles = CreateStylesModule.createLegacyClassComponentStyles;
const DARK_TRANSPARENT_LIGHT_WHITE_500 = (LegacyTokensModule).DARK_TRANSPARENT_LIGHT_WHITE_500;
const env0_21 = Reflect.apply(createLegacyClassComponentStyles, CreateStylesModule,
[{upsellSection: {position: 'relative'}, background: {'position': 'absolute', 'width': '100%'},
scroller: {'flex': 1, 'backgroundColor': null, 'marginTop': 16,
backgroundColor: DARK_TRANSPARENT_LIGHT_WHITE_500}, subscriptionHeader: {'paddingHorizontal': 16,
@@ -36,234 +49,269 @@ function _fun93612(global, require, importDefault, importAll, module, exports, d
externalManagement: {marginTop: 8}}]);
const PureComponent = value.PureComponent;
value = _fun93616(PureComponent);
const ThemeContext = (require(3868) /* metro dependency 3868: native */).ThemeContext;
const ThemeContext = (NativeModule).ThemeContext;
value.contextType = ThemeContext;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/premium/native/UserSettingsPremiumGuildSubscriptions.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/user_settings/premium/native/UserSettingsPremiumGuildSubscriptions.tsx');
exports.default = ConnectedUserSettingsPremiumGuildSubscriptions;
}
function _isNativeReflectConstruct_93613() { // fn#93613, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12413:364, offset: 0x020bc2c2, 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) {
function _isNativeReflectConstruct_93613() { // fn#93613, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12413:364, offset: 0x020bc2c2, 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_93613_isNativeReflectConstruct = function() {
return !!result;
})();
}
return (_isNativeReflectConstruct_93613_isNativeReflectConstruct = function() {
return !!result;
})();
}
function _fun93616(a0) { // fn#93616, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12413:993, offset: 0x020bc324, size: 124 bytes, params: 2, frame: 16
const closure = UserSettingsPremiumGuildSubscriptions;
env0_7(closure, a0);
return env0_4(closure, [{key: 'componentDidMount', value: value_93620}, {key: 'renderPremiumGuildSubscriptions',
value: value_93621}, {key: 'render', value: value_93622}]);
}
function _fun93616(a0) { // fn#93616, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12413:993, offset: 0x020bc324, size: 124 bytes, params: 2, frame: 16
const UserSettingsPremiumGuildSubscriptions2 = UserSettingsPremiumGuildSubscriptions;
Inherits(UserSettingsPremiumGuildSubscriptions2, a0);
return CreateClass(UserSettingsPremiumGuildSubscriptions2, [{key: 'componentDidMount', value: value_93620},
{key: 'renderPremiumGuildSubscriptions', value: value_93621}, {key: 'render', value: value_93622}]);
function UserSettingsPremiumGuildSubscriptions(a0) { // fn#93617, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12413:1005, offset: 0x020bc3a0, size: 160 bytes, params: 2, frame: 20
var r0;
var Reflect;
let value = copyRestArgs(0, undefined);
let binding = env1_3;
binding(this, UserSettingsPremiumGuildSubscriptions);
const items2 = [];
arraySpread(items2, value, 0, items2);
value = env1_6(UserSettingsPremiumGuildSubscriptions);
binding = env1_5;
if (_isNativeReflectConstruct_93613()) {
Reflect = global.Reflect;
value = Reflect.construct(value, items2, env1_6(this).constructor);
r0 = value;
} else {
value = value.apply(this, items2);
r0 = value;
}
value = binding(this, r0);
value.state = {isOnCooldown: false};
value.handleLearnMorePremium = handleLearnMorePremium;
return value;
function handleLearnMorePremium() { // fn#93618, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12413:1353, owner: UserSettingsPremiumGuildSubscriptions.handleLearnMorePremium, offset: 0x020bc440, size: 181 bytes, params: 1, frame: 17
const navigation = env0_0.props.navigation;
const getState = navigation.getState;
const value = Reflect.apply(getState, navigation, []).routes.find(function({name}) {
return name === UserSettingsSections.PREMIUM;
});
const defaultImport = UserSettingsModalActionCreators;
const setSection = defaultImport.setSection;
let PREMIUM = UserSettingsSections.PREMIUM;
Reflect.apply(setSection, defaultImport, [PREMIUM]);
const trackUserSettingsPaneViewed = UserSettingsUtilsModule.trackUserSettingsPaneViewed;
PREMIUM = UserSettingsSections.PREMIUM;
Reflect.apply(trackUserSettingsPaneViewed, UserSettingsUtilsModule, [{destinationPane: PREMIUM}]);
if (value != null) {
navigation.navigate(value);
} else {
navigation.push(UserSettingsSections.PREMIUM);
}
}
function ConnectedUserSettingsPremiumGuildSubscriptions({route}) { // fn#93623, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12413:3565, offset: 0x020bc95c, size: 462 bytes, params: 2, frame: 21
const env0_0 = (require(7563) /* metro dependency 7563: useSubscriptionPlansLoaded */).useSubscriptionPlansLoaded();
const shouldFetchSubscriptionPlans = route == null || route.params == null ? undefined : route.params.shouldFetchSubscriptionPlans;
const env0_1 = shouldFetchSubscriptionPlans == null || shouldFetchSubscriptionPlans;
const value5 = (importDefault(5180) /* metro dependency 5180: useFractionalPremiumInfo */)({forceFetch: true});
const env0_2 = value5.fractionalState;
const endsAt = value5.endsAt;
const env0_3 = (require(7288) /* metro dependency 7288: ReverseTrialUtilsNative */).useIsInReverseTrial();
const defaultImport2 = importDefault(12192) /* metro dependency 12192: useFPDurationLeft */;
const CountDownMessageTypes = (require(12192) /* metro dependency 12192: useFPDurationLeft */).CountDownMessageTypes;
const LONG_TIME_LEFT = CountDownMessageTypes.LONG_TIME_LEFT;
const env0_4 = defaultImport2(endsAt, LONG_TIME_LEFT);
const value6 = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([GuildBoostSlotStore,
BillingInfoStore, SubscriptionPlanStore, UserStore], _fun93624);
const premiumTypeSubscription = (require(566) /* metro dependency 566: flux */).useStateFromStores([SubscriptionStore],
function() {
return SubscriptionStore.getPremiumTypeSubscription();
});
const value7 = (require(1484) /* metro dependency 1484: useNavigationNative */).useNavigation();
const externalManagementMessage = (require(7022) /* metro dependency 7022: PremiumManagementUtils */).getExternalManagementMessage(premiumTypeSubscription,
{shouldAllowExternalManagement: true});
const binding = env0_22;
const metaQuestUtilsAndroidModule = require(1581) /* metro dependency 1581: MetaQuestUtilsAndroid */;
return ((Component) => <Component navigation={value7} externalManagementMessage={metaQuestUtilsAndroidModule.isMetaQuest() ? externalManagementMessage : null} {...value6} />)(binding);
}
}
function UserSettingsPremiumGuildSubscriptions(a0) { // fn#93617, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12413:1005, offset: 0x020bc3a0, size: 160 bytes, params: 2, frame: 20
var r0;
var Reflect;
let value = copyRestArgs(0, undefined);
let binding = env1_3;
binding(this, UserSettingsPremiumGuildSubscriptions);
const items = [];
arraySpread(items, value, 0, items);
value = env1_6(UserSettingsPremiumGuildSubscriptions);
binding = env1_5;
if (_isNativeReflectConstruct_93613()) {
Reflect = global.Reflect;
value = Reflect.construct(value, items, env1_6(this).constructor);
r0 = value;
} else {
value = value.apply(this, items);
r0 = value;
}
value = binding(this, r0);
value.state = {isOnCooldown: false};
value.handleLearnMorePremium = handleLearnMorePremium;
return value;
}
function value_93620() { // fn#93620, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12413:1697, offset: 0x020bc510, size: 171 bytes, params: 1, frame: 12
var value;
if (!this.props.hasFetchedSlots) {
value = environment.__proto__;
value = require(8251) /* metro dependency 8251: BoostingActionCreators */;
value.fetchGuildBoostSlots();
}
if (this.props.shouldFetchSubscriptionPlans && !this.props.isFetchingSubscriptionPlans) {
value = environment.__proto__;
value = require(6847) /* metro dependency 6847: SubscriptionPlanActionCreators */;
value.fetchPremiumSubscriptionPlans();
}
if (!this.props.isFetchingPaymentSources) {
value = environment.__proto__;
value = require(4223) /* metro dependency 4223: BillingActionCreators */;
value.fetchPaymentSources();
}
}
function value_93620() { // fn#93620, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12413:1697, offset: 0x020bc510, size: 171 bytes, params: 1, frame: 12
var value;
if (!this.props.hasFetchedSlots) {
value = environment.__proto__;
value = require(8251) /* metro dependency 8251: BoostingActionCreators */;
value.fetchGuildBoostSlots();
}
if (this.props.shouldFetchSubscriptionPlans && !this.props.isFetchingSubscriptionPlans) {
value = environment.__proto__;
value = require(6847) /* metro dependency 6847: SubscriptionPlanActionCreators */;
value.fetchPremiumSubscriptionPlans();
}
if (!this.props.isFetchingPaymentSources) {
value = environment.__proto__;
value = require(4223) /* metro dependency 4223: BillingActionCreators */;
value.fetchPaymentSources();
}
}
function value_93621() { // fn#93621, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12413:2006, offset: 0x020bc5bb, size: 509 bytes, params: 1, frame: 32
var r0;
var Fragment;
const Text = (TextModule).Text;
var blurb;
const intl = (IndexNativeModule).intl;
const t = (IndexNativeModule).t;
var items2;
var TextWithIOSLinkWorkaround;
var object2;
var format;
var A4UTjH;
var defaultImport;
var items3;
let value = environment.__proto__;
const value2 = env1_21(this.context);
const {hasSlots, externalManagementMessage} = this.props;
const value3 = null;
if (hasSlots) {
Fragment = env1_8.Fragment;
var viewBindingProps = {style: value2.subscriptionHeader};
blurb = value2.blurb;
items2 = [
<Text
style={[blurb, value2.blurbNotLast]}
variant="text-sm/medium"
color="interactive-text-default"
>
{intl.string(t.GwnFO5)}
</Text>,
];
TextWithIOSLinkWorkaround = (require(6766) /* metro dependency 6766: TextWithIOSLinkWorkaround */).TextWithIOSLinkWorkaround;
object2 = {'style': null, 'variant': 'text-sm/medium', 'color': 'interactive-text-default'};
blurb = value2.blurb;
object2.style = blurb;
format = intl.format;
A4UTjH = t.A4UTjH;
defaultImport = importDefault(1948) /* metro dependency 1948: HelpdeskUtils */;
items2[1] = (
<TextWithIOSLinkWorkaround {...object2}>
{Reflect.apply(format, intl, [A4UTjH,
{helpdeskArticle: defaultImport.getArticleURL(HelpdeskArticles.GUILD_SUBSCRIPTIONS)}])}
</TextWithIOSLinkWorkaround>
);
items2[2] = value3 != externalManagementMessage && <Text style={value2.externalManagement} variant="text-sm/medium" color="text-default">{externalManagementMessage}</Text>;
items3 = [
<View {...viewBindingProps}>
{items2}
</View>,
];
value = importDefault(12228) /* metro dependency 12228: GuildBoostSlotsInventory */;
items3[1] = ((Component) => <Component />)(value);
value = (
<Fragment>
{items3}
</Fragment>
);
r0 = value;
} else {
r0 = value3;
}
return r0;
}
function value_93621() { // fn#93621, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12413:2006, offset: 0x020bc5bb, size: 509 bytes, params: 1, frame: 32
var r0;
var Fragment;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
var blurb;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
var items2;
var TextWithIOSLinkWorkaround;
var object;
var format;
var A4UTjH;
var defaultImport;
var items3;
let value = environment.__proto__;
const value2 = env1_21(this.context);
const {hasSlots, externalManagementMessage} = this.props;
const value3 = null;
if (hasSlots) {
Fragment = env1_8.Fragment;
var viewBindingProps = {style: value2.subscriptionHeader};
blurb = value2.blurb;
items2 = [<Text style={[blurb,
value2.blurbNotLast]} variant="text-sm/medium" color="interactive-text-default">{intl.string(t.GwnFO5)}</Text>];
TextWithIOSLinkWorkaround = (require(6766) /* metro dependency 6766: TextWithIOSLinkWorkaround */).TextWithIOSLinkWorkaround;
object = {'style': null, 'variant': 'text-sm/medium', 'color': 'interactive-text-default'};
blurb = value2.blurb;
object.style = blurb;
format = intl.format;
A4UTjH = t.A4UTjH;
defaultImport = importDefault(1948) /* metro dependency 1948: HelpdeskUtils */;
items2[1] = <TextWithIOSLinkWorkaround {...object}>{Reflect.apply(format, intl, [A4UTjH,
{helpdeskArticle: defaultImport.getArticleURL(HelpdeskArticles.GUILD_SUBSCRIPTIONS)}])}</TextWithIOSLinkWorkaround>;
items2[2] = value3 != externalManagementMessage && <Text style={value2.externalManagement} variant="text-sm/medium" color="text-default">{externalManagementMessage}</Text>;
items3 = [<View {...viewBindingProps}>{items2}</View>];
value = importDefault(12228) /* metro dependency 12228: GuildBoostSlotsInventory */;
items3[1] = ((Component) => <Component />)(value);
value = <Fragment>{items3}</Fragment>;
r0 = value;
} else {
r0 = value3;
}
return r0;
}
function value_93622() { // fn#93622, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12413:2712, offset: 0x020bc7b8, size: 420 bytes, params: 1, frame: 27
var r8;
let value = environment.__proto__;
const value2 = env1_21(this.context);
const {hasFetchedSubscriptionPlans, hasAvailableSlots, fpDurationText, fractionalState, isInReverseTrial,
premiumGroupRole} = this.props;
const PremiumSubscriptionGroupRole = (UserModule).PremiumSubscriptionGroupRole;
const MEMBER = PremiumSubscriptionGroupRole.MEMBER;
const r5 = (
premiumGroupRole === MEMBER
? ((Component) => <Component style={value2.boostingUnavailablePill} />)(importDefault(12242) /* metro dependency 12242: BoostingUnavailablePill */)
: (
fractionalState === FractionalPremiumStates.NONE
? null
: ((Component) => <Component fpDurationText={fpDurationText} isInReverseTrial={isInReverseTrial} style={value2.boostingUnavailablePill} />)(importDefault(12244) /* metro dependency 12244: BoostingCountDownPill */)
)
);
const scroller = value2.scroller;
const items2 = [r5];
items2[1] = this.renderPremiumGuildSubscriptions();
const upsellSection = value2.upsellSection;
const TopPattern = (TopPatternModule).TopPattern;
const topPattern = <TopPattern style={value2.background} />;
if (hasFetchedSubscriptionPlans) {
value = importDefault(12250) /* metro dependency 12250: GuildBoostingUpsell */;
value = ((Component) => <Component onLearnMorePremium={this.handleLearnMorePremium} fractionalState={fractionalState} isInReverseTrial={isInReverseTrial} hasAvailableSlots={hasAvailableSlots} />)(value);
r8 = value;
} else {
r8 = null;
}
items2[2] = (
<View style={upsellSection}>
{topPattern}
{r8}
</View>
);
return (
<ScrollView style={scroller}>
{items2}
</ScrollView>
);
}
function value_93622() { // fn#93622, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12413:2712, offset: 0x020bc7b8, size: 420 bytes, params: 1, frame: 27
var r8;
let value = environment.__proto__;
const value2 = env1_21(this.context);
const {hasFetchedSubscriptionPlans, hasAvailableSlots, fpDurationText, fractionalState, isInReverseTrial,
premiumGroupRole} = this.props;
const PremiumSubscriptionGroupRole = (require(1895) /* metro dependency 1895: user */).PremiumSubscriptionGroupRole;
const MEMBER = PremiumSubscriptionGroupRole.MEMBER;
const r5 = premiumGroupRole === MEMBER ? ((Component) => <Component style={value2.boostingUnavailablePill} />)(importDefault(12242) /* metro dependency 12242: BoostingUnavailablePill */) : fractionalState === FractionalPremiumStates.NONE ? null : ((Component) => <Component fpDurationText={fpDurationText} isInReverseTrial={isInReverseTrial} style={value2.boostingUnavailablePill} />)(importDefault(12244) /* metro dependency 12244: BoostingCountDownPill */);
const scroller = value2.scroller;
const items2 = [r5];
items2[1] = this.renderPremiumGuildSubscriptions();
const upsellSection = value2.upsellSection;
const TopPattern = (require(12246) /* metro dependency 12246: TopPattern */).TopPattern;
const topPattern = <TopPattern style={value2.background} />;
if (hasFetchedSubscriptionPlans) {
value = importDefault(12250) /* metro dependency 12250: GuildBoostingUpsell */;
value = ((Component) => <Component onLearnMorePremium={this.handleLearnMorePremium} fractionalState={fractionalState} isInReverseTrial={isInReverseTrial} hasAvailableSlots={hasAvailableSlots} />)(value);
r8 = value;
} else {
r8 = null;
}
items2[2] = <View style={upsellSection}>{topPattern}{r8}</View>;
return (
<ScrollView style={scroller}>
{items2}
</ScrollView>
);
}
function _fun93624() { // fn#93624, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12413:3960, offset: 0x020bcb2a, size: 234 bytes, params: 1, frame: 15
var environment;
const object2 = {};
const value = environment.__proto__;
object2.hasFetchedSlots = GuildBoostSlotStore.hasFetched;
let Object = global.Object;
object2.hasSlots = Object.keys(GuildBoostSlotStore.boostSlots).length > 0;
Object = global.Object;
const value2 = Object.values(GuildBoostSlotStore.boostSlots);
object2.hasAvailableSlots = value2.filter(function(a0) {
return a0.isAvailable();
}).length > 0;
object2.hasFetchedSubscriptionPlans = env0_0;
object2.isFetchingSubscriptionPlans = SubscriptionPlanStore.isFetchingForPremiumSKUs();
object2.isFetchingPaymentSources = BillingInfoStore.isPaymentSourceFetching;
object2.shouldFetchSubscriptionPlans = env0_1;
object2.fractionalState = fractionalState;
object2.isInReverseTrial = env0_3;
object2.fpDurationText = env0_4;
object2.premiumGroupRole = UserStore.getCurrentUser()?.premiumGroupRole;
return object2;
}
function handleLearnMorePremium() { // fn#93618, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12413:1353, owner: UserSettingsPremiumGuildSubscriptions.handleLearnMorePremium, offset: 0x020bc440, size: 181 bytes, params: 1, frame: 17
const navigation = env0_0.props.navigation;
const getState = navigation.getState;
const value = Reflect.apply(getState, navigation, []).routes.find(function({name}) {
return name === UserSettingsSections.PREMIUM;
});
const defaultImport = importDefault(7508) /* metro dependency 7508: UserSettingsModalActionCreators */;
const setSection = defaultImport.setSection;
let PREMIUM = UserSettingsSections.PREMIUM;
Reflect.apply(setSection, defaultImport, [PREMIUM]);
const userSettingsUtilsModule = require(7004) /* metro dependency 7004: UserSettingsUtils */;
const trackUserSettingsPaneViewed = userSettingsUtilsModule.trackUserSettingsPaneViewed;
PREMIUM = UserSettingsSections.PREMIUM;
Reflect.apply(trackUserSettingsPaneViewed, userSettingsUtilsModule, [{destinationPane: PREMIUM}]);
if (value != null) {
navigation.navigate(value);
} else {
navigation.push(UserSettingsSections.PREMIUM);
}
function ConnectedUserSettingsPremiumGuildSubscriptions({route}) { // fn#93623, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12413:3565, offset: 0x020bc95c, size: 462 bytes, params: 2, frame: 21
const env0_0 = (UseSubscriptionPlansLoadedModule).useSubscriptionPlansLoaded();
const shouldFetchSubscriptionPlans = route == null || route.params == null ? undefined : route.params.shouldFetchSubscriptionPlans;
const env0_1 = shouldFetchSubscriptionPlans == null || shouldFetchSubscriptionPlans;
const value5 = (UseFractionalPremiumInfo)({forceFetch: true});
const env0_2 = value5.fractionalState;
const endsAt = value5.endsAt;
const env0_3 = (ReverseTrialUtilsNativeModule).useIsInReverseTrial();
const defaultImport2 = UseFPDurationLeft;
const CountDownMessageTypes = (UseFPDurationLeftModule).CountDownMessageTypes;
const LONG_TIME_LEFT = CountDownMessageTypes.LONG_TIME_LEFT;
const env0_4 = defaultImport2(endsAt, LONG_TIME_LEFT);
const value6 = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([GuildBoostSlotStore,
BillingInfoStore, SubscriptionPlanStore, UserStore], _fun93624);
const premiumTypeSubscription = (require(566) /* metro dependency 566: flux */).useStateFromStores([SubscriptionStore],
function() {
return SubscriptionStore.getPremiumTypeSubscription();
});
const value7 = (UseNavigationNativeModule).useNavigation();
const externalManagementMessage = (PremiumManagementUtilsModule).getExternalManagementMessage(premiumTypeSubscription,
{shouldAllowExternalManagement: true});
const binding = env0_22;
return ((Component) => <Component navigation={value7} externalManagementMessage={MetaQuestUtilsAndroidModule.isMetaQuest() ? externalManagementMessage : null} {...value6} />)(binding);
function _fun93624() { // fn#93624, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12413:3960, offset: 0x020bcb2a, size: 234 bytes, params: 1, frame: 15
var environment;
const object = {};
const value = environment.__proto__;
const guildBoostSlotStoreBinding = GuildBoostSlotStore;
object.hasFetchedSlots = guildBoostSlotStoreBinding.hasFetched;
let Object = global.Object;
object.hasSlots = Object.keys(guildBoostSlotStoreBinding.boostSlots).length > 0;
Object = global.Object;
const value2 = Object.values(guildBoostSlotStoreBinding.boostSlots);
object.hasAvailableSlots = value2.filter(function(a0) {
return a0.isAvailable();
}).length > 0;
object.hasFetchedSubscriptionPlans = env0_0;
object.isFetchingSubscriptionPlans = SubscriptionPlanStore.isFetchingForPremiumSKUs();
object.isFetchingPaymentSources = BillingInfoStore.isPaymentSourceFetching;
object.shouldFetchSubscriptionPlans = env0_1;
object.fractionalState = fractionalState;
object.isInReverseTrial = env0_3;
object.fpDurationText = env0_4;
object.premiumGroupRole = UserStore.getCurrentUser()?.premiumGroupRole;
return object;
}
}
}
global.__d(_fun93612, 12227, [6, 7, 15, 17, 18, 31, 27, 1878, 3804, 7020, 3807, 3808, 661, 1880, 33, 4501, 6235,
7508, 7004, 8251, 6847, 4223, 4573, 1244, 6766, 1948, 12228, 1895, 12242, 12244, 12246, 12250, 3868, 7563, 5180,
7288, 12192, 566, 1484, 7022, 1581,
2]) /* metro module 12227, dependencies: [6, 7, 15, 17, 18, 31, 27, 1878, 3804, 7020, 3807, 3808, 661, 1880, 33, 4501, 6235, 7508, 7004, 8251, 6847, 4223, 4573, 1244, 6766, 1948, 12228, 1895, 12242, 12244, 12246, 12250, 3868, 7563, 5180, 7288, 12192, 566, 1484, 7022, 1581, 2] */;
@@ -1,21 +1,28 @@
/* Metro module 12208; source: modules/user_settings/premium/native/images/PremiumTier0LogoSmall.tsx; dependencies: [31, 33, 3860, 697, 7744, 2] */
import Native from '../../../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */
import Module07744 from '../../../../../by-id/module-07744.js'; /* Metro dependency 7744 */
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 UseTokenModule from '../../../../../design/tokens/native/useToken.tsx'; /* Metro dependency 3860 */
import * as Module07744Module from '../../../../../by-id/module-07744.js'; /* Metro dependency 7744 */
function _fun93463(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#93463, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12394:6, offset: 0x020b649a, size: 138 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;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/premium/native/images/PremiumTier0LogoSmall.tsx');
ReactModule;
(FileImportTrackerModule).fileFinishedImporting('modules/user_settings/premium/native/images/PremiumTier0LogoSmall.tsx');
exports.default = _default_93464;
function _default_93464({style, width, height}) { // fn#93464, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12394:127, offset: 0x020b6524, size: 181 bytes, params: 2, frame: 20
const useToken = UseTokenModule.useToken;
const TEXT_STRONG = (Native).colors.TEXT_STRONG;
const value2 = Reflect.apply(useToken, UseTokenModule, [TEXT_STRONG]);
const Path = (Module07744Module).Path;
return ((Component) => <Component style={style} width={width} height={height} viewBox="0 0 48 9" fill="none"><Path d="M1.668 0.240624H7.704C8.344 0.240624 8.892 0.328624 9.348 0.504625C9.812 0.672625 10.164 0.912625 10.404 1.22462C10.644 1.52862 10.764 1.88062 10.764 2.28062C10.764 2.76062 10.596 3.16462 10.26 3.49262C9.924 3.81262 9.472 4.02062 8.904 4.11662C9.36 4.23662 9.708 4.44862 9.948 4.75262C10.188 5.05662 10.308 5.43662 10.308 5.89262C10.308 6.46862 10.12 6.96462 9.744 7.38062C9.376 7.79662 8.872 8.11262 8.232 8.32862C7.6 8.53662 6.888 8.64062 6.096 8.64062H-0.12L1.668 0.240624ZM5.34 6.43262C5.732 6.43262 6.032 6.38062 6.24 6.27662C6.456 6.16462 6.564 5.97662 6.564 5.71262C6.564 5.32862 6.28 5.13662 5.712 5.13662H4.344L4.068 6.43262H5.34ZM5.892 3.62462C6.548 3.62462 6.876 3.40462 6.876 2.96462C6.876 2.78862 6.816 2.66062 6.696 2.58063C6.576 2.49262 6.392 2.44862 6.144 2.44862H4.92L4.668 3.62462H5.892ZM14.1743 0.240624H19.7063L20.6663 8.62862H16.9343L16.8383 7.32062H14.1023L13.4423 8.64062H9.63825L14.1743 0.240624ZM16.7063 5.46062L16.4903 2.49662L15.0143 5.46062H16.7063ZM25.6189 8.88063C24.6909 8.88063 23.8309 8.76463 23.0389 8.53262C22.2469 8.30062 21.5669 7.99262 20.9989 7.60862L21.4909 5.28062C21.9069 5.61662 22.4829 5.89662 23.2189 6.12062C23.9549 6.34462 24.6749 6.45662 25.3789 6.45662C25.7629 6.45662 26.0309 6.42462 26.1829 6.36062C26.3429 6.28862 26.4229 6.16862 26.4229 6.00062C26.4229 5.88062 26.3669 5.78862 26.2549 5.72462C26.1509 5.65262 25.9629 5.59262 25.6909 5.54462L24.7309 5.38862C23.7949 5.24462 23.0949 4.97662 22.6309 4.58462C22.1669 4.18462 21.9349 3.68462 21.9349 3.08462C21.9349 2.01262 22.3909 1.23262 23.3029 0.744624C24.2149 0.248625 25.4109 0.000624657 26.8909 0.000624657C27.7549 0.000624657 28.5229 0.0846245 29.1949 0.252624C29.8669 0.420624 30.5069 0.652625 31.1149 0.948625L30.6229 3.21662C30.3109 3.02462 29.8269 2.84862 29.1709 2.68862C28.5229 2.52862 27.8789 2.44862 27.2389 2.44862C26.8229 2.44862 26.5109 2.48062 26.3029 2.54462C26.1029 2.60062 26.0029 2.70462 26.0029 2.85662C26.0029 2.96062 26.0549 3.04462 26.1589 3.10862C26.2709 3.17262 26.4789 3.22062 26.7829 3.25262L27.8629 3.38462C28.7669 3.49662 29.4469 3.73662 29.9029 4.10462C30.3589 4.47262 30.5869 4.99262 30.5869 5.66462C30.5869 6.36062 30.3629 6.95262 29.9149 7.44062C29.4669 7.92062 28.8669 8.28062 28.1149 8.52062C27.3629 8.76063 26.5309 8.88063 25.6189 8.88063ZM32.6875 0.240624H36.4915L34.7035 8.64062H30.8995L32.6875 0.240624ZM41.6018 8.88063C40.5378 8.88063 39.6218 8.70463 38.8538 8.35262C38.0938 7.99262 37.5138 7.51262 37.1138 6.91262C36.7218 6.31262 36.5258 5.64862 36.5258 4.92062C36.5258 3.87262 36.8018 2.98062 37.3538 2.24462C37.9058 1.50062 38.6658 0.940624 39.6338 0.564625C40.6018 0.188625 41.7018 0.000624657 42.9338 0.000624657C43.7018 0.000624657 44.4098 0.0766246 45.0578 0.228625C45.7138 0.380625 46.3658 0.612625 47.0138 0.924625L46.4498 3.60062C46.1458 3.41662 45.7338 3.26062 45.2138 3.13262C44.7018 3.00462 44.1698 2.94062 43.6178 2.94062C42.7538 2.94062 42.0538 3.07262 41.5178 3.33662C40.9818 3.60062 40.7138 4.01662 40.7138 4.58462C40.7138 5.00062 40.9338 5.32862 41.3738 5.56862C41.8218 5.80862 42.4378 5.92862 43.2218 5.92862C43.7898 5.92862 44.3138 5.86862 44.7938 5.74862C45.2818 5.62862 45.7098 5.47662 46.0778 5.29262L45.5018 8.01662C44.8218 8.32862 44.1978 8.54862 43.6298 8.67663C43.0618 8.81263 42.3858 8.88063 41.6018 8.88063Z" fill={value2} /></Component>)(Module07744);
}
}
function _default_93464({style, width, height}) { // fn#93464, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12394:127, offset: 0x020b6524, size: 181 bytes, params: 2, frame: 20
const useTokenModule = require(3860) /* metro dependency 3860: useToken */;
const useToken = useTokenModule.useToken;
const TEXT_STRONG = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_STRONG;
const value2 = Reflect.apply(useToken, useTokenModule, [TEXT_STRONG]);
const value = importDefault(7744) /* metro dependency 7744 */;
const Path = (require(7744) /* metro dependency 7744 */).Path;
return ((Component) => <Component style={style} width={width} height={height} viewBox="0 0 48 9" fill="none"><Path d="M1.668 0.240624H7.704C8.344 0.240624 8.892 0.328624 9.348 0.504625C9.812 0.672625 10.164 0.912625 10.404 1.22462C10.644 1.52862 10.764 1.88062 10.764 2.28062C10.764 2.76062 10.596 3.16462 10.26 3.49262C9.924 3.81262 9.472 4.02062 8.904 4.11662C9.36 4.23662 9.708 4.44862 9.948 4.75262C10.188 5.05662 10.308 5.43662 10.308 5.89262C10.308 6.46862 10.12 6.96462 9.744 7.38062C9.376 7.79662 8.872 8.11262 8.232 8.32862C7.6 8.53662 6.888 8.64062 6.096 8.64062H-0.12L1.668 0.240624ZM5.34 6.43262C5.732 6.43262 6.032 6.38062 6.24 6.27662C6.456 6.16462 6.564 5.97662 6.564 5.71262C6.564 5.32862 6.28 5.13662 5.712 5.13662H4.344L4.068 6.43262H5.34ZM5.892 3.62462C6.548 3.62462 6.876 3.40462 6.876 2.96462C6.876 2.78862 6.816 2.66062 6.696 2.58063C6.576 2.49262 6.392 2.44862 6.144 2.44862H4.92L4.668 3.62462H5.892ZM14.1743 0.240624H19.7063L20.6663 8.62862H16.9343L16.8383 7.32062H14.1023L13.4423 8.64062H9.63825L14.1743 0.240624ZM16.7063 5.46062L16.4903 2.49662L15.0143 5.46062H16.7063ZM25.6189 8.88063C24.6909 8.88063 23.8309 8.76463 23.0389 8.53262C22.2469 8.30062 21.5669 7.99262 20.9989 7.60862L21.4909 5.28062C21.9069 5.61662 22.4829 5.89662 23.2189 6.12062C23.9549 6.34462 24.6749 6.45662 25.3789 6.45662C25.7629 6.45662 26.0309 6.42462 26.1829 6.36062C26.3429 6.28862 26.4229 6.16862 26.4229 6.00062C26.4229 5.88062 26.3669 5.78862 26.2549 5.72462C26.1509 5.65262 25.9629 5.59262 25.6909 5.54462L24.7309 5.38862C23.7949 5.24462 23.0949 4.97662 22.6309 4.58462C22.1669 4.18462 21.9349 3.68462 21.9349 3.08462C21.9349 2.01262 22.3909 1.23262 23.3029 0.744624C24.2149 0.248625 25.4109 0.000624657 26.8909 0.000624657C27.7549 0.000624657 28.5229 0.0846245 29.1949 0.252624C29.8669 0.420624 30.5069 0.652625 31.1149 0.948625L30.6229 3.21662C30.3109 3.02462 29.8269 2.84862 29.1709 2.68862C28.5229 2.52862 27.8789 2.44862 27.2389 2.44862C26.8229 2.44862 26.5109 2.48062 26.3029 2.54462C26.1029 2.60062 26.0029 2.70462 26.0029 2.85662C26.0029 2.96062 26.0549 3.04462 26.1589 3.10862C26.2709 3.17262 26.4789 3.22062 26.7829 3.25262L27.8629 3.38462C28.7669 3.49662 29.4469 3.73662 29.9029 4.10462C30.3589 4.47262 30.5869 4.99262 30.5869 5.66462C30.5869 6.36062 30.3629 6.95262 29.9149 7.44062C29.4669 7.92062 28.8669 8.28062 28.1149 8.52062C27.3629 8.76063 26.5309 8.88063 25.6189 8.88063ZM32.6875 0.240624H36.4915L34.7035 8.64062H30.8995L32.6875 0.240624ZM41.6018 8.88063C40.5378 8.88063 39.6218 8.70463 38.8538 8.35262C38.0938 7.99262 37.5138 7.51262 37.1138 6.91262C36.7218 6.31262 36.5258 5.64862 36.5258 4.92062C36.5258 3.87262 36.8018 2.98062 37.3538 2.24462C37.9058 1.50062 38.6658 0.940624 39.6338 0.564625C40.6018 0.188625 41.7018 0.000624657 42.9338 0.000624657C43.7018 0.000624657 44.4098 0.0766246 45.0578 0.228625C45.7138 0.380625 46.3658 0.612625 47.0138 0.924625L46.4498 3.60062C46.1458 3.41662 45.7338 3.26062 45.2138 3.13262C44.7018 3.00462 44.1698 2.94062 43.6178 2.94062C42.7538 2.94062 42.0538 3.07262 41.5178 3.33662C40.9818 3.60062 40.7138 4.01662 40.7138 4.58462C40.7138 5.00062 40.9338 5.32862 41.3738 5.56862C41.8218 5.80862 42.4378 5.92862 43.2218 5.92862C43.7898 5.92862 44.3138 5.86862 44.7938 5.74862C45.2818 5.62862 45.7098 5.47662 46.0778 5.29262L45.5018 8.01662C44.8218 8.32862 44.1978 8.54862 43.6298 8.67663C43.0618 8.81263 42.3858 8.88063 41.6018 8.88063Z" fill={value2} /></Component>)(value);
}
global.__d(_fun93463, 12208, [31, 33, 3860, 697, 7744,
2]) /* metro module 12208, dependencies: [31, 33, 3860, 697, 7744, 2] */;
@@ -1,21 +1,28 @@
/* Metro module 12209; source: modules/user_settings/premium/native/images/PremiumTier2LogoSmall.tsx; dependencies: [31, 33, 3860, 697, 7744, 2] */
import Native from '../../../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */
import Module07744 from '../../../../../by-id/module-07744.js'; /* Metro dependency 7744 */
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 UseTokenModule from '../../../../../design/tokens/native/useToken.tsx'; /* Metro dependency 3860 */
import * as Module07744Module from '../../../../../by-id/module-07744.js'; /* Metro dependency 7744 */
function _fun93465(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#93465, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12395:6, offset: 0x020b65d9, size: 138 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;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/premium/native/images/PremiumTier2LogoSmall.tsx');
ReactModule;
(FileImportTrackerModule).fileFinishedImporting('modules/user_settings/premium/native/images/PremiumTier2LogoSmall.tsx');
exports.default = _default_93466;
function _default_93466({style, width, height}) { // fn#93466, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12395:127, offset: 0x020b6663, size: 181 bytes, params: 2, frame: 20
const useToken = UseTokenModule.useToken;
const TEXT_STRONG = (Native).colors.TEXT_STRONG;
const value2 = Reflect.apply(useToken, UseTokenModule, [TEXT_STRONG]);
const Path = (Module07744Module).Path;
return ((Component) => <Component style={style} width={width} height={height} viewBox="0 0 50 9" fill="none"><Path d="M1.78812 0.240624H6.43212L7.81212 4.95662L8.80812 0.240624H12.0361L10.2481 8.64062H5.70012L4.26012 3.87662L3.24012 8.64062H0.000117179L1.78812 0.240624ZM13.3076 0.240624H17.1116L15.3236 8.64062H11.5196L13.3076 0.240624ZM20.1579 3.01262H17.3139L17.9019 0.240624H27.3939L26.8059 3.01262H23.9619L22.7619 8.64062H18.9699L20.1579 3.01262ZM28.2022 0.240624H34.5502C35.1982 0.240624 35.7582 0.356625 36.2302 0.588625C36.7102 0.820625 37.0742 1.14062 37.3222 1.54862C37.5702 1.94862 37.6942 2.40462 37.6942 2.91662C37.6942 3.71662 37.4502 4.37262 36.9622 4.88462C36.4822 5.39662 35.8382 5.68862 35.0302 5.76062L36.6862 8.64062H32.4622L30.9142 5.35262L30.2182 8.64062H26.4142L28.2022 0.240624ZM32.4262 4.41662C33.3622 4.41662 33.8302 4.08862 33.8302 3.43262C33.8302 3.20062 33.7422 3.01262 33.5662 2.86862C33.3982 2.72462 33.1582 2.65262 32.8462 2.65262H31.4902L31.1182 4.41662H32.4262ZM43.7284 8.88063C42.6084 8.88063 41.6204 8.70463 40.7644 8.35262C39.9084 7.99262 39.2444 7.49262 38.7724 6.85262C38.3004 6.21262 38.0644 5.48062 38.0644 4.65662C38.0644 3.75262 38.3084 2.94862 38.7964 2.24462C39.2844 1.53262 39.9684 0.980625 40.8484 0.588625C41.7284 0.196625 42.7404 0.000624657 43.8844 0.000624657C45.0364 0.000624657 46.0484 0.172625 46.9204 0.516624C47.7924 0.852624 48.4644 1.32862 48.9364 1.94462C49.4164 2.56062 49.6564 3.27262 49.6564 4.08062C49.6564 5.00062 49.4044 5.82462 48.9004 6.55262C48.3964 7.28062 47.6964 7.85262 46.8004 8.26862C45.9044 8.67663 44.8804 8.88063 43.7284 8.88063ZM43.7404 6.08462C44.0844 6.08462 44.3964 6.00462 44.6764 5.84462C44.9564 5.67662 45.1764 5.45262 45.3364 5.17262C45.4964 4.89262 45.5764 4.58462 45.5764 4.24862C45.5764 3.80862 45.4204 3.45662 45.1084 3.19262C44.8044 2.92862 44.4124 2.79662 43.9324 2.79662C43.5884 2.79662 43.2764 2.87662 42.9964 3.03662C42.7244 3.18862 42.5084 3.40062 42.3484 3.67262C42.1964 3.94462 42.1204 4.24862 42.1204 4.58462C42.1204 5.04062 42.2684 5.40462 42.5644 5.67662C42.8604 5.94862 43.2524 6.08462 43.7404 6.08462Z" fill={value2} /></Component>)(Module07744);
}
}
function _default_93466({style, width, height}) { // fn#93466, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12395:127, offset: 0x020b6663, size: 181 bytes, params: 2, frame: 20
const useTokenModule = require(3860) /* metro dependency 3860: useToken */;
const useToken = useTokenModule.useToken;
const TEXT_STRONG = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_STRONG;
const value2 = Reflect.apply(useToken, useTokenModule, [TEXT_STRONG]);
const value = importDefault(7744) /* metro dependency 7744 */;
const Path = (require(7744) /* metro dependency 7744 */).Path;
return ((Component) => <Component style={style} width={width} height={height} viewBox="0 0 50 9" fill="none"><Path d="M1.78812 0.240624H6.43212L7.81212 4.95662L8.80812 0.240624H12.0361L10.2481 8.64062H5.70012L4.26012 3.87662L3.24012 8.64062H0.000117179L1.78812 0.240624ZM13.3076 0.240624H17.1116L15.3236 8.64062H11.5196L13.3076 0.240624ZM20.1579 3.01262H17.3139L17.9019 0.240624H27.3939L26.8059 3.01262H23.9619L22.7619 8.64062H18.9699L20.1579 3.01262ZM28.2022 0.240624H34.5502C35.1982 0.240624 35.7582 0.356625 36.2302 0.588625C36.7102 0.820625 37.0742 1.14062 37.3222 1.54862C37.5702 1.94862 37.6942 2.40462 37.6942 2.91662C37.6942 3.71662 37.4502 4.37262 36.9622 4.88462C36.4822 5.39662 35.8382 5.68862 35.0302 5.76062L36.6862 8.64062H32.4622L30.9142 5.35262L30.2182 8.64062H26.4142L28.2022 0.240624ZM32.4262 4.41662C33.3622 4.41662 33.8302 4.08862 33.8302 3.43262C33.8302 3.20062 33.7422 3.01262 33.5662 2.86862C33.3982 2.72462 33.1582 2.65262 32.8462 2.65262H31.4902L31.1182 4.41662H32.4262ZM43.7284 8.88063C42.6084 8.88063 41.6204 8.70463 40.7644 8.35262C39.9084 7.99262 39.2444 7.49262 38.7724 6.85262C38.3004 6.21262 38.0644 5.48062 38.0644 4.65662C38.0644 3.75262 38.3084 2.94862 38.7964 2.24462C39.2844 1.53262 39.9684 0.980625 40.8484 0.588625C41.7284 0.196625 42.7404 0.000624657 43.8844 0.000624657C45.0364 0.000624657 46.0484 0.172625 46.9204 0.516624C47.7924 0.852624 48.4644 1.32862 48.9364 1.94462C49.4164 2.56062 49.6564 3.27262 49.6564 4.08062C49.6564 5.00062 49.4044 5.82462 48.9004 6.55262C48.3964 7.28062 47.6964 7.85262 46.8004 8.26862C45.9044 8.67663 44.8804 8.88063 43.7284 8.88063ZM43.7404 6.08462C44.0844 6.08462 44.3964 6.00462 44.6764 5.84462C44.9564 5.67662 45.1764 5.45262 45.3364 5.17262C45.4964 4.89262 45.5764 4.58462 45.5764 4.24862C45.5764 3.80862 45.4204 3.45662 45.1084 3.19262C44.8044 2.92862 44.4124 2.79662 43.9324 2.79662C43.5884 2.79662 43.2764 2.87662 42.9964 3.03662C42.7244 3.18862 42.5084 3.40062 42.3484 3.67262C42.1964 3.94462 42.1204 4.24862 42.1204 4.58462C42.1204 5.04062 42.2684 5.40462 42.5644 5.67662C42.8604 5.94862 43.2524 6.08462 43.7404 6.08462Z" fill={value2} /></Component>)(value);
}
global.__d(_fun93465, 12209, [31, 33, 3860, 697, 7744,
2]) /* metro module 12209, dependencies: [31, 33, 3860, 697, 7744, 2] */;
@@ -1,38 +1,41 @@
/* Metro module 7584; source: modules/user_settings/premium/native/useScrollToSection.tsx; dependencies: [31, 2] */
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 */
function _fun60841(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#60841, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7762:6, offset: 0x01711459, size: 104 bytes, params: 8, frame: 17
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_0 = importAll(31) /* metro dependency 31 */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/premium/native/useScrollToSection.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/user_settings/premium/native/useScrollToSection.tsx');
exports.default = useScrollToSection;
}
function useScrollToSection(a0, a1) { // fn#60842, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7762:209, offset: 0x017114c1, size: 76 bytes, params: 3, frame: 16
let env0_0 = a0;
const env0_1 = a1;
const binding = env0_0;
const env0_2 = binding.useRef(false);
const object = {};
object.createSectionLayoutHandler = binding.useCallback(function(a0) {
var env0_0 = a0;
return _fun60844;
}, [a1, a0]);
return object;
function _fun60843(a0) { // fn#60843, offset: 0x0171150d, size: 16 bytes, params: 2, frame: 2
const env0_0 = a0;
return _fun60844;
function _fun60844(a0) { // fn#60844, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7762:313, offset: 0x0171151d, size: 106 bytes, params: 2, frame: 13
var current;
if (!(env0_0 !== require || env1_2.current)) {
env1_2.current = true;
current = env1_0.current;
if (current != null) {
current.scrollTo({y: a0.nativeEvent.layout.y, animated: true});
}
}
}
function useScrollToSection(a0, a1) { // fn#60842, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7762:209, offset: 0x017114c1, size: 76 bytes, params: 3, frame: 16
let env0_0 = a0;
const env0_1 = a1;
const binding = env0_0;
const env0_2 = binding.useRef(false);
const object2 = {};
object2.createSectionLayoutHandler = binding.useCallback(function(a0) {
var env0_0 = a0;
return _fun60844;
}, [a1, a0]);
return object2;
}
function _fun60843(a0) { // fn#60843, offset: 0x0171150d, size: 16 bytes, params: 2, frame: 2
const env0_0 = a0;
return _fun60844;
}
function _fun60844(a0) { // fn#60844, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7762:313, offset: 0x0171151d, size: 106 bytes, params: 2, frame: 13
var current;
if (!(env0_0 !== require || env1_2.current)) {
env1_2.current = true;
current = env1_0.current;
if (current != null) {
current.scrollTo({y: a0.nativeEvent.layout.y, animated: true});
}
}
}
global.__d(_fun60841, 7584, [31, 2]) /* metro module 7584, dependencies: [31, 2] */;
@@ -1,44 +1,47 @@
/* Metro module 7585; source: modules/user_settings/premium/native/utils/PremiumNitroHomeUtils.tsx; dependencies: [661, 683, 2] */
import * as FileImportTrackerModule from '../../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ConstantsModule from '../../../../../Constants.tsx'; /* Metro dependency 661 */
function _fun60845(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#60845, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7763:6, offset: 0x01711587, size: 118 bytes, params: 8, frame: 18
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = (require(661) /* metro dependency 661: Constants */).AnalyticEvents;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/premium/native/utils/PremiumNitroHomeUtils.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/user_settings/premium/native/utils/PremiumNitroHomeUtils.tsx');
exports.trackIfScrolledToBottom = trackIfScrolledToBottom;
function trackIfScrolledToBottom({nativeEvent, trackedType, hasTrackedScrolledToBottom}) { // fn#60846, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7763:249, offset: 0x017115fd, size: 190 bytes, params: 2, frame: 18
var r0;
var Math;
var ceil;
var height;
var value;
var floor;
var defaultImport;
const layoutMeasurement = nativeEvent.layoutMeasurement;
const contentOffset = nativeEvent.contentOffset;
const contentSize = nativeEvent.contentSize;
const current = hasTrackedScrolledToBottom.current;
if (current) {
r0 = current;
} else {
Math = global.Math;
ceil = Math.ceil;
height = layoutMeasurement.height;
value = Reflect.apply(ceil, Math, [height]);
Math = global.Math;
ceil = Math.ceil;
value += Reflect.apply(ceil, Math, [contentOffset.y]);
Math = global.Math;
floor = Math.floor;
height = contentSize.height;
value = value < Reflect.apply(floor, Math, [height]);
r0 = value;
}
if (!r0) {
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport.track(AnalyticEvents.PREMIUM_MARKETING_SURFACE_REACHED_BOTTOM, {type: trackedType});
hasTrackedScrolledToBottom.current = true;
}
}
}
function trackIfScrolledToBottom({nativeEvent, trackedType, hasTrackedScrolledToBottom}) { // fn#60846, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7763:249, offset: 0x017115fd, size: 190 bytes, params: 2, frame: 18
var r0;
var Math;
var ceil;
var height;
var value;
var floor;
var defaultImport;
const layoutMeasurement = nativeEvent.layoutMeasurement;
const contentOffset = nativeEvent.contentOffset;
const contentSize = nativeEvent.contentSize;
const current = hasTrackedScrolledToBottom.current;
if (current) {
r0 = current;
} else {
Math = global.Math;
ceil = Math.ceil;
height = layoutMeasurement.height;
value = Reflect.apply(ceil, Math, [height]);
Math = global.Math;
ceil = Math.ceil;
value += Reflect.apply(ceil, Math, [contentOffset.y]);
Math = global.Math;
floor = Math.floor;
height = contentSize.height;
value = value < Reflect.apply(floor, Math, [height]);
r0 = value;
}
if (!r0) {
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport.track(AnalyticEvents.PREMIUM_MARKETING_SURFACE_REACHED_BOTTOM, {type: trackedType});
hasTrackedScrolledToBottom.current = true;
}
}
global.__d(_fun60845, 7585, [661, 683, 2]) /* metro module 7585, dependencies: [661, 683, 2] */;
@@ -1,209 +1,222 @@
/* Metro module 7947; source: modules/user_settings/premium/native/utils/usePremiumFeatures.tsx; dependencies: [31, 1880, 3816, 1895, 3858, 1244, 2806, 7948, 3802, 7950, 7952, 7954, 7956, 7958, 7960, 697, 2] */
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 IndexNativeModule from '../../../../../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as PremiumConstantsModule from '../../../../premium/PremiumConstants.tsx'; /* Metro dependency 1880 */
import * as UserModule from '../../../../../external/discord_common/js/packages/protos/discord_protos/users/v1/user.tsx'; /* Metro dependency 1895 */
import * as PremiumUtilsModule from '../../../../../utils/PremiumUtils.tsx'; /* Metro dependency 3802 */
import * as PremiumGroupConstantsModule from '../../../../premium/premium_group/PremiumGroupConstants.tsx'; /* Metro dependency 3816 */
import * as FriendsIconModule from '../../../../../design/components/Icon/native/redesign/generated/FriendsIcon.tsx'; /* Metro dependency 3858 */
import * as UploadIconModule from '../../../../../design/components/Icon/native/redesign/generated/UploadIcon.tsx'; /* Metro dependency 7948 */
import * as ReactionIconModule from '../../../../../design/components/Icon/native/redesign/generated/ReactionIcon.tsx'; /* Metro dependency 7950 */
import * as SuperReactionIconModule from '../../../../../design/components/Icon/native/redesign/generated/SuperReactionIcon.tsx'; /* Metro dependency 7952 */
import * as NitroWheelIconModule from '../../../../../design/components/Icon/native/redesign/generated/NitroWheelIcon.tsx'; /* Metro dependency 7954 */
import * as ScreenStreamIconModule from '../../../../../design/components/Icon/native/redesign/generated/ScreenStreamIcon.tsx'; /* Metro dependency 7956 */
import * as BoostGemIconModule from '../../../../../design/components/Icon/native/redesign/generated/BoostGemIcon.tsx'; /* Metro dependency 7958 */
import * as UserSquareIconModule from '../../../../../design/components/Icon/native/redesign/generated/UserSquareIcon.tsx'; /* Metro dependency 7960 */
function _fun63410(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#63410, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8125:6, offset: 0x01b7e6d8, size: 173 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 */;
const premiumConstantsModule = require(1880) /* metro dependency 1880: PremiumConstants */;
const env0_4 = premiumConstantsModule.NUM_FREE_GUILD_BOOSTS_WITH_PREMIUM;
const env0_5 = premiumConstantsModule.PremiumTypes;
const env0_6 = (require(3816) /* metro dependency 3816: PremiumGroupConstants */).TOTAL_PREMIUM_GROUP_USERS;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/premium/native/utils/usePremiumFeatures.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/user_settings/premium/native/utils/usePremiumFeatures.tsx');
exports.default = usePremiumFeatures;
function usePremiumFeatures(a0) { // fn#63411, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8125:318, offset: 0x01b7e785, size: 111 bytes, params: 2, frame: 17
const value = a1;
const value2 = a2;
const env0_0 = a0;
return ReactModule.useMemo(_fun63412, [a0, value !== undefined ? value : false,
value2 !== undefined ? value2 : (require(1895) /* metro dependency 1895: user */).PremiumSubscriptionGroupRole.UNSPECIFIED]);
function _fun63412() { // fn#63412, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8125:423, offset: 0x01b7e7f4, size: 2039 bytes, params: 1, frame: 32
var environment;
let object = {};
const value = environment.__proto__;
const FriendsIcon = (FriendsIconModule).FriendsIcon;
object.IconComponent = FriendsIcon;
const intl = (IndexNativeModule).intl;
let formatToPlainString = intl.formatToPlainString;
object.label = Reflect.apply(formatToPlainString, intl,
[(importDefault(2806) /* metro dependency 2806: PremiumGroupMessages */).gsE005,
{totalSeats: TOTAL_PREMIUM_GROUP_USERS}]);
let Set = global.Set;
let TIER_2 = PremiumTypes.TIER_2;
const items2 = [TIER_2];
const value2 = Object.create(Set.prototype, {constructor: {value: Set}});
let set = new Set(items2);
object.premiumTypes = set instanceof Object ? set : value2;
const PremiumSubscriptionGroupRole = (UserModule).PremiumSubscriptionGroupRole;
let PRIMARY = PremiumSubscriptionGroupRole.PRIMARY;
object.premiumGroupRoles = [PRIMARY];
object.availableOnFractional = false;
const items3 = [object];
object = {};
object.IconComponent = FriendsIcon;
let string = intl.string;
object.label = Reflect.apply(string, intl,
[(importDefault(2806) /* metro dependency 2806: PremiumGroupMessages */)['G6K/+s']]);
Set = global.Set;
TIER_2 = PremiumTypes.TIER_2;
const items4 = [TIER_2];
const value4 = Object.create(Set.prototype, {constructor: {value: Set}});
set = new Set(items4);
object.premiumTypes = set instanceof Object ? set : value4;
let MEMBER = PremiumSubscriptionGroupRole.MEMBER;
object.premiumGroupRoles = [MEMBER];
object.availableOnFractional = false;
items3[1] = object;
object = {};
const UploadIcon = (UploadIconModule).UploadIcon;
object.IconComponent = UploadIcon;
formatToPlainString = intl.formatToPlainString;
const t = (IndexNativeModule).t;
const oEudy7 = t.oEudy7;
const getMaxFileSizeForPremiumType = PremiumUtilsModule.getMaxFileSizeForPremiumType;
object.label = Reflect.apply(formatToPlainString, intl, [oEudy7,
{uploadSize: Reflect.apply(getMaxFileSizeForPremiumType, PremiumUtilsModule, [env0_0, {useSpace: false}])}]);
Set = global.Set;
let TIER_0 = PremiumTypes.TIER_0;
const items6 = [TIER_0];
TIER_2 = PremiumTypes.TIER_2;
items6[1] = TIER_2;
const value7 = Object.create(Set.prototype, {constructor: {value: Set}});
set = new Set(items6);
object.premiumTypes = set instanceof Object ? set : value7;
let UNSPECIFIED = PremiumSubscriptionGroupRole.UNSPECIFIED;
PRIMARY = PremiumSubscriptionGroupRole.PRIMARY;
object.premiumGroupRoles = [UNSPECIFIED, PRIMARY];
object.availableOnFractional = true;
items3[2] = object;
object = {};
const ReactionIcon = (ReactionIconModule).ReactionIcon;
object.IconComponent = ReactionIcon;
string = intl.string;
const E1NP2x = t.E1NP2x;
object.label = Reflect.apply(string, intl, [E1NP2x]);
Set = global.Set;
TIER_0 = PremiumTypes.TIER_0;
const items8 = [TIER_0];
TIER_2 = PremiumTypes.TIER_2;
items8[1] = TIER_2;
const value9 = Object.create(Set.prototype, {constructor: {value: Set}});
set = new Set(items8);
object.premiumTypes = set instanceof Object ? set : value9;
UNSPECIFIED = PremiumSubscriptionGroupRole.UNSPECIFIED;
PRIMARY = PremiumSubscriptionGroupRole.PRIMARY;
MEMBER = PremiumSubscriptionGroupRole.MEMBER;
object.premiumGroupRoles = [UNSPECIFIED, PRIMARY, MEMBER];
object.availableOnFractional = true;
items3[3] = object;
object = {};
const SuperReactionIcon = (SuperReactionIconModule).SuperReactionIcon;
object.IconComponent = SuperReactionIcon;
object.label = intl.string(t['taMwg/']);
Set = global.Set;
TIER_2 = PremiumTypes.TIER_2;
const items10 = [TIER_2];
const value11 = Object.create(Set.prototype, {constructor: {value: Set}});
set = new Set(items10);
object.premiumTypes = set instanceof Object ? set : value11;
UNSPECIFIED = PremiumSubscriptionGroupRole.UNSPECIFIED;
PRIMARY = PremiumSubscriptionGroupRole.PRIMARY;
MEMBER = PremiumSubscriptionGroupRole.MEMBER;
object.premiumGroupRoles = [UNSPECIFIED, PRIMARY, MEMBER];
object.availableOnFractional = true;
items3[4] = object;
object = {};
const NitroWheelIcon = (NitroWheelIconModule).NitroWheelIcon;
object.IconComponent = NitroWheelIcon;
object.label = intl.string(t.oyfAMZ);
Set = global.Set;
TIER_0 = PremiumTypes.TIER_0;
const items12 = [TIER_0];
const value13 = Object.create(Set.prototype, {constructor: {value: Set}});
set = new Set(items12);
object.premiumTypes = set instanceof Object ? set : value13;
UNSPECIFIED = PremiumSubscriptionGroupRole.UNSPECIFIED;
object.premiumGroupRoles = [UNSPECIFIED];
object.availableOnFractional = true;
items3[5] = object;
object = {};
const ScreenStreamIcon = (ScreenStreamIconModule).ScreenStreamIcon;
object.IconComponent = ScreenStreamIcon;
object.label = intl.string(t.myyAEr);
Set = global.Set;
TIER_2 = PremiumTypes.TIER_2;
const items14 = [TIER_2];
const value15 = Object.create(Set.prototype, {constructor: {value: Set}});
set = new Set(items14);
object.premiumTypes = set instanceof Object ? set : value15;
UNSPECIFIED = PremiumSubscriptionGroupRole.UNSPECIFIED;
PRIMARY = PremiumSubscriptionGroupRole.PRIMARY;
MEMBER = PremiumSubscriptionGroupRole.MEMBER;
object.premiumGroupRoles = [UNSPECIFIED, PRIMARY, MEMBER];
object.availableOnFractional = true;
items3[6] = object;
object = {};
const BoostGemIcon = (BoostGemIconModule).BoostGemIcon;
object.IconComponent = BoostGemIcon;
formatToPlainString = intl.formatToPlainString;
const HVCRVf = (importDefault(2806) /* metro dependency 2806: PremiumGroupMessages */).HVCRVf;
object.label = Reflect.apply(formatToPlainString, intl, [HVCRVf, {numBoosts: NUM_FREE_GUILD_BOOSTS_WITH_PREMIUM}]);
Set = global.Set;
TIER_2 = PremiumTypes.TIER_2;
object.premiumTypes = new Set([TIER_2]);
PRIMARY = PremiumSubscriptionGroupRole.PRIMARY;
object.premiumGroupRoles = [PRIMARY];
object.availableOnFractional = false;
items3[7] = object;
object = {};
object.IconComponent = BoostGemIcon;
formatToPlainString = intl.formatToPlainString;
const DbkNFj = t.DbkNFj;
object.label = Reflect.apply(formatToPlainString, intl, [DbkNFj, {numBoosts: NUM_FREE_GUILD_BOOSTS_WITH_PREMIUM}]);
Set = global.Set;
TIER_2 = PremiumTypes.TIER_2;
object.premiumTypes = new Set([TIER_2]);
UNSPECIFIED = PremiumSubscriptionGroupRole.UNSPECIFIED;
object.premiumGroupRoles = [UNSPECIFIED];
object.availableOnFractional = false;
items3[8] = object;
object = {};
const UserSquareIcon = (UserSquareIconModule).UserSquareIcon;
object.IconComponent = UserSquareIcon;
object.label = intl.string(t.vlHicE);
Set = global.Set;
TIER_2 = PremiumTypes.TIER_2;
object.premiumTypes = new Set([TIER_2]);
UNSPECIFIED = PremiumSubscriptionGroupRole.UNSPECIFIED;
PRIMARY = PremiumSubscriptionGroupRole.PRIMARY;
MEMBER = PremiumSubscriptionGroupRole.MEMBER;
object.premiumGroupRoles = [UNSPECIFIED, PRIMARY, MEMBER];
object.availableOnFractional = true;
items3[9] = object;
set = items3.filter(_fun63413);
set = set.filter(_fun63414);
return set.map(function(a0) {
var r3;
var object = {};
copyDataProperties(object, a0, r3);
var WHITE = importDefault(dependencyMap[15]).unsafe_rawColors.WHITE;
object['color'] = WHITE;
return object;
});
function _fun63413(a0) { // fn#63413, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8125:3100, offset: 0x01b7efeb, size: 50 bytes, params: 2, frame: 13
const premiumTypes = a0.premiumTypes;
const has = premiumTypes.has;
const value = environment.__proto__;
return Reflect.apply(has, premiumTypes, [env1_0]) && (env1_1 ? a0.availableOnFractional : !env1_1);
}
function _fun63414({premiumGroupRoles}) { // fn#63414, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8125:3166, offset: 0x01b7f01d, size: 28 bytes, params: 2, frame: 11
return premiumGroupRoles.includes(env1_2);
}
}
}
}
function usePremiumFeatures(a0) { // fn#63411, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8125:318, offset: 0x01b7e785, size: 111 bytes, params: 2, frame: 17
const value = a1;
const value2 = a2;
const env0_0 = a0;
return env0_3.useMemo(_fun63412, [a0, value !== undefined ? value : false,
value2 !== undefined ? value2 : (require(1895) /* metro dependency 1895: user */).PremiumSubscriptionGroupRole.UNSPECIFIED]);
}
function _fun63412() { // fn#63412, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8125:423, offset: 0x01b7e7f4, size: 2039 bytes, params: 1, frame: 32
var environment;
let object2 = {};
const value = environment.__proto__;
const FriendsIcon = (require(3858) /* metro dependency 3858: FriendsIcon */).FriendsIcon;
object2.IconComponent = FriendsIcon;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let formatToPlainString = intl.formatToPlainString;
object2.label = Reflect.apply(formatToPlainString, intl,
[(importDefault(2806) /* metro dependency 2806: PremiumGroupMessages */).gsE005,
{totalSeats: TOTAL_PREMIUM_GROUP_USERS}]);
let Set = global.Set;
let TIER_2 = PremiumTypes.TIER_2;
const items2 = [TIER_2];
const value2 = Object.create(Set.prototype, {constructor: {value: Set}});
let set = new Set(items2);
object2.premiumTypes = set instanceof Object ? set : value2;
const PremiumSubscriptionGroupRole = (require(1895) /* metro dependency 1895: user */).PremiumSubscriptionGroupRole;
let PRIMARY = PremiumSubscriptionGroupRole.PRIMARY;
object2.premiumGroupRoles = [PRIMARY];
object2.availableOnFractional = false;
const items3 = [object2];
object2 = {};
object2.IconComponent = FriendsIcon;
let string = intl.string;
object2.label = Reflect.apply(string, intl,
[(importDefault(2806) /* metro dependency 2806: PremiumGroupMessages */)['G6K/+s']]);
Set = global.Set;
TIER_2 = PremiumTypes.TIER_2;
const items4 = [TIER_2];
const value4 = Object.create(Set.prototype, {constructor: {value: Set}});
set = new Set(items4);
object2.premiumTypes = set instanceof Object ? set : value4;
let MEMBER = PremiumSubscriptionGroupRole.MEMBER;
object2.premiumGroupRoles = [MEMBER];
object2.availableOnFractional = false;
items3[1] = object2;
object2 = {};
const UploadIcon = (require(7948) /* metro dependency 7948: UploadIcon */).UploadIcon;
object2.IconComponent = UploadIcon;
formatToPlainString = intl.formatToPlainString;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
const oEudy7 = t.oEudy7;
const premiumUtilsModule = require(3802) /* metro dependency 3802: PremiumUtils */;
const getMaxFileSizeForPremiumType = premiumUtilsModule.getMaxFileSizeForPremiumType;
object2.label = Reflect.apply(formatToPlainString, intl, [oEudy7,
{uploadSize: Reflect.apply(getMaxFileSizeForPremiumType, premiumUtilsModule, [env0_0, {useSpace: false}])}]);
Set = global.Set;
let TIER_0 = PremiumTypes.TIER_0;
const items6 = [TIER_0];
TIER_2 = PremiumTypes.TIER_2;
items6[1] = TIER_2;
const value7 = Object.create(Set.prototype, {constructor: {value: Set}});
set = new Set(items6);
object2.premiumTypes = set instanceof Object ? set : value7;
let UNSPECIFIED = PremiumSubscriptionGroupRole.UNSPECIFIED;
PRIMARY = PremiumSubscriptionGroupRole.PRIMARY;
object2.premiumGroupRoles = [UNSPECIFIED, PRIMARY];
object2.availableOnFractional = true;
items3[2] = object2;
object2 = {};
const ReactionIcon = (require(7950) /* metro dependency 7950: ReactionIcon */).ReactionIcon;
object2.IconComponent = ReactionIcon;
string = intl.string;
const E1NP2x = t.E1NP2x;
object2.label = Reflect.apply(string, intl, [E1NP2x]);
Set = global.Set;
TIER_0 = PremiumTypes.TIER_0;
const items8 = [TIER_0];
TIER_2 = PremiumTypes.TIER_2;
items8[1] = TIER_2;
const value9 = Object.create(Set.prototype, {constructor: {value: Set}});
set = new Set(items8);
object2.premiumTypes = set instanceof Object ? set : value9;
UNSPECIFIED = PremiumSubscriptionGroupRole.UNSPECIFIED;
PRIMARY = PremiumSubscriptionGroupRole.PRIMARY;
MEMBER = PremiumSubscriptionGroupRole.MEMBER;
object2.premiumGroupRoles = [UNSPECIFIED, PRIMARY, MEMBER];
object2.availableOnFractional = true;
items3[3] = object2;
object2 = {};
const SuperReactionIcon = (require(7952) /* metro dependency 7952: SuperReactionIcon */).SuperReactionIcon;
object2.IconComponent = SuperReactionIcon;
object2.label = intl.string(t['taMwg/']);
Set = global.Set;
TIER_2 = PremiumTypes.TIER_2;
const items10 = [TIER_2];
const value11 = Object.create(Set.prototype, {constructor: {value: Set}});
set = new Set(items10);
object2.premiumTypes = set instanceof Object ? set : value11;
UNSPECIFIED = PremiumSubscriptionGroupRole.UNSPECIFIED;
PRIMARY = PremiumSubscriptionGroupRole.PRIMARY;
MEMBER = PremiumSubscriptionGroupRole.MEMBER;
object2.premiumGroupRoles = [UNSPECIFIED, PRIMARY, MEMBER];
object2.availableOnFractional = true;
items3[4] = object2;
object2 = {};
const NitroWheelIcon = (require(7954) /* metro dependency 7954: NitroWheelIcon */).NitroWheelIcon;
object2.IconComponent = NitroWheelIcon;
object2.label = intl.string(t.oyfAMZ);
Set = global.Set;
TIER_0 = PremiumTypes.TIER_0;
const items12 = [TIER_0];
const value13 = Object.create(Set.prototype, {constructor: {value: Set}});
set = new Set(items12);
object2.premiumTypes = set instanceof Object ? set : value13;
UNSPECIFIED = PremiumSubscriptionGroupRole.UNSPECIFIED;
object2.premiumGroupRoles = [UNSPECIFIED];
object2.availableOnFractional = true;
items3[5] = object2;
object2 = {};
const ScreenStreamIcon = (require(7956) /* metro dependency 7956: ScreenStreamIcon */).ScreenStreamIcon;
object2.IconComponent = ScreenStreamIcon;
object2.label = intl.string(t.myyAEr);
Set = global.Set;
TIER_2 = PremiumTypes.TIER_2;
const items14 = [TIER_2];
const value15 = Object.create(Set.prototype, {constructor: {value: Set}});
set = new Set(items14);
object2.premiumTypes = set instanceof Object ? set : value15;
UNSPECIFIED = PremiumSubscriptionGroupRole.UNSPECIFIED;
PRIMARY = PremiumSubscriptionGroupRole.PRIMARY;
MEMBER = PremiumSubscriptionGroupRole.MEMBER;
object2.premiumGroupRoles = [UNSPECIFIED, PRIMARY, MEMBER];
object2.availableOnFractional = true;
items3[6] = object2;
object2 = {};
const BoostGemIcon = (require(7958) /* metro dependency 7958: BoostGemIcon */).BoostGemIcon;
object2.IconComponent = BoostGemIcon;
formatToPlainString = intl.formatToPlainString;
const HVCRVf = (importDefault(2806) /* metro dependency 2806: PremiumGroupMessages */).HVCRVf;
object2.label = Reflect.apply(formatToPlainString, intl, [HVCRVf, {numBoosts: NUM_FREE_GUILD_BOOSTS_WITH_PREMIUM}]);
Set = global.Set;
TIER_2 = PremiumTypes.TIER_2;
object2.premiumTypes = new Set([TIER_2]);
PRIMARY = PremiumSubscriptionGroupRole.PRIMARY;
object2.premiumGroupRoles = [PRIMARY];
object2.availableOnFractional = false;
items3[7] = object2;
object2 = {};
object2.IconComponent = BoostGemIcon;
formatToPlainString = intl.formatToPlainString;
const DbkNFj = t.DbkNFj;
object2.label = Reflect.apply(formatToPlainString, intl, [DbkNFj, {numBoosts: NUM_FREE_GUILD_BOOSTS_WITH_PREMIUM}]);
Set = global.Set;
TIER_2 = PremiumTypes.TIER_2;
object2.premiumTypes = new Set([TIER_2]);
UNSPECIFIED = PremiumSubscriptionGroupRole.UNSPECIFIED;
object2.premiumGroupRoles = [UNSPECIFIED];
object2.availableOnFractional = false;
items3[8] = object2;
object2 = {};
const UserSquareIcon = (require(7960) /* metro dependency 7960: UserSquareIcon */).UserSquareIcon;
object2.IconComponent = UserSquareIcon;
object2.label = intl.string(t.vlHicE);
Set = global.Set;
TIER_2 = PremiumTypes.TIER_2;
object2.premiumTypes = new Set([TIER_2]);
UNSPECIFIED = PremiumSubscriptionGroupRole.UNSPECIFIED;
PRIMARY = PremiumSubscriptionGroupRole.PRIMARY;
MEMBER = PremiumSubscriptionGroupRole.MEMBER;
object2.premiumGroupRoles = [UNSPECIFIED, PRIMARY, MEMBER];
object2.availableOnFractional = true;
items3[9] = object2;
set = items3.filter(_fun63413);
set = set.filter(_fun63414);
return set.map(function(a0) {
var r3;
var object = {};
copyDataProperties(object, a0, r3);
var WHITE = importDefault(dependencyMap[15]).unsafe_rawColors.WHITE;
object['color'] = WHITE;
return object;
});
}
function _fun63413(a0) { // fn#63413, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8125:3100, offset: 0x01b7efeb, size: 50 bytes, params: 2, frame: 13
const premiumTypes = a0.premiumTypes;
const has = premiumTypes.has;
const value = environment.__proto__;
return Reflect.apply(has, premiumTypes, [env1_0]) && (env1_1 ? a0.availableOnFractional : !env1_1);
}
function _fun63414({premiumGroupRoles}) { // fn#63414, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8125:3166, offset: 0x01b7f01d, size: 28 bytes, params: 2, frame: 11
return premiumGroupRoles.includes(env1_2);
}
global.__d(_fun63410, 7947, [31, 1880, 3816, 1895, 3858, 1244, 2806, 7948, 3802, 7950, 7952, 7954, 7956, 7958, 7960,
697,
2]) /* metro module 7947, dependencies: [31, 1880, 3816, 1895, 3858, 1244, 2806, 7948, 3802, 7950, 7952, 7954, 7956, 7958, 7960, 697, 2] */;