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,109 +1,155 @@
/* Metro module 15282; source: modules/premium/promotions/native/BogoPromotionActionSheet.tsx; dependencies: [31, 27, 4502, 1880, 661, 1376, 33, 4501, 697, 6771, 566, 7040, 6275, 5475, 4573, 1244, 6766, 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 '../../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 DismissibleContentConstantsModule from '../../../dismissible_content/DismissibleContentConstants.tsx'; /* Metro dependency 1376 */
import * as PremiumConstantsModule from '../../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 BottomSheetNativeModule from '../../../../design/components/Sheet/native/BottomSheet.native.tsx'; /* Metro dependency 6275 */
import * as TextWithIOSLinkWorkaroundModule from '../../../a11y/native/TextWithIOSLinkWorkaround.tsx'; /* Metro dependency 6766 */
import * as NitroWheelIconModule from '../../../../design/components/Icon/native/redesign/generated/NitroWheelIcon.tsx'; /* Metro dependency 7954 */
function _fun116900(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#116900, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15479:6, offset: 0x0249a932, size: 581 bytes, params: 8, frame: 23
var object3;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importAll(31) /* metro dependency 31 */;
const env0_4 = (require(27) /* metro dependency 27 */).View;
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
const env0_6 = (require(1880) /* metro dependency 1880: PremiumConstants */).PremiumTypes;
let value = require(661) /* metro dependency 661: Constants */;
let value = ConstantsModule;
const env0_7 = value.AnalyticsSections;
const env0_8 = value.AnalyticsObjects;
const env0_9 = value.AnalyticsPages;
const env0_10 = value.AnalyticsObjectTypes;
const env0_11 = value.HelpdeskArticles;
const env0_12 = (require(1376) /* metro dependency 1376: DismissibleContentConstants */).ContentDismissActionType;
value = require(33) /* metro dependency 33 */;
const env0_13 = value.jsx;
const env0_14 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object3 = {};
const object4 = {'dipslay': 'flex', 'flexDirection': 'column', 'justifyContent': 'center', 'alignItems': 'center'};
object = {};
const object2 = {'dipslay': 'flex', 'flexDirection': 'column', 'justifyContent': 'center', 'alignItems': 'center'};
let PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object4.padding = PX_16;
object4.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object2.padding = PX_16;
object2.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
let PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object4.marginBottom = PX_24;
object3.container = object4;
object2.marginBottom = PX_24;
object.container = object2;
PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object3.buttonContainer = {'marginTop': null, 'width': 335, 'height': 48, marginTop: PX_24};
object3.header = {'marginBottom': 12, 'textAlign': 'center'};
object3.subheader = {textAlign: 'center'};
const object6 = {'alignSelf': 'center', 'paddingBottom': null, 'height': 213, 'width': 335, 'borderRadius': null,
object.buttonContainer = {'marginTop': null, 'width': 335, 'height': 48, marginTop: PX_24};
object.header = {'marginBottom': 12, 'textAlign': 'center'};
object.subheader = {textAlign: 'center'};
const object5 = {'alignSelf': 'center', 'paddingBottom': null, 'height': 213, 'width': 335, 'borderRadius': null,
'marginBottom': 12};
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object6.paddingBottom = PX_16;
object6.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object3.image = object6;
object3.nitroWheelIcon = {'bottom': -1, 'width': 22, 'height': 16};
const env0_15 = Reflect.apply(createStyles, value, [object3]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/premium/promotions/native/BogoPromotionActionSheet.tsx');
object5.paddingBottom = PX_16;
object5.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object.image = object5;
object.nitroWheelIcon = {'bottom': -1, 'width': 22, 'height': 16};
const env0_15 = Reflect.apply(createStyles, value, [object]);
(FileImportTrackerModule).fileFinishedImporting('modules/premium/promotions/native/BogoPromotionActionSheet.tsx');
exports.default = BogoPromotionActionSheet;
}
function BogoPromotionActionSheet({markAsDismissed}) { // fn#116901, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15479:969, offset: 0x0249ab77, size: 784 bytes, params: 2, frame: 33
const styles = useStyles();
const analyticsLocations = (importDefault(6771) /* metro dependency 6771: useAnalyticsLocations */)().analyticsLocations;
const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
const binding = env0_3;
const value2 = binding.useCallback(_fun116903, [analyticsLocations, markAsDismissed]);
const value3 = binding.useCallback(function() {
markAsDismissed(ContentDismissActionType.USER_DISMISS);
}, [markAsDismissed]);
const BottomSheet = (require(6275) /* metro dependency 6275: BottomSheetNative */).BottomSheet;
const items7 = [styles.container];
const items2 = [((Component) => <Component source={{uri: 'https://cdn.discordapp.com/assets/content/a59aed2e0e61a955dc3e0f4f6f7ab295e39f89a93c4f01e4bd84ed7fb418ec63.png'}} style={styles.image} />)(importDefault(5475) /* metro dependency 5475: FastImage */)];
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const items3 = [styles.header];
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
items2[1] = <Text style={items3} color="mobile-text-heading-primary" variant="heading-xl/bold">{Reflect.apply(string,
intl, [(require(1244) /* metro dependency 1244: indexNative */).t['6Jjfk8']])}</Text>;
const TextWithIOSLinkWorkaround = (require(6766) /* metro dependency 6766: TextWithIOSLinkWorkaround */).TextWithIOSLinkWorkaround;
const items4 = [styles.subheader];
const format = intl.format;
const y7lJK6 = (require(1244) /* metro dependency 1244: indexNative */).t.y7lJK6;
const defaultImport2 = importDefault(1948) /* metro dependency 1948: HelpdeskUtils */;
const getArticleURL = defaultImport2.getArticleURL;
const SUMMER_BOGO_2025 = HelpdeskArticles.SUMMER_BOGO_2025;
items2[2] = <TextWithIOSLinkWorkaround style={items4} color="text-subtle" variant="text-md/medium">{Reflect.apply(format,
intl, [y7lJK6, {helpCenterLink: Reflect.apply(getArticleURL, defaultImport2,
[SUMMER_BOGO_2025])}])}</TextWithIOSLinkWorkaround>;
const items5 = [styles.buttonContainer];
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 items6 = [styles.nitroWheelIcon];
const WHITE = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.WHITE;
items2[3] = <View style={items5}><Button text={Reflect.apply(string, intl,
[J61px0])} size="lg" onPress={value2} icon={<NitroWheelIcon style={items6} color={WHITE} size="custom" />} iconPosition="start" variant="experimental_premium-primary" shiny={!useReducedMotion} /></View>;
return (
<BottomSheet onDismiss={value3}>
<View style={items7}>
{items2}
function BogoPromotionActionSheet({markAsDismissed}) { // fn#116901, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15479:969, offset: 0x0249ab77, size: 784 bytes, params: 2, frame: 33
const styles = useStyles();
const analyticsLocations = (UseAnalyticsLocations)().analyticsLocations;
const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
const value2 = ReactModule.useCallback(_fun116903, [analyticsLocations, markAsDismissed]);
const value3 = ReactModule.useCallback(function() {
markAsDismissed(ContentDismissActionType.USER_DISMISS);
}, [markAsDismissed]);
const BottomSheet = (BottomSheetNativeModule).BottomSheet;
const items7 = [styles.container];
const items2 = [
((Component) => <Component source={{uri: 'https://cdn.discordapp.com/assets/content/a59aed2e0e61a955dc3e0f4f6f7ab295e39f89a93c4f01e4bd84ed7fb418ec63.png'}} style={styles.image} />)(FastImage),
];
const Text = (TextModule).Text;
const items3 = [styles.header];
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
items2[1] = (
<Text
style={items3}
color="mobile-text-heading-primary"
variant="heading-xl/bold"
>
{Reflect.apply(string, intl, [(require(1244) /* metro dependency 1244: indexNative */).t['6Jjfk8']])}
</Text>
);
const TextWithIOSLinkWorkaround = (TextWithIOSLinkWorkaroundModule).TextWithIOSLinkWorkaround;
const items4 = [styles.subheader];
const format = intl.format;
const y7lJK6 = (require(1244) /* metro dependency 1244: indexNative */).t.y7lJK6;
const defaultImport2 = HelpdeskUtils;
const getArticleURL = defaultImport2.getArticleURL;
const SUMMER_BOGO_2025 = HelpdeskArticles.SUMMER_BOGO_2025;
items2[2] = (
<TextWithIOSLinkWorkaround
style={items4}
color="text-subtle"
variant="text-md/medium"
>
{Reflect.apply(format, intl, [y7lJK6, {helpCenterLink: Reflect.apply(getArticleURL, defaultImport2,
[SUMMER_BOGO_2025])}])}
</TextWithIOSLinkWorkaround>
);
const items5 = [styles.buttonContainer];
const Button = (ButtonNativeModule).Button;
string = intl.string;
const J61px0 = (require(1244) /* metro dependency 1244: indexNative */).t.J61px0;
const NitroWheelIcon = (NitroWheelIconModule).NitroWheelIcon;
const items6 = [styles.nitroWheelIcon];
const WHITE = (Native).unsafe_rawColors.WHITE;
items2[3] = (
<View style={items5}>
<Button
text={Reflect.apply(string, intl, [J61px0])}
size="lg"
onPress={value2}
icon={<NitroWheelIcon
style={items6}
color={WHITE}
size="custom"
/>}
iconPosition="start"
variant="experimental_premium-primary"
shiny={!useReducedMotion}
/>
</View>
</BottomSheet>
);
}
);
return (
<BottomSheet onDismiss={value3}>
<View style={items7}>
{items2}
</View>
</BottomSheet>
);
function _fun116903() { // fn#116903, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15479:1142, offset: 0x0249ae87, size: 147 bytes, params: 1, frame: 15
const markAsDismissedBinding = markAsDismissed;
const PRIMARY = ContentDismissActionType.PRIMARY;
markAsDismissedBinding(PRIMARY);
const defaultImport = OpenPremiumPlanSelectionActionSheet;
const BOGO_PROMOTION_ACTION_SHEET = AnalyticsPages.BOGO_PROMOTION_ACTION_SHEET;
const FOOTER = AnalyticsSections.FOOTER;
const BUTTON_CTA = AnalyticsObjects.BUTTON_CTA;
const BUY = AnalyticsObjectTypes.BUY;
const TIER_2 = PremiumTypes.TIER_2;
defaultImport({analyticsLocation: {page: BOGO_PROMOTION_ACTION_SHEET, section: FOOTER, object: BUTTON_CTA,
objectType: BUY}, analyticsLocations: analyticsLocations, premiumType: TIER_2});
}
}
function _fun116903() { // fn#116903, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15479:1142, offset: 0x0249ae87, size: 147 bytes, params: 1, frame: 15
const markAsDismissedBinding = markAsDismissed;
const PRIMARY = ContentDismissActionType.PRIMARY;
markAsDismissedBinding(PRIMARY);
const defaultImport = importDefault(7040) /* metro dependency 7040: openPremiumPlanSelectionActionSheet */;
const BOGO_PROMOTION_ACTION_SHEET = AnalyticsPages.BOGO_PROMOTION_ACTION_SHEET;
const FOOTER = AnalyticsSections.FOOTER;
const BUTTON_CTA = AnalyticsObjects.BUTTON_CTA;
const BUY = AnalyticsObjectTypes.BUY;
const TIER_2 = PremiumTypes.TIER_2;
defaultImport({analyticsLocation: {page: BOGO_PROMOTION_ACTION_SHEET, section: FOOTER, object: BUTTON_CTA,
objectType: BUY}, analyticsLocations: analyticsLocations, premiumType: TIER_2});
}
global.__d(_fun116900, 15282, [31, 27, 4502, 1880, 661, 1376, 33, 4501, 697, 6771, 566, 7040, 6275, 5475, 4573,
1244, 6766, 1948, 4578, 7954,
2]) /* metro module 15282, dependencies: [31, 27, 4502, 1880, 661, 1376, 33, 4501, 697, 6771, 566, 7040, 6275, 5475, 4573, 1244, 6766, 1948, 4578, 7954, 2] */;
@@ -1,92 +1,120 @@
/* Metro module 7586; source: modules/premium/promotions/native/MarketingPageBannerTile.tsx; dependencies: [31, 27, 4502, 33, 4501, 697, 566, 6771, 7587, 8742, 480, 7583, 12169, 4573, 6766, 3853, 4578, 7954, 2] */
import AccessibilityStore from '../../../a11y/AccessibilityStore.tsx'; /* Metro dependency 4502 */
import UseTrackImpression from '../../../app_analytics/useTrackImpression.tsx'; /* Metro dependency 8742 */
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 AnalyticsUtilsModule from '../../../../external/discord_common/js/packages/analytics-utils/AnalyticsUtils.tsx'; /* Metro dependency 480 */
import * as TextModule from '../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as TextWithIOSLinkWorkaroundModule from '../../../a11y/native/TextWithIOSLinkWorkaround.tsx'; /* Metro dependency 6766 */
import * as MarketingComponentTypeModule from '../../../../external/discord_common/js/shared/shared-constants/MarketingComponentType.tsx'; /* Metro dependency 7583 */
import * as PromotionStringUtilsModule from '../PromotionStringUtils.tsx'; /* Metro dependency 12169 */
function _fun60847(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#60847, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7764:6, offset: 0x017116bb, size: 516 bytes, params: 8, frame: 22
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
let value = require(27) /* metro dependency 27 */;
ReactModule;
let value = ReactNativeModule;
const env0_3 = value.Image;
const env0_4 = value.View;
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
value = require(33) /* metro dependency 33 */;
const env0_6 = value.jsx;
const env0_7 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
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.padding = PX_16;
object5.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object3.padding = PX_16;
object3.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
const BACKGROUND_SECONDARY_ALT = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_SECONDARY_ALT;
object5.backgroundColor = BACKGROUND_SECONDARY_ALT;
object5.overflow = 'hidden';
object2.card = object5;
const object6 = {'width': '100%', 'maxWidth': 317, 'height': 144};
object6.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.md;
object3.backgroundColor = BACKGROUND_SECONDARY_ALT;
object3.overflow = 'hidden';
object.card = object3;
const object4 = {'width': '100%', 'maxWidth': 317, 'height': 144};
object4.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.md;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object6.marginBottom = PX_16;
object4.marginBottom = PX_16;
const PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object6.padding = PX_8;
object6.alignSelf = 'center';
object2.image = object6;
object4.padding = PX_8;
object4.alignSelf = 'center';
object.image = object4;
const PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
object2.bodyText = {marginTop: PX_4};
object.bodyText = {marginTop: PX_4};
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object2.ctaButton = {marginTop: PX_16};
object2.nitroWheelIcon = {'bottom': -1, 'width': 22, 'height': 16};
const env0_8 = Reflect.apply(createStyles, value, [object2]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/premium/promotions/native/MarketingPageBannerTile.tsx');
object.ctaButton = {marginTop: PX_16};
object.nitroWheelIcon = {'bottom': -1, 'width': 22, 'height': 16};
const env0_8 = Reflect.apply(createStyles, value, [object]);
(FileImportTrackerModule).fileFinishedImporting('modules/premium/promotions/native/MarketingPageBannerTile.tsx');
exports.default = _default_60848;
}
function _default_60848({style, cardStyle, componentId, bannerFields, analyticsPage, onPaymentSuccess, onPaymentDismiss}) { // fn#60848, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7764:730, offset: 0x017118bf, size: 988 bytes, params: 2, frame: 33
var object2;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const styles = useStyles();
const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
const buttonActionHandler = (require(7587) /* metro dependency 7587: PremiumMarketingButtonActions */).getButtonActionHandler({buttonAction: bannerFields.button?.buttonAction,
analyticsLocations: (importDefault(6771) /* metro dependency 6771: useAnalyticsLocations */)().analyticsLocations,
analyticsPage: analyticsPage, onPaymentSuccess: onPaymentSuccess, onPaymentDismiss: onPaymentDismiss});
const defaultImport = importDefault(8742) /* metro dependency 8742: useTrackImpression */;
object2 = {};
const ImpressionTypes = (require(480) /* metro dependency 480: AnalyticsUtils */).ImpressionTypes;
const VIEW = ImpressionTypes.VIEW;
object2.type = VIEW;
const ImpressionNames = (require(480) /* metro dependency 480: AnalyticsUtils */).ImpressionNames;
const PREMIUM_MARKETING_COMPONENT = ImpressionNames.PREMIUM_MARKETING_COMPONENT;
object2.name = PREMIUM_MARKETING_COMPONENT;
const MarketingComponentType = (require(7583) /* metro dependency 7583: MarketingComponentType */).MarketingComponentType;
const MARKETING_PAGE_BANNER = MarketingComponentType.MARKETING_PAGE_BANNER;
object2.properties = {component_type: MARKETING_PAGE_BANNER, component_id: componentId};
defaultImport(object2);
const value4 = (require(12169) /* metro dependency 12169: PromotionStringUtils */).useFormatStringWithCommonPremiumParams(bannerFields.body);
const helpArticleLinkProps = (require(12169) /* metro dependency 12169: PromotionStringUtils */).getHelpArticleLinkProps(bannerFields.helpArticle,
bannerFields.helpArticleId);
const items4 = [styles.container, style];
const items2 = [styles.card, cardStyle];
const items3 = [bannerFields.assetUrl !== '' && <Image source={{uri: bannerFields.assetUrl}} style={styles.image} resizeMode="contain" />];
items3[1] = <Text color="mobile-text-heading-primary" variant="text-lg/bold">{bannerFields.header}</Text>;
const TextWithIOSLinkWorkaround = (require(6766) /* metro dependency 6766: TextWithIOSLinkWorkaround */).TextWithIOSLinkWorkaround;
items3[2] = <TextWithIOSLinkWorkaround color="mobile-text-heading-primary" variant="text-sm/medium" style={styles.bodyText}>{value4}{' '}{helpArticleLinkProps != null && <Text color="text-link" variant="text-sm/medium" accessibilityRole="link" onPress={onPress_60850}>{helpArticleLinkProps.linkText}</Text>}</TextWithIOSLinkWorkaround>;
items3[3] = bannerFields.button != null && <View style={styles.ctaButton}>{((Button) => <Button text={bannerFields.button.copy} size="lg" onPress={buttonActionHandler} icon={((NitroWheelIcon) => <NitroWheelIcon style={[styles.nitroWheelIcon]} color={(importDefault(697) /* metro dependency 697: native */).colors.WHITE} size="custom" />)((require(7954) /* metro dependency 7954: NitroWheelIcon */).NitroWheelIcon)} iconPosition="start" variant="experimental_premium-primary" shiny={!useReducedMotion} />)((require(4578) /* metro dependency 4578: ButtonNative */).Button)}</View>;
return (
<View style={items4}>
<View style={items2}>
{items3}
function _default_60848({style, cardStyle, componentId, bannerFields, analyticsPage, onPaymentSuccess, onPaymentDismiss}) { // fn#60848, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7764:730, offset: 0x017118bf, size: 988 bytes, params: 2, frame: 33
const Text = (TextModule).Text;
const styles = useStyles();
const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
const buttonActionHandler = (require(7587) /* metro dependency 7587: PremiumMarketingButtonActions */).getButtonActionHandler({buttonAction: bannerFields.button?.buttonAction,
analyticsLocations: (importDefault(6771) /* metro dependency 6771: useAnalyticsLocations */)().analyticsLocations,
analyticsPage: analyticsPage, onPaymentSuccess: onPaymentSuccess, onPaymentDismiss: onPaymentDismiss});
const defaultImport = UseTrackImpression;
object = {};
const ImpressionTypes = (AnalyticsUtilsModule).ImpressionTypes;
const VIEW = ImpressionTypes.VIEW;
object.type = VIEW;
const ImpressionNames = (AnalyticsUtilsModule).ImpressionNames;
const PREMIUM_MARKETING_COMPONENT = ImpressionNames.PREMIUM_MARKETING_COMPONENT;
object.name = PREMIUM_MARKETING_COMPONENT;
const MarketingComponentType = (MarketingComponentTypeModule).MarketingComponentType;
const MARKETING_PAGE_BANNER = MarketingComponentType.MARKETING_PAGE_BANNER;
object.properties = {component_type: MARKETING_PAGE_BANNER, component_id: componentId};
defaultImport(object);
const value4 = (PromotionStringUtilsModule).useFormatStringWithCommonPremiumParams(bannerFields.body);
const helpArticleLinkProps = (PromotionStringUtilsModule).getHelpArticleLinkProps(bannerFields.helpArticle,
bannerFields.helpArticleId);
const items4 = [styles.container, style];
const items2 = [styles.card, cardStyle];
const items3 = [
bannerFields.assetUrl !== '' && <Image source={{uri: bannerFields.assetUrl}} style={styles.image} resizeMode="contain" />,
];
items3[1] = (
<Text color="mobile-text-heading-primary" variant="text-lg/bold">
{bannerFields.header}
</Text>
);
const TextWithIOSLinkWorkaround = (TextWithIOSLinkWorkaroundModule).TextWithIOSLinkWorkaround;
items3[2] = (
<TextWithIOSLinkWorkaround
color="mobile-text-heading-primary"
variant="text-sm/medium"
style={styles.bodyText}
>
{value4}
{' '}
{helpArticleLinkProps != null && <Text color="text-link" variant="text-sm/medium" accessibilityRole="link" onPress={onPress_60850}>{helpArticleLinkProps.linkText}</Text>}
</TextWithIOSLinkWorkaround>
);
items3[3] = bannerFields.button != null && <View style={styles.ctaButton}>{((Button) => <Button text={bannerFields.button.copy} size="lg" onPress={buttonActionHandler} icon={((NitroWheelIcon) => <NitroWheelIcon style={[styles.nitroWheelIcon]} color={(importDefault(697) /* metro dependency 697: native */).colors.WHITE} size="custom" />)((require(7954) /* metro dependency 7954: NitroWheelIcon */).NitroWheelIcon)} iconPosition="start" variant="experimental_premium-primary" shiny={!useReducedMotion} />)((require(4578) /* metro dependency 4578: ButtonNative */).Button)}</View>;
return (
<View style={items4}>
<View style={items2}>
{items3}
</View>
</View>
</View>
);
}
);
function _default_60848OnPress() { // fn#60850, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7764:1923, owner: _default_60848.onPress, offset: 0x01711c9b, size: 50 bytes, params: 1, frame: 11
let value = environment.__proto__;
value = importDefault(3853) /* metro dependency 3853: Linking */;
return value.openURL(env0_0.url);
}
}
function _default_60848OnPress() { // fn#60850, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7764:1923, owner: _default_60848.onPress, offset: 0x01711c9b, size: 50 bytes, params: 1, frame: 11
let value = environment.__proto__;
value = importDefault(3853) /* metro dependency 3853: Linking */;
return value.openURL(env0_0.url);
}
global.__d(_fun60847, 7586, [31, 27, 4502, 33, 4501, 697, 566, 6771, 7587, 8742, 480, 7583, 12169, 4573, 6766, 3853,
4578, 7954,
2]) /* metro module 7586, dependencies: [31, 27, 4502, 33, 4501, 697, 566, 6771, 7587, 8742, 480, 7583, 12169, 4573, 6766, 3853, 4578, 7954, 2] */;
@@ -1,138 +1,197 @@
/* Metro module 15285; source: modules/premium/promotions/native/PremiumMarketingMomentActionSheet.tsx; dependencies: [31, 27, 4502, 661, 1376, 33, 4501, 697, 566, 6771, 7587, 8742, 480, 7583, 12169, 6275, 4651, 9543, 5475, 4573, 6766, 3853, 4578, 1244, 7954, 2] */
import Native from '../../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */
import AccessibilityStore from '../../../a11y/AccessibilityStore.tsx'; /* Metro dependency 4502 */
import UseTrackImpression from '../../../app_analytics/useTrackImpression.tsx'; /* Metro dependency 8742 */
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 AnalyticsUtilsModule from '../../../../external/discord_common/js/packages/analytics-utils/AnalyticsUtils.tsx'; /* Metro dependency 480 */
import * as ConstantsModule from '../../../../Constants.tsx'; /* Metro dependency 661 */
import * as DismissibleContentConstantsModule from '../../../dismissible_content/DismissibleContentConstants.tsx'; /* Metro dependency 1376 */
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 UploadUtilsModule from '../../../../utils/UploadUtils.tsx'; /* Metro dependency 4651 */
import * as BottomSheetNativeModule from '../../../../design/components/Sheet/native/BottomSheet.native.tsx'; /* Metro dependency 6275 */
import * as TextWithIOSLinkWorkaroundModule from '../../../a11y/native/TextWithIOSLinkWorkaround.tsx'; /* Metro dependency 6766 */
import * as MarketingComponentTypeModule from '../../../../external/discord_common/js/shared/shared-constants/MarketingComponentType.tsx'; /* Metro dependency 7583 */
import * as NitroWheelIconModule from '../../../../design/components/Icon/native/redesign/generated/NitroWheelIcon.tsx'; /* Metro dependency 7954 */
import * as PromotionStringUtilsModule from '../PromotionStringUtils.tsx'; /* Metro dependency 12169 */
function _fun116920(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#116920, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15482:6, offset: 0x0249b75e, size: 538 bytes, params: 8, frame: 23
var object3;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importAll(31) /* metro dependency 31 */;
const env0_4 = (require(27) /* metro dependency 27 */).View;
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
const env0_6 = (require(661) /* metro dependency 661: Constants */).AnalyticsPages;
const env0_7 = (require(1376) /* metro dependency 1376: DismissibleContentConstants */).ContentDismissActionType;
let value = require(33) /* metro dependency 33 */;
let value = JsxRuntimeModule;
const env0_8 = value.jsx;
const env0_9 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object3 = {};
const object4 = {'display': 'flex', 'flexDirection': 'column', 'alignItems': 'center', 'paddingVertical': 12,
object = {};
const object2 = {'display': 'flex', 'flexDirection': 'column', 'alignItems': 'center', 'paddingVertical': 12,
'paddingHorizontal': 20};
object4.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object3.container = object4;
object2.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object.container = object2;
let PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object3.buttonContainer = {'marginTop': null, 'width': 335, 'height': 48, marginTop: PX_24};
object.buttonContainer = {'marginTop': null, 'width': 335, 'height': 48, marginTop: PX_24};
const PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object3.header = {marginBottom: PX_8, textAlign: 'center'};
object3.body = {textAlign: 'center'};
const object5 = {'height': 188, 'width': 335};
object5.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.md;
object.header = {marginBottom: PX_8, textAlign: 'center'};
object.body = {textAlign: 'center'};
const object6 = {'height': 188, 'width': 335};
object6.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.md;
PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object5.marginBottom = PX_24;
object3.image = object5;
const object8 = {};
object8.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.md;
object6.marginBottom = PX_24;
object.image = object6;
const object7 = {};
object7.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.md;
PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object8.marginBottom = PX_24;
object3.video = object8;
object3.nitroWheelIcon = {'bottom': -1, 'width': 22, 'height': 16};
const env0_10 = Reflect.apply(createStyles, value, [object3]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/premium/promotions/native/PremiumMarketingMomentActionSheet.tsx');
object7.marginBottom = PX_24;
object.video = object7;
object.nitroWheelIcon = {'bottom': -1, 'width': 22, 'height': 16};
const env0_10 = Reflect.apply(createStyles, value, [object]);
(FileImportTrackerModule).fileFinishedImporting('modules/premium/promotions/native/PremiumMarketingMomentActionSheet.tsx');
exports.default = PremiumMarketingMomentActionSheet;
}
function PremiumMarketingMomentActionSheet({markAsDismissed, bottomSheetData, componentId}) { // fn#116921, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15482:863, offset: 0x0249b978, size: 1211 bytes, params: 2, frame: 34
var object5;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
var r8;
var r15;
var Video;
var object2;
var intl;
const env0_3 = undefined;
const styles = useStyles();
const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
let value3 = env0_3.useCallback(function() {
var markAsDismissedBinding = markAsDismissed;
var value3 = undefined;
markAsDismissedBinding(ContentDismissActionType.PRIMARY);
var moduleValue = require(dependencyMap[10]);
var getButtonActionHandler = moduleValue.getButtonActionHandler;
var button = bottomSheetData.button;
Reflect.apply(getButtonActionHandler, moduleValue,
[{buttonAction: button == null ? value3 : button.buttonAction,
analyticsLocations: analyticsLocations,
analyticsPage: AnalyticsPages.PREMIUM_MARKETING_MOMENT_ACTION_SHEET}])();
return value3;
}, [bottomSheetData.button?.buttonAction, markAsDismissed,
(importDefault(6771) /* metro dependency 6771: useAnalyticsLocations */)().analyticsLocations]);
const value4 = env0_3.useCallback(function() {
markAsDismissed(ContentDismissActionType.USER_DISMISS);
}, [markAsDismissed]);
const defaultImport = importDefault(8742) /* metro dependency 8742: useTrackImpression */;
object5 = {};
const ImpressionTypes = (require(480) /* metro dependency 480: AnalyticsUtils */).ImpressionTypes;
const HALFSHEET = ImpressionTypes.HALFSHEET;
object5.type = HALFSHEET;
const ImpressionNames = (require(480) /* metro dependency 480: AnalyticsUtils */).ImpressionNames;
const PREMIUM_MARKETING_COMPONENT = ImpressionNames.PREMIUM_MARKETING_COMPONENT;
object5.name = PREMIUM_MARKETING_COMPONENT;
const MarketingComponentType = (require(7583) /* metro dependency 7583: MarketingComponentType */).MarketingComponentType;
const MOBILE_BOTTOM_SHEET = MarketingComponentType.MOBILE_BOTTOM_SHEET;
object5.properties = {component_type: MOBILE_BOTTOM_SHEET, component_id: componentId,
dismissible_content: bottomSheetData.dismissibleContent};
defaultImport(object5);
const helpArticleLinkProps = (require(12169) /* metro dependency 12169: PromotionStringUtils */).getHelpArticleLinkProps(bottomSheetData.helpArticle,
bottomSheetData.helpArticleId);
const BottomSheet = (require(6275) /* metro dependency 6275: BottomSheetNative */).BottomSheet;
const items3 = [styles.container];
const uploadUtilsModule = require(4651) /* metro dependency 4651: UploadUtils */;
const getFile = uploadUtilsModule.getFile;
const object3 = {};
let assetUrl = bottomSheetData.assetUrl;
object3.uri = assetUrl;
if (Reflect.apply(getFile, uploadUtilsModule, [object3]).isVideo) {
Video = importDefault(9543) /* metro dependency 9543: Video */;
object2 = {};
assetUrl = bottomSheetData.assetUrl;
object2.videoURI = assetUrl;
assetUrl = bottomSheetData.assetUrl;
object2.uri = assetUrl;
r8 = <Video src={object2} style={styles.video} muted height={188} width={335} paused={useReducedMotion} resizeMode="contain" />;
} else {
r8 = ((Component) => <Component source={{uri: bottomSheetData.assetUrl}} style={styles.image} resizeMode="contain" />)(importDefault(5475) /* metro dependency 5475: FastImage */);
}
const items2 = [r8];
items2[1] = <Text style={[styles.header]} color="mobile-text-heading-primary" variant="heading-lg/extrabold">{bottomSheetData.header}</Text>;
const TextWithIOSLinkWorkaround = (require(6766) /* metro dependency 6766: TextWithIOSLinkWorkaround */).TextWithIOSLinkWorkaround;
items2[2] = <TextWithIOSLinkWorkaround style={[styles.body]} color="text-default" variant="text-sm/normal">{bottomSheetData.body}{' '}{helpArticleLinkProps != null && <Text color="text-link" variant="text-sm/normal" accessibilityRole="link" onPress={onPress_116925}>{helpArticleLinkProps.linkText}</Text>}</TextWithIOSLinkWorkaround>;
const items6 = [styles.buttonContainer];
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
const copy = bottomSheetData.button?.copy;
if (copy != null) {
r15 = copy;
} else {
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
r15 = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.J61px0);
}
const NitroWheelIcon = (require(7954) /* metro dependency 7954: NitroWheelIcon */).NitroWheelIcon;
const items7 = [styles.nitroWheelIcon];
const WHITE = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.WHITE;
items2[3] = <View style={items6}><Button text={r15} size="lg" onPress={value3} icon={<NitroWheelIcon style={items7} color={WHITE} size="custom" />} iconPosition="start" variant="experimental_premium-primary" shiny={!useReducedMotion} /></View>;
return (
<BottomSheet onDismiss={value4}>
<View style={items3}>
{items2}
function PremiumMarketingMomentActionSheet({markAsDismissed, bottomSheetData, componentId}) { // fn#116921, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15482:863, offset: 0x0249b978, size: 1211 bytes, params: 2, frame: 34
var object6;
const Text = (TextModule).Text;
var r8;
var r15;
var Video;
var object;
var intl;
const env0_3 = undefined;
const styles = useStyles();
const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
let value3 = env0_3.useCallback(function() {
var markAsDismissedBinding = markAsDismissed;
var value3 = undefined;
markAsDismissedBinding(ContentDismissActionType.PRIMARY);
var moduleValue = require(dependencyMap[10]);
var getButtonActionHandler = moduleValue.getButtonActionHandler;
var button = bottomSheetData.button;
Reflect.apply(getButtonActionHandler, moduleValue,
[{buttonAction: button == null ? value3 : button.buttonAction,
analyticsLocations: analyticsLocations,
analyticsPage: AnalyticsPages.PREMIUM_MARKETING_MOMENT_ACTION_SHEET}])();
return value3;
}, [bottomSheetData.button?.buttonAction, markAsDismissed,
(importDefault(6771) /* metro dependency 6771: useAnalyticsLocations */)().analyticsLocations]);
const value4 = env0_3.useCallback(function() {
markAsDismissed(ContentDismissActionType.USER_DISMISS);
}, [markAsDismissed]);
const defaultImport = UseTrackImpression;
object6 = {};
const ImpressionTypes = (AnalyticsUtilsModule).ImpressionTypes;
const HALFSHEET = ImpressionTypes.HALFSHEET;
object6.type = HALFSHEET;
const ImpressionNames = (AnalyticsUtilsModule).ImpressionNames;
const PREMIUM_MARKETING_COMPONENT = ImpressionNames.PREMIUM_MARKETING_COMPONENT;
object6.name = PREMIUM_MARKETING_COMPONENT;
const MarketingComponentType = (MarketingComponentTypeModule).MarketingComponentType;
const MOBILE_BOTTOM_SHEET = MarketingComponentType.MOBILE_BOTTOM_SHEET;
object6.properties = {component_type: MOBILE_BOTTOM_SHEET, component_id: componentId,
dismissible_content: bottomSheetData.dismissibleContent};
defaultImport(object6);
const helpArticleLinkProps = (PromotionStringUtilsModule).getHelpArticleLinkProps(bottomSheetData.helpArticle,
bottomSheetData.helpArticleId);
const BottomSheet = (BottomSheetNativeModule).BottomSheet;
const items3 = [styles.container];
const getFile = UploadUtilsModule.getFile;
const object4 = {};
let assetUrl = bottomSheetData.assetUrl;
object4.uri = assetUrl;
if (Reflect.apply(getFile, UploadUtilsModule, [object4]).isVideo) {
Video = importDefault(9543) /* metro dependency 9543: Video */;
object = {};
assetUrl = bottomSheetData.assetUrl;
object.videoURI = assetUrl;
assetUrl = bottomSheetData.assetUrl;
object.uri = assetUrl;
r8 = (
<Video
src={object}
style={styles.video}
muted
height={188}
width={335}
paused={useReducedMotion}
resizeMode="contain"
/>
);
} else {
r8 = ((Component) => <Component source={{uri: bottomSheetData.assetUrl}} style={styles.image} resizeMode="contain" />)(importDefault(5475) /* metro dependency 5475: FastImage */);
}
const items2 = [r8];
items2[1] = (
<Text
style={[styles.header]}
color="mobile-text-heading-primary"
variant="heading-lg/extrabold"
>
{bottomSheetData.header}
</Text>
);
const TextWithIOSLinkWorkaround = (TextWithIOSLinkWorkaroundModule).TextWithIOSLinkWorkaround;
items2[2] = (
<TextWithIOSLinkWorkaround
style={[styles.body]}
color="text-default"
variant="text-sm/normal"
>
{bottomSheetData.body}
{' '}
{helpArticleLinkProps != null && <Text color="text-link" variant="text-sm/normal" accessibilityRole="link" onPress={onPress_116925}>{helpArticleLinkProps.linkText}</Text>}
</TextWithIOSLinkWorkaround>
);
const items6 = [styles.buttonContainer];
const Button = (ButtonNativeModule).Button;
const copy = bottomSheetData.button?.copy;
if (copy != null) {
r15 = copy;
} else {
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
r15 = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.J61px0);
}
const NitroWheelIcon = (NitroWheelIconModule).NitroWheelIcon;
const items7 = [styles.nitroWheelIcon];
const WHITE = (Native).unsafe_rawColors.WHITE;
items2[3] = (
<View style={items6}>
<Button
text={r15}
size="lg"
onPress={value3}
icon={<NitroWheelIcon
style={items7}
color={WHITE}
size="custom"
/>}
iconPosition="start"
variant="experimental_premium-primary"
shiny={!useReducedMotion}
/>
</View>
</BottomSheet>
);
}
);
return (
<BottomSheet onDismiss={value4}>
<View style={items3}>
{items2}
</View>
</BottomSheet>
);
function PremiumMarketingMomentActionSheetOnPress() { // fn#116925, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15482:2360, owner: PremiumMarketingMomentActionSheet.onPress, offset: 0x0249bead, size: 50 bytes, params: 1, frame: 11
let value = environment.__proto__;
value = importDefault(3853) /* metro dependency 3853: Linking */;
return value.openURL(env0_3.url);
}
}
function PremiumMarketingMomentActionSheetOnPress() { // fn#116925, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15482:2360, owner: PremiumMarketingMomentActionSheet.onPress, offset: 0x0249bead, size: 50 bytes, params: 1, frame: 11
let value = environment.__proto__;
value = importDefault(3853) /* metro dependency 3853: Linking */;
return value.openURL(env0_3.url);
}
global.__d(_fun116920, 15285, [31, 27, 4502, 661, 1376, 33, 4501, 697, 566, 6771, 7587, 8742, 480, 7583, 12169,
6275, 4651, 9543, 5475, 4573, 6766, 3853, 4578, 1244, 7954,
2]) /* metro module 15285, dependencies: [31, 27, 4502, 661, 1376, 33, 4501, 697, 566, 6771, 7587, 8742, 480, 7583, 12169, 6275, 4651, 9543, 5475, 4573, 6766, 3853, 4578, 1244, 7954, 2] */;