/* Metro module 8631; source: modules/messages/native/emoji/CustomEmojiContent.tsx; dependencies: [31, 27, 6541, 3969, 1878, 661, 33, 4501, 697, 3802, 683, 5080, 7028, 1962, 4080, 8625, 566, 6771, 3800, 6545, 3777, 8533, 6796, 3829, 8632, 7007, 8626, 8633, 8635, 4573, 1244, 8629, 3857, 8637, 8638, 1305, 4578, 5475, 8640, 7972, 8641, 8645, 2] */ function _fun68107(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#68107, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8816:6, offset: 0x01c3ec6f, size: 687 bytes, params: 8, frame: 22 var object2; const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_4 = importAll(31) /* metro dependency 31 */; let value = require(27) /* metro dependency 27 */; const env0_5 = value.Pressable; const env0_6 = value.View; const subscriptionRoleStore = importDefault(6541) /* metro dependency 6541: SubscriptionRoleStore */; const selectedGuildStore = importDefault(3969) /* metro dependency 3969: SelectedGuildStore */; const userStore = importDefault(1878) /* metro dependency 1878: UserStore */; value = require(661) /* metro dependency 661: Constants */; const env0_10 = value.UserSettingsSections; const env0_11 = value.AnalyticEvents; const env0_12 = value.AnalyticsPages; const env0_13 = value.AnalyticsSections; value = require(33) /* metro dependency 33 */; const env0_14 = value.jsx; const env0_15 = value.jsxs; const env0_16 = value.Fragment; value = require(4501) /* metro dependency 4501: createStyles */; const createStyles = value.createStyles; object2 = {nitroWheel: {'height': 32, 'width': 32}}; const CONTROL_BRAND_FOREGROUND_NEW = (importDefault(697) /* metro dependency 697: native */).colors.CONTROL_BRAND_FOREGROUND_NEW; object2.nitroWheelPurple = {tintColor: CONTROL_BRAND_FOREGROUND_NEW}; object2.emojiDescriptionWrapperOuter = {'flexDirection': 'row', 'flex': 1, 'alignItems': 'center', 'gap': 8}; object2.starIcon = {'height': 32, 'width': 32, 'margin': 0, 'padding': 0, 'flex': 0}; const ICON_FEEDBACK_WARNING = (importDefault(697) /* metro dependency 697: native */).colors.ICON_FEEDBACK_WARNING; object2.starIconSelected = {tintColor: ICON_FEEDBACK_WARNING}; const INTERACTIVE_TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.INTERACTIVE_TEXT_DEFAULT; object2.starIconUnselected = {tintColor: INTERACTIVE_TEXT_DEFAULT}; const INTERACTIVE_ICON_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.INTERACTIVE_ICON_DEFAULT; object2.moreMenuIcon = {'height': 32, 'width': 32, 'justifyContent': 'center', 'alignItems': 'center', color: INTERACTIVE_ICON_DEFAULT}; object2.bottomCtaButton = {marginTop: 24}; object2.ctaDescriptionWrapper = {'display': 'flex', 'flexDirection': 'row', 'alignItems': 'center', 'justifyContent': 'flex-start', 'marginTop': 8}; const WHITE = (importDefault(697) /* metro dependency 697: native */).colors.WHITE; object2.betaTag = {backgroundColor: WHITE}; const BRAND_530 = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.BRAND_530; object2.betaTagTextAddPack = {color: BRAND_530}; const PRIMARY_500 = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.PRIMARY_500; object2.betaTagTextRemovePack = {color: PRIMARY_500}; const PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4; object2.favoriteButtonContainer = {paddingTop: PX_4}; const env0_17 = Reflect.apply(createStyles, value, [object2]); (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/messages/native/emoji/CustomEmojiContent.tsx'); exports.default = _default_68108; } function _default_68108({emojiNode, sourceType, expressionSourceApplication, expressionSourceGuild, customEmojiFromJoinedGuild, hasJoinedEmojiSourceGuild, nonce}) { // fn#68108, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8816:1227, offset: 0x01c3ef1e, size: 2595 bytes, params: 2, frame: 49 const Text = (require(4573) /* metro dependency 4573: Text */).Text; var r19; var r32; var r27; var r5; var r16; var moduleValue4; var object2; var StarOutlineIcon; var object3; var StarIcon; var object5; const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button; var jsxRuntimeEnv0_16Binding2; var items9; var jsxRuntimeEnv0_16Binding3; var items11; const _default_68108CloseActionSheet = function() { importDefault(dependencyMap[14]).hideActionSheet(); var defaultImport2 = importDefault(dependencyMap[10]); var CLOSE_POPOUT = AnalyticEvents.CLOSE_POPOUT; defaultImport2.track(CLOSE_POPOUT, {nonce: nonce}); }; let object6 = {}; const styles = useStyles(); copyDataProperties(object6, styles, undefined); const useSharedMessageEmojiStylesModule = require(8625) /* metro dependency 8625: useSharedMessageEmojiStyles */; const useSharedMessageEmojiStyles = useSharedMessageEmojiStylesModule.useSharedMessageEmojiStyles; copyDataProperties(object6, Reflect.apply(useSharedMessageEmojiStyles, useSharedMessageEmojiStylesModule, []), undefined); const currentUser = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() { return UserStore.getCurrentUser(); }); const isPremium2 = (importDefault(3802) /* metro dependency 3802: PremiumUtils */).isPremium(currentUser); const guildId2 = (require(566) /* metro dependency 566: flux */).useStateFromStores([SelectedGuildStore], function() { return SelectedGuildStore.getGuildId(); }); const r15 = guildId2 != null && guildId2 === expressionSourceGuild?.id; const env0_8 = (importDefault(6771) /* metro dependency 6771: useAnalyticsLocations */)().analyticsLocations; const {isRoleSubscriptionEmoji, isUnusableRoleSubscriptionEmoji, userIsRoleSubscriber} = env0_4.useMemo(_fun68112, [customEmojiFromJoinedGuild, guildId2]); const value7 = !isUnusableRoleSubscriptionEmoji; let r1 = isUnusableRoleSubscriptionEmoji ? customEmojiFromJoinedGuild?.type !== (require(3800) /* metro dependency 3800: EmojiTypes */).EmojiTypes.GUILD : value7; if (r1) { r19 = !r1; } else { moduleValue4 = require(3777) /* metro dependency 3777: CreatorMonetizationRestrictionsUtils */; r19 = moduleValue4.shouldHideGuildPurchaseEntryPoints(customEmojiFromJoinedGuild?.guildId); } const value10 = (require(8533) /* metro dependency 8533: EmojiPickerUtils */).useIsFavoriteEmoji(guildId2, customEmojiFromJoinedGuild); let defaultImport2 = importDefault(6796) /* metro dependency 6796: TidaWebformExperiment */; const useExperiment = defaultImport2.useExperiment; const tidaWebformEnabled = Reflect.apply(useExperiment, defaultImport2, [{location: 'CustomEmojiContent'}, {autoTrackExposure: false}]).tidaWebformEnabled; const DeveloperMode = (require(3829) /* metro dependency 3829: UserSettings */).DeveloperMode; const value11 = DeveloperMode.useSetting(); r1 = expressionSourceGuild?.isDiscoverable(); const r9 = r1 != null && r1; const object8 = {}; object8.page = guildId2 != null ? AnalyticsPages.GUILD_CHANNEL : AnalyticsPages.DM_CHANNEL; const EMOJI_UPSELL_POPOUT = AnalyticsSections.EMOJI_UPSELL_POPOUT; object8.section = EMOJI_UPSELL_POPOUT; const emojiPopoutData = (require(8632) /* metro dependency 8632: getEmojiPopoutMessage */).getEmojiPopoutData({sourceType: sourceType, expressionSourceApplication: expressionSourceApplication, isPremium: isPremium2, hasJoinedEmojiSourceGuild: hasJoinedEmojiSourceGuild, isRoleSubscriptionEmoji: isRoleSubscriptionEmoji, isUnusableRoleSubscriptionEmoji: isUnusableRoleSubscriptionEmoji, userIsRoleSubscriber: userIsRoleSubscriber, shouldHideRoleSubscriptionCTA: r19, emojiComesFromCurrentGuild: r15, isDiscoverable: r9, onOpenPremiumSettings: onOpenPremiumSettings}); (require(8626) /* metro dependency 8626: useTrackOpenPopout */).useTrackOpenPopout({emojiId: emojiNode.id, currentGuildId: guildId2, popoutData: emojiPopoutData, emojiSourceGuildId: expressionSourceGuild?.id, nonce: nonce}); const emojiDescription = emojiPopoutData.emojiDescription; const type = emojiPopoutData.type; const closure = onPress_68115; const r8 = isUnusableRoleSubscriptionEmoji ? value7 : hasJoinedEmojiSourceGuild; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; let string = intl.string; const t = (require(1244) /* metro dependency 1244: indexNative */).t; const r25 = hasJoinedEmojiSourceGuild ? Reflect.apply(string, intl, [t.ohTzZH]) : Reflect.apply(string, intl, [t['eLfh+a']]); const EmojiPopoutType = (require(8632) /* metro dependency 8632: getEmojiPopoutMessage */).EmojiPopoutType; let JOIN_GUILD = EmojiPopoutType.JOIN_GUILD; const value16 = type === JOIN_GUILD; const object9 = {}; let GET_PREMIUM = EmojiPopoutType.GET_PREMIUM; const items4 = [GET_PREMIUM]; JOIN_GUILD = EmojiPopoutType.JOIN_GUILD; items4[1] = JOIN_GUILD; copyDataProperties(object9, items4.includes(type) ? object6.ctaButton : object6.bottomCtaButton, undefined); object9['borderRadius'] = (importDefault(697) /* metro dependency 697: native */).radii.xl; const jsxRuntimeEnv0_16Binding = jsxRuntimeEnv0_16; const object11 = {}; copyDataProperties(object11, object6.emojiContainer, undefined); object11['marginTop'] = 8; const value17 = ((Component) => )(importDefault(5475) /* metro dependency 5475: FastImage */); const emojiDescriptionWrapperOuter = object6.emojiDescriptionWrapperOuter; const items7 = [{':' + emojiNode.alt + ':'}{emojiDescription != null && {emojiDescription}}]; if (r8) { if (tidaWebformEnabled) { r27 = null; } else { object2 = {}; string = intl.string; r32 = value10 ? Reflect.apply(string, intl, [t.aBUcp3]) : Reflect.apply(string, intl, [t.yZFibY]); object2.accessibilityLabel = r32; object2.style = object6.moreMenuIcon; object2.onPress = closure; if (value10) { StarIcon = (require(8633) /* metro dependency 8633: StarIcon */).StarIcon; object5 = {}; copyDataProperties(object5, object6.starIcon, undefined); copyDataProperties(object5, object6.starIconSelected, undefined); r32 = ; } else { StarOutlineIcon = (require(8635) /* metro dependency 8635: StarOutlineIcon */).StarOutlineIcon; object3 = {}; copyDataProperties(object3, object6.starIconUnselected, copyDataProperties(object3, object6.starIcon, undefined)); r32 = ; } r27 = {r32}; } } else { r27 = null; } items7[1] = r27; items7[2] = tidaWebformEnabled && value11 ? {((MoreHorizontalIcon) => )((require(8638) /* metro dependency 8638: MoreHorizontalIcon */).MoreHorizontalIcon)} : null; const items8 = [{value17}{items7}]; GET_PREMIUM = EmojiPopoutType.GET_PREMIUM; items8[1] = type === GET_PREMIUM ? renderPremiumUpsellButton() : value16 ?