301 lines
20 KiB
TypeScript
301 lines
20 KiB
TypeScript
/* Metro module 13494; source: modules/premium/native/PremiumTabBadge.tsx; dependencies: [57, 31, 27, 3808, 1880, 7047, 33, 4501, 697, 4002, 4048, 4573, 8742, 480, 7583, 1305, 13495, 7062, 7258, 3802, 3968, 1365, 566, 7013, 7559, 8314, 7582, 1244, 4589, 676, 477, 2] */
|
|
function _fun102544(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#102544, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13684:6, offset: 0x0223fcda, size: 633 bytes, params: 8, frame: 23
|
|
var object4;
|
|
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 subscriptionStore = importDefault(3808) /* metro dependency 3808: SubscriptionStore */;
|
|
const env0_6 = (require(1880) /* metro dependency 1880: PremiumConstants */).PREMIUM_TIER_2_REFERRAL_TRIAL_ID;
|
|
const env0_7 = (require(7047) /* metro dependency 7047: ColorConstants */).Gradients;
|
|
let value = require(33) /* metro dependency 33 */;
|
|
const env0_8 = value.jsx;
|
|
const env0_9 = value.jsxs;
|
|
value = require(4501) /* metro dependency 4501: createStyles */;
|
|
const createStyles = value.createStyles;
|
|
object4 = {};
|
|
const object5 = {'paddingVertical': 4, 'paddingHorizontal': 8};
|
|
object5.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
|
|
object4.tag = object5;
|
|
const object7 = {'display': 'flex', 'minWidth': 16, 'minHeight': 16, 'paddingHorizontal': 8,
|
|
'justifyContent': 'center', 'alignItems': 'center', 'gap': 4};
|
|
object7.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
|
|
object4.badge = object7;
|
|
const BACKGROUND_BRAND = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BRAND;
|
|
object4.badgeBackgroundLightTheme = {backgroundColor: BACKGROUND_BRAND};
|
|
const WHITE = (importDefault(697) /* metro dependency 697: native */).colors.WHITE;
|
|
object4.badgeBackgroundDarkTheme = {backgroundColor: WHITE};
|
|
const object8 = {'paddingVertical': 2, 'paddingHorizontal': 12, 'borderRadius': null, 'backgroundColor': null,
|
|
'display': 'flex', 'flexDirection': 'row', 'alignItems': 'center', 'textAlignVertical': 'center'};
|
|
object8.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
|
|
let BORDER_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_SUBTLE;
|
|
object8.backgroundColor = BORDER_SUBTLE;
|
|
object4.acked = object8;
|
|
BORDER_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_SUBTLE;
|
|
object4.ackedBadge = {backgroundColor: BORDER_SUBTLE};
|
|
const INTERACTIVE_TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.INTERACTIVE_TEXT_DEFAULT;
|
|
object4.icon = {color: INTERACTIVE_TEXT_DEFAULT, marginRight: 2};
|
|
object4.text = {paddingBottom: 2};
|
|
const object9 = {'paddingVertical': 2, 'paddingHorizontal': 12, 'borderRadius': null, 'display': 'flex',
|
|
'flexDirection': 'row', 'alignItems': 'center', 'textAlignVertical': 'center'};
|
|
object9.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
|
|
object4.premiumDiscountBadge = object9;
|
|
const env0_10 = Reflect.apply(createStyles, value, [object4]);
|
|
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/premium/native/PremiumTabBadge.tsx');
|
|
exports.default = PremiumTabBadge;
|
|
}
|
|
|
|
function ThemedTabBadge({label}) { // fn#102545, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13684:1157, offset: 0x0223ff53, size: 210 bytes, params: 2, frame: 20
|
|
const styles = useStyles();
|
|
const sharedModule = require(4002) /* metro dependency 4002: shared */;
|
|
const isThemeDark2 = sharedModule.isThemeDark((importDefault(4048) /* metro dependency 4048: useTheme */)());
|
|
const items2 = [styles.badge];
|
|
items2[1] = isThemeDark2 ? styles.badgeBackgroundDarkTheme : styles.badgeBackgroundLightTheme;
|
|
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
|
|
return (
|
|
<View style={items2}>
|
|
<Text
|
|
variant="eyebrow"
|
|
color={isThemeDark2 ? 'black' : 'always-white'}
|
|
style={styles.text}
|
|
>
|
|
{label}
|
|
</Text>
|
|
</View>
|
|
);
|
|
}
|
|
|
|
function OfferBadge({acked, badgeCopy, ackedBadgeCopy, componentId}) { // fn#102546, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13684:1424, offset: 0x02240025, size: 415 bytes, params: 2, frame: 25
|
|
var r0;
|
|
var Icon;
|
|
var icon;
|
|
const styles = useStyles();
|
|
const defaultImport = importDefault(8742) /* metro dependency 8742: useTrackImpression */;
|
|
const 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 PREMIUM_TAB = MarketingComponentType.PREMIUM_TAB;
|
|
object2.properties = {component_type: PREMIUM_TAB, component_id: componentId};
|
|
defaultImport(object2, {disableTrack: componentId == null});
|
|
if (acked) {
|
|
var viewBindingProps = {style: styles.acked};
|
|
Icon = (require(1305) /* metro dependency 1305: native */).Icon;
|
|
var iconProps = {source: importDefault(13495) /* metro dependency 13495 */,
|
|
size: (require(1305) /* metro dependency 1305: native */).Icon.Sizes.EXTRA_SMALL};
|
|
icon = styles.icon;
|
|
iconProps.color = icon.color;
|
|
icon = styles.icon;
|
|
iconProps.style = icon;
|
|
r0 = <View {...viewBindingProps}><Icon {...iconProps} />{((Text) => <Text variant="eyebrow" color="interactive-text-default" style={styles.text}>{ackedBadgeCopy}</Text>)((require(4573) /* metro dependency 4573: Text */).Text)}</View>;
|
|
} else {
|
|
r0 = <ThemedTabBadge label={badgeCopy} />;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function PremiumTabBadge() { // fn#102547, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13684:1996, offset: 0x022401c4, size: 2256 bytes, params: 1, frame: 34
|
|
var r2;
|
|
var r0;
|
|
var PREMIUM_TAB_MARKETING_MOMENT_OFFER_BADGE;
|
|
var properties;
|
|
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
|
|
var string;
|
|
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
|
|
var defaultImport;
|
|
const HorizontalGradient = (require(676) /* metro dependency 676: ConstantsIOS */).HorizontalGradient;
|
|
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
|
|
const Icon = (require(1305) /* metro dependency 1305: native */).Icon;
|
|
var icon;
|
|
var items2;
|
|
var OS9KPu;
|
|
var defaultImport3;
|
|
var moduleValue12;
|
|
var premiumTab;
|
|
var badgeLabel;
|
|
var value;
|
|
const value2 = undefined;
|
|
const styles = useStyles();
|
|
const value3 = (require(7062) /* metro dependency 7062: usePremiumTrialOfferNative */).usePremiumTrialOffer();
|
|
const value4 = (require(7258) /* metro dependency 7258: usePremiumDiscountOfferAndroid */).usePremiumDiscountOffer();
|
|
const value5 = (require(3802) /* metro dependency 3802: PremiumUtils */).useHasTier2Premium();
|
|
const dismissibleContentUnsafeUtilsModule = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
|
|
const UNSAFE_useIsDismissibleContentDismissed = dismissibleContentUnsafeUtilsModule.UNSAFE_useIsDismissibleContentDismissed;
|
|
const DismissibleContent = (require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent;
|
|
const MOBILE_NITRO_HOME_SETTINGS_BADGE = DismissibleContent.MOBILE_NITRO_HOME_SETTINGS_BADGE;
|
|
let r1 = !Reflect.apply(UNSAFE_useIsDismissibleContentDismissed, dismissibleContentUnsafeUtilsModule,
|
|
[MOBILE_NITRO_HOME_SETTINGS_BADGE]) && value5;
|
|
const fluxModule = require(566) /* metro dependency 566: flux */;
|
|
const useStateFromStores = fluxModule.useStateFromStores;
|
|
const items = [SubscriptionStore];
|
|
const premiumTypeSubscription = Reflect.apply(useStateFromStores, fluxModule, [items, function() {
|
|
return SubscriptionStore.getPremiumTypeSubscription();
|
|
}]);
|
|
const value8 = null;
|
|
const trialId = value8 == premiumTypeSubscription ? value2 : premiumTypeSubscription.trialId;
|
|
const useSelectedDismissibleContentModule = require(7013) /* metro dependency 7013: useSelectedDismissibleContent */;
|
|
let useSelectedDismissibleContent = useSelectedDismissibleContentModule.useSelectedDismissibleContent;
|
|
const value10 = env0_3(Reflect.apply(useSelectedDismissibleContent, useSelectedDismissibleContentModule,
|
|
[trialId !== PREMIUM_TIER_2_REFERRAL_TRIAL_ID || r1 ? [] : [(require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent.REFERRAL_TRIAL_MOBILE_NITRO_HOME_BADGE],
|
|
value2, true]), 2);
|
|
const property = value10[0];
|
|
value10[1];
|
|
const moduleValue7 = useSelectedDismissibleContentModule;
|
|
useSelectedDismissibleContent = moduleValue7.useSelectedDismissibleContent;
|
|
const value12 = env0_3(Reflect.apply(useSelectedDismissibleContent, moduleValue7,
|
|
[r1 ? [] : value5 ? [(require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent.WHATS_NEW_TENURE_BADGE_REWARD] : [],
|
|
value2, true]), 2);
|
|
const property2 = value12[0];
|
|
value12[1];
|
|
const value13 = (require(7559) /* metro dependency 7559: useIsEligibleSenderForReferralProgram */).useIsEligibleSenderForReferralProgram();
|
|
const value14 = (require(8314) /* metro dependency 8314: ReferralProgramUtils */).useIsReferralProgramEntrypointBadgeAcknowledged();
|
|
const usePromotionMarketingComponentModule = require(7582) /* metro dependency 7582: usePromotionMarketingComponent */;
|
|
const usePromotionMarketingComponent = usePromotionMarketingComponentModule.usePromotionMarketingComponent;
|
|
const MarketingComponentType = (require(7583) /* metro dependency 7583: MarketingComponentType */).MarketingComponentType;
|
|
const PREMIUM_TAB = MarketingComponentType.PREMIUM_TAB;
|
|
const value15 = Reflect.apply(usePromotionMarketingComponent, usePromotionMarketingComponentModule, [PREMIUM_TAB]);
|
|
const moduleValue11 = useSelectedDismissibleContentModule;
|
|
const useSelectedSnowflakeBoundDismissibleContent = moduleValue11.useSelectedSnowflakeBoundDismissibleContent;
|
|
if (value8 != value15) {
|
|
properties = value15.properties;
|
|
properties = properties.properties;
|
|
PREMIUM_TAB_MARKETING_MOMENT_OFFER_BADGE = properties.oneofKind !== 'premiumTab' ? value8 : (require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent.PREMIUM_TAB_MARKETING_MOMENT_OFFER_BADGE;
|
|
} else {
|
|
PREMIUM_TAB_MARKETING_MOMENT_OFFER_BADGE = value8;
|
|
}
|
|
const promotionId = value8 == value15 ? value2 : value15.promotionId;
|
|
const value18 = env0_3(Reflect.apply(useSelectedSnowflakeBoundDismissibleContent, moduleValue11,
|
|
[PREMIUM_TAB_MARKETING_MOMENT_OFFER_BADGE, value8 != promotionId ? promotionId : '', value2, true]), 2);
|
|
const property3 = value18[0];
|
|
value18[1];
|
|
if (value8 != value15) {
|
|
properties = value15.properties;
|
|
properties = properties.properties;
|
|
if (properties.oneofKind === 'premiumTab') {
|
|
PREMIUM_TAB_MARKETING_MOMENT_OFFER_BADGE = (require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent.PREMIUM_TAB_MARKETING_MOMENT_OFFER_BADGE;
|
|
properties = value15.properties;
|
|
properties = properties.properties;
|
|
premiumTab = properties.premiumTab;
|
|
badgeLabel = premiumTab.badgeLabel;
|
|
properties = value15.properties;
|
|
properties = properties.properties;
|
|
premiumTab = properties.premiumTab;
|
|
return (
|
|
<OfferBadge
|
|
acked={property3 !== PREMIUM_TAB_MARKETING_MOMENT_OFFER_BADGE}
|
|
badgeCopy={badgeLabel}
|
|
ackedBadgeCopy={premiumTab.acknowledgedBadgeLabel}
|
|
componentId={value15.id}
|
|
/>
|
|
);
|
|
}
|
|
}
|
|
const REFERRAL_TRIAL_MOBILE_NITRO_HOME_BADGE = DismissibleContent.REFERRAL_TRIAL_MOBILE_NITRO_HOME_BADGE;
|
|
const r17 = property === REFERRAL_TRIAL_MOBILE_NITRO_HOME_BADGE ? intl.string((require(1244) /* metro dependency 1244: indexNative */).t.uO4bXn) : property2 !== (require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent.WHATS_NEW_TENURE_BADGE_REWARD ? value8 : intl.string((require(1244) /* metro dependency 1244: indexNative */).t['jyYgZ+']);
|
|
if (value13) {
|
|
if (value14) {
|
|
if (r1) {
|
|
defaultImport3 = importDefault(4589) /* metro dependency 4589 */;
|
|
var defaultImport3Props2 = {style: styles.tag, colors: Gradients.PREMIUM_TIER_2,
|
|
start: HorizontalGradient.START,
|
|
end: HorizontalGradient.END};
|
|
moduleValue12 = require(477) /* metro dependency 477: PlatformUtils */;
|
|
r1 = ((Component) => <Component {...defaultImport3Props2}><Text variant="eyebrow" color="always-white" style={moduleValue12.isAndroid() ? styles.text : value2}>{intl.string((require(1244) /* metro dependency 1244: indexNative */).t.y2b7CA)}</Text></Component>)(defaultImport3);
|
|
} else if (value8 != value3) {
|
|
var offerBadgeBindingProps = {acked: value8 != (value8 == value3 ? value2 : value3.expires_at)};
|
|
string = intl.string;
|
|
OS9KPu = t.OS9KPu;
|
|
offerBadgeBindingProps.badgeCopy = Reflect.apply(string, intl, [OS9KPu]);
|
|
string = intl.string;
|
|
OS9KPu = t.OS9KPu;
|
|
offerBadgeBindingProps.ackedBadgeCopy = Reflect.apply(string, intl, [OS9KPu]);
|
|
r1 = <OfferBadge {...offerBadgeBindingProps} />;
|
|
} else if (value8 != value4) {
|
|
if (value4.hasAcknowledged()) {
|
|
var viewProps = {style: [styles.premiumDiscountBadge, styles.ackedBadge]};
|
|
var iconProps = {source: importDefault(13495) /* metro dependency 13495 */,
|
|
size: (require(1305) /* metro dependency 1305: native */).Icon.Sizes.EXTRA_SMALL};
|
|
icon = styles.icon;
|
|
iconProps.color = icon.color;
|
|
icon = styles.icon;
|
|
iconProps.style = icon;
|
|
items2 = [<Icon {...iconProps} />];
|
|
items2[1] = <Text variant="eyebrow" color="interactive-text-default" style={styles.text}>{intl.string((require(1244) /* metro dependency 1244: indexNative */).t['/DTtr6'])}</Text>;
|
|
r2 = <View {...viewProps}>{items2}</View>;
|
|
} else {
|
|
r2 = ((Component) => <Component style={styles.premiumDiscountBadge} colors={['#db00a4',
|
|
'#5968f0']} start={HorizontalGradient.START} end={HorizontalGradient.END}><Text variant="eyebrow" color="always-white" style={styles.text}>{intl.string((require(1244) /* metro dependency 1244: indexNative */).t['/DTtr6'])}</Text></Component>)(importDefault(4589) /* metro dependency 4589 */);
|
|
}
|
|
r1 = r2;
|
|
} else if (value8 != r17) {
|
|
defaultImport = importDefault(4589) /* metro dependency 4589 */;
|
|
var defaultImportProps2 = {style: styles.tag, colors: Gradients.PREMIUM_TIER_2,
|
|
start: HorizontalGradient.START,
|
|
end: HorizontalGradient.END};
|
|
value = require(477) /* metro dependency 477: PlatformUtils */;
|
|
value = ((Component) => <Component {...defaultImportProps2}><Text variant="eyebrow" color="always-white" style={value.isAndroid() ? styles.text : value2}>{r17}</Text></Component>)(defaultImport);
|
|
r1 = value;
|
|
} else {
|
|
r1 = value8;
|
|
}
|
|
r0 = r1;
|
|
} else {
|
|
r0 = <ThemedTabBadge label={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.RDE0Sc)} />;
|
|
}
|
|
} else {
|
|
if (r1) {
|
|
defaultImport3 = importDefault(4589) /* metro dependency 4589 */;
|
|
var defaultImport3Props2 = {style: styles.tag, colors: Gradients.PREMIUM_TIER_2,
|
|
start: HorizontalGradient.START,
|
|
end: HorizontalGradient.END};
|
|
moduleValue12 = require(477) /* metro dependency 477: PlatformUtils */;
|
|
r1 = ((Component) => <Component {...defaultImport3Props2}><Text variant="eyebrow" color="always-white" style={moduleValue12.isAndroid() ? styles.text : value2}>{intl.string((require(1244) /* metro dependency 1244: indexNative */).t.y2b7CA)}</Text></Component>)(defaultImport3);
|
|
} else if (value8 != value3) {
|
|
var offerBadgeBindingProps = {acked: value8 != (value8 == value3 ? value2 : value3.expires_at)};
|
|
string = intl.string;
|
|
OS9KPu = t.OS9KPu;
|
|
offerBadgeBindingProps.badgeCopy = Reflect.apply(string, intl, [OS9KPu]);
|
|
string = intl.string;
|
|
OS9KPu = t.OS9KPu;
|
|
offerBadgeBindingProps.ackedBadgeCopy = Reflect.apply(string, intl, [OS9KPu]);
|
|
r1 = <OfferBadge {...offerBadgeBindingProps} />;
|
|
} else if (value8 != value4) {
|
|
if (value4.hasAcknowledged()) {
|
|
var viewProps = {style: [styles.premiumDiscountBadge, styles.ackedBadge]};
|
|
var iconProps = {source: importDefault(13495) /* metro dependency 13495 */,
|
|
size: (require(1305) /* metro dependency 1305: native */).Icon.Sizes.EXTRA_SMALL};
|
|
icon = styles.icon;
|
|
iconProps.color = icon.color;
|
|
icon = styles.icon;
|
|
iconProps.style = icon;
|
|
items2 = [<Icon {...iconProps} />];
|
|
items2[1] = <Text variant="eyebrow" color="interactive-text-default" style={styles.text}>{intl.string((require(1244) /* metro dependency 1244: indexNative */).t['/DTtr6'])}</Text>;
|
|
r2 = <View {...viewProps}>{items2}</View>;
|
|
} else {
|
|
r2 = ((Component) => <Component style={styles.premiumDiscountBadge} colors={['#db00a4',
|
|
'#5968f0']} start={HorizontalGradient.START} end={HorizontalGradient.END}><Text variant="eyebrow" color="always-white" style={styles.text}>{intl.string((require(1244) /* metro dependency 1244: indexNative */).t['/DTtr6'])}</Text></Component>)(importDefault(4589) /* metro dependency 4589 */);
|
|
}
|
|
r1 = r2;
|
|
} else if (value8 != r17) {
|
|
defaultImport = importDefault(4589) /* metro dependency 4589 */;
|
|
var defaultImportProps2 = {style: styles.tag, colors: Gradients.PREMIUM_TIER_2,
|
|
start: HorizontalGradient.START,
|
|
end: HorizontalGradient.END};
|
|
value = require(477) /* metro dependency 477: PlatformUtils */;
|
|
value = ((Component) => <Component {...defaultImportProps2}><Text variant="eyebrow" color="always-white" style={value.isAndroid() ? styles.text : value2}>{r17}</Text></Component>)(defaultImport);
|
|
r1 = value;
|
|
} else {
|
|
r1 = value8;
|
|
}
|
|
r0 = r1;
|
|
}
|
|
return r0;
|
|
}
|
|
|