/* 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] */ import Module00057 from '../../../by-id/module-00057.js'; /* Metro dependency 57 */ import SubscriptionStore from '../../../stores/billing/SubscriptionStore.tsx'; /* Metro dependency 3808 */ import UseTheme from '../../../hooks/useTheme.tsx'; /* Metro dependency 4048 */ 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 FluxModule from '../../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */ import * as ConstantsIOSModule from '../../../ConstantsIOS.tsx'; /* Metro dependency 676 */ import * as PremiumConstantsModule from '../PremiumConstants.tsx'; /* Metro dependency 1880 */ import * as PremiumUtilsModule from '../../../utils/PremiumUtils.tsx'; /* Metro dependency 3802 */ import * as DismissibleContentUnsafeUtilsModule from '../../dismissible_content/DismissibleContentUnsafeUtils.tsx'; /* Metro dependency 3968 */ 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 UseSelectedDismissibleContentModule from '../../dismissible_content/hooks/useSelectedDismissibleContent.tsx'; /* Metro dependency 7013 */ import * as ColorConstantsModule from '../../colors/native/ColorConstants.tsx'; /* Metro dependency 7047 */ import * as UsePremiumTrialOfferNativeModule from '../hooks/usePremiumTrialOffer.native.tsx'; /* Metro dependency 7062 */ import * as UsePremiumDiscountOfferAndroidModule from '../hooks/usePremiumDiscountOffer.android.tsx'; /* Metro dependency 7258 */ import * as UseIsEligibleSenderForReferralProgramModule from '../referral_program/hooks/useIsEligibleSenderForReferralProgram.tsx'; /* Metro dependency 7559 */ import * as UsePromotionMarketingComponentModule from '../hooks/usePromotionMarketingComponent.tsx'; /* Metro dependency 7582 */ import * as MarketingComponentTypeModule from '../../../external/discord_common/js/shared/shared-constants/MarketingComponentType.tsx'; /* Metro dependency 7583 */ import * as ReferralProgramUtilsModule from '../referral_program/ReferralProgramUtils.tsx'; /* Metro dependency 8314 */ 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 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); ReactModule; let value = JsxRuntimeModule; const env0_8 = value.jsx; const env0_9 = value.jsxs; value = require(4501) /* metro dependency 4501: createStyles */; const createStyles = value.createStyles; object = {}; const object2 = {'paddingVertical': 4, 'paddingHorizontal': 8}; object2.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round; object.tag = object2; const object3 = {'display': 'flex', 'minWidth': 16, 'minHeight': 16, 'paddingHorizontal': 8, 'justifyContent': 'center', 'alignItems': 'center', 'gap': 4}; object3.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round; object.badge = object3; const BACKGROUND_BRAND = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BRAND; object.badgeBackgroundLightTheme = {backgroundColor: BACKGROUND_BRAND}; const WHITE = (importDefault(697) /* metro dependency 697: native */).colors.WHITE; object.badgeBackgroundDarkTheme = {backgroundColor: WHITE}; const object6 = {'paddingVertical': 2, 'paddingHorizontal': 12, 'borderRadius': null, 'backgroundColor': null, 'display': 'flex', 'flexDirection': 'row', 'alignItems': 'center', 'textAlignVertical': 'center'}; object6.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round; let BORDER_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_SUBTLE; object6.backgroundColor = BORDER_SUBTLE; object.acked = object6; BORDER_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_SUBTLE; object.ackedBadge = {backgroundColor: BORDER_SUBTLE}; const INTERACTIVE_TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.INTERACTIVE_TEXT_DEFAULT; object.icon = {color: INTERACTIVE_TEXT_DEFAULT, marginRight: 2}; object.text = {paddingBottom: 2}; const object10 = {'paddingVertical': 2, 'paddingHorizontal': 12, 'borderRadius': null, 'display': 'flex', 'flexDirection': 'row', 'alignItems': 'center', 'textAlignVertical': 'center'}; object10.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round; object.premiumDiscountBadge = object10; const env0_10 = Reflect.apply(createStyles, value, [object]); (FileImportTrackerModule).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 isThemeDark2 = SharedModule.isThemeDark((UseTheme)()); const items2 = [styles.badge]; items2[1] = isThemeDark2 ? styles.badgeBackgroundDarkTheme : styles.badgeBackgroundLightTheme; const Text = (TextModule).Text; return ( {label} ); } 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 = UseTrackImpression; const 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 PREMIUM_TAB = MarketingComponentType.PREMIUM_TAB; object.properties = {component_type: PREMIUM_TAB, component_id: componentId}; defaultImport(object, {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 = ( {((Text) => {ackedBadgeCopy})((require(4573) /* metro dependency 4573: Text */).Text)} ); } else { r0 = ; } 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 = (ConstantsIOSModule).HorizontalGradient; const Text = (TextModule).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 = (UsePremiumTrialOfferNativeModule).usePremiumTrialOffer(); const value4 = (UsePremiumDiscountOfferAndroidModule).usePremiumDiscountOffer(); const value5 = (PremiumUtilsModule).useHasTier2Premium(); 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 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; let useSelectedDismissibleContent = UseSelectedDismissibleContentModule.useSelectedDismissibleContent; const value10 = Module00057(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]; useSelectedDismissibleContent = UseSelectedDismissibleContentModule.useSelectedDismissibleContent; const value12 = Module00057(Reflect.apply(useSelectedDismissibleContent, UseSelectedDismissibleContentModule, [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 = (UseIsEligibleSenderForReferralProgramModule).useIsEligibleSenderForReferralProgram(); const value14 = (ReferralProgramUtilsModule).useIsReferralProgramEntrypointBadgeAcknowledged(); const usePromotionMarketingComponent = UsePromotionMarketingComponentModule.usePromotionMarketingComponent; const MarketingComponentType = (MarketingComponentTypeModule).MarketingComponentType; const PREMIUM_TAB = MarketingComponentType.PREMIUM_TAB; const value15 = Reflect.apply(usePromotionMarketingComponent, UsePromotionMarketingComponentModule, [PREMIUM_TAB]); const useSelectedSnowflakeBoundDismissibleContent = UseSelectedDismissibleContentModule.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 = Module00057(Reflect.apply(useSelectedSnowflakeBoundDismissibleContent, UseSelectedDismissibleContentModule, [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 ( ); } } 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) => {intl.string((require(1244) /* metro dependency 1244: indexNative */).t.y2b7CA)})(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 = ; } 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 = [ , ]; items2[1] = ( {intl.string((require(1244) /* metro dependency 1244: indexNative */).t['/DTtr6'])} ); r2 = ( {items2} ); } else { r2 = ((Component) => {intl.string((require(1244) /* metro dependency 1244: indexNative */).t['/DTtr6'])})(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) => {r17})(defaultImport); r1 = value; } else { r1 = value8; } r0 = r1; } else { r0 = ; } } 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) => {intl.string((require(1244) /* metro dependency 1244: indexNative */).t.y2b7CA)})(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 = ; } 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 = [ , ]; items2[1] = ( {intl.string((require(1244) /* metro dependency 1244: indexNative */).t['/DTtr6'])} ); r2 = ( {items2} ); } else { r2 = ((Component) => {intl.string((require(1244) /* metro dependency 1244: indexNative */).t['/DTtr6'])})(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) => {r17})(defaultImport); r1 = value; } else { r1 = value8; } r0 = r1; } return r0; } } global.__d(_fun102544, 13494, [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]) /* metro module 13494, 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] */;