/* Metro module 10361; source: modules/user_profile/native/UserProfileConnections.tsx; dependencies: [31, 27, 1949, 3996, 6816, 661, 5044, 33, 1305, 4501, 697, 10362, 3860, 4002, 10365, 10366, 8514, 5043, 4915, 1423, 8872, 4863, 3853, 4081, 6797, 3856, 1244, 5278, 3859, 4573, 6249, 3868, 566, 10367, 6815, 10372, 2] */ function _fun80261(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#80261, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10547:6, offset: 0x01e73405, size: 737 bytes, params: 8, frame: 28 var object2; const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); let value = importAll(31) /* metro dependency 31 */; const value2 = require(27) /* metro dependency 27 */; const env0_4 = value2.Pressable; const env0_5 = value2.View; const localeStore = importDefault(1949) /* metro dependency 1949: LocaleStore */; const streamerModeStore = importDefault(3996) /* metro dependency 3996: StreamerModeStore */; const constantsModule = require(6816) /* metro dependency 6816: Constants */; const CARD_PADDING = constantsModule.CARD_PADDING; const CARD_ROWS_COLUMN_GAP = constantsModule.CARD_ROWS_COLUMN_GAP; const env0_8 = constantsModule.CARD_ROWS_ICON_SIZE; const env0_9 = constantsModule.CARD_ROWS_ICON_SIZE_VARIANT; const constantsModule2 = require(661) /* metro dependency 661: Constants */; const env0_10 = constantsModule2.AnalyticEvents; const env0_11 = constantsModule2.PlatformTypes; const env0_12 = (require(5044) /* metro dependency 5044: Constants */).MetadataFields; const value5 = require(33) /* metro dependency 33 */; const env0_13 = value5.jsx; const env0_14 = value5.jsxs; const Icon = (require(1305) /* metro dependency 1305: native */).Icon; let Sizes = Icon.Sizes; const REFRESH_SMALL_16 = Sizes.REFRESH_SMALL_16; const nativeModule = require(1305) /* metro dependency 1305: native */; let getIconSize = nativeModule.getIconSize; const value7 = Reflect.apply(getIconSize, nativeModule, [REFRESH_SMALL_16]); const createStylesModule = require(4501) /* metro dependency 4501: createStyles */; const createStyles = createStylesModule.createStyles; object2 = {}; object2.cardContainer = {paddingBottom: CARD_PADDING - 12}; object2.cardTitle = {marginBottom: 0}; object2.connectionRow = {'flexDirection': 'row', 'alignItems': 'center', 'columnGap': null, 'paddingVertical': 12, 'minHeight': 60, columnGap: CARD_ROWS_COLUMN_GAP}; object2.connectionInfoContainer = {flexGrow: 1}; object2.connectedAccountName = {'flexDirection': 'row', 'alignItems': 'center', 'columnGap': 4}; object2.verifiedIconContainer = {height: value7, width: value7}; object2.verifiedIcon = {'position': 'absolute', 'left': 0, 'top': 0}; object2.connectionMetadata = {'flexDirection': 'row', 'flexWrap': 'wrap', 'alignItems': 'center', 'overflow': 'hidden'}; const INTERACTIVE_TEXT_ACTIVE = (importDefault(697) /* metro dependency 697: native */).colors.INTERACTIVE_TEXT_ACTIVE; object2.metadataItem = {color: INTERACTIVE_TEXT_ACTIVE}; object2.poweredByContainer = {'flexDirection': 'row', 'alignItems': 'center', 'marginTop': 6}; const value9 = nativeModule; getIconSize = value9.getIconSize; Sizes = Icon.Sizes; const MEDIUM = Sizes.MEDIUM; object2.applicationIcon = {borderRadius: Reflect.apply(getIconSize, value9, [MEDIUM])}; const env0_16 = Reflect.apply(createStyles, createStylesModule, [object2]); const env0_17 = value.memo(_fun80263); const env0_18 = value.memo(_fun80269); value = value.memo(_fun80273); (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_profile/native/UserProfileConnections.tsx'); exports.ApplicationRoleConnection = value; exports.UserProfileAccountConnectionsCard = UserProfileAccountConnectionsCard; exports.UserProfileApplicationRoleConnectionsCard = UserProfileApplicationRoleConnectionsCard; } function VerifiedIcon({theme, isTwitterVerifiedAccount}) { // fn#80262, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10547:1125, offset: 0x01e736e6, size: 410 bytes, params: 2, frame: 25 isTwitterVerifiedAccount = !(isTwitterVerifiedAccount === undefined) && isTwitterVerifiedAccount; const styles = useStyles(); const useTokenModule = require(3860) /* metro dependency 3860: useToken */; const useToken = useTokenModule.useToken; const MOBILE_TEXT_HEADING_PRIMARY = (importDefault(697) /* metro dependency 697: native */).colors.MOBILE_TEXT_HEADING_PRIMARY; const r14 = isTwitterVerifiedAccount ? (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.PLATFORM_TWITTER : Reflect.apply(useToken, useTokenModule, [MOBILE_TEXT_HEADING_PRIMARY, theme]); const sharedModule = require(4002) /* metro dependency 4002: shared */; const r9 = sharedModule.isThemeLight(theme) || isTwitterVerifiedAccount ? (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.WHITE : (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.BLACK; const Icon = (require(1305) /* metro dependency 1305: native */).Icon; return ( ); } function _fun80263({userId, account, theme, locale, showMetadata}) { // fn#80263, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10547:1603, offset: 0x01e73880, size: 1537 bytes, params: 2, frame: 35 var r23; var r16; var r12; var object2; var moduleValue2; var accountType; var style; var intl; showMetadata = showMetadata === undefined || showMetadata; const styles = useStyles(); const userProfileAnalyticsContextModule = require(8514) /* metro dependency 8514: UserProfileAnalyticsContext */; const useUserProfileAnalyticsContext = userProfileAnalyticsContextModule.useUserProfileAnalyticsContext; const trackUserProfileAction = Reflect.apply(useUserProfileAnalyticsContext, userProfileAnalyticsContextModule, []).trackUserProfileAction; let metadata = account.metadata; const r9 = metadata ?? ({}); if (showMetadata) { moduleValue2 = require(5043) /* metro dependency 5043: ConnectionsUtils */; r23 = moduleValue2.getCreatedAtDate(r9[MetadataFields.CREATED_AT], locale); } else { r23 = null; } const env0_3 = r23; if (showMetadata) { object2 = {}; object2.accountType = account.type; object2.metadata = r9; object2.style = styles.metadataItem; accountType = object2.accountType; metadata = object2.metadata; style = object2.style; r16 = PlatformTypes.REDDIT === accountType ? (require(10362) /* metro dependency 10362: ConnectionMetadataVanityItems */).generateRedditMetadataItems(metadata, style) : PlatformTypes.STEAM === accountType ? (require(10362) /* metro dependency 10362: ConnectionMetadataVanityItems */).generateSteamMetadataItems(metadata, style) : PlatformTypes.BLUESKY === accountType || PlatformTypes.TWITTER === accountType || PlatformTypes.MASTODON === accountType ? (require(10362) /* metro dependency 10362: ConnectionMetadataVanityItems */).generateTwitterMetadataItems(metadata, style) : PlatformTypes.PAYPAL === accountType ? (require(10362) /* metro dependency 10362: ConnectionMetadataVanityItems */).generatePaypalMetadataItems(metadata, style) : PlatformTypes.EBAY === accountType ? (require(10362) /* metro dependency 10362: ConnectionMetadataVanityItems */).generateEbayMetadataItems(metadata, style) : PlatformTypes.TIKTOK !== accountType ? null : (require(10362) /* metro dependency 10362: ConnectionMetadataVanityItems */).generateTikTokMetadataItems(metadata, style); } else { r16 = null; } const r13 = r16 != null && r16.length > 0; const value14 = (importDefault(4915) /* metro dependency 4915: Platforms */).get(account.type); const avatarUtilsModule = require(1423) /* metro dependency 1423: AvatarUtils */; const makeSource = avatarUtilsModule.makeSource; const isThemeDark2 = (require(4002) /* metro dependency 4002: shared */).isThemeDark(theme); const value15 = value14 == null; const source = Reflect.apply(makeSource, avatarUtilsModule, [isThemeDark2 ? value15 ? undefined : value14.icon.darkPNG : value15 ? undefined : value14.icon.lightPNG]); const r5 = value14 == null || value14.getPlatformUserUrl == null ? undefined : value14.getPlatformUserUrl(account); const type = account.type; const TWITTER = PlatformTypes.TWITTER; const r24 = type === TWITTER && r9[MetadataFields.TWITTER_VERIFIED] === '1'; const binding = env0_3; const value19 = binding.useCallback(_fun80264, [account.type, r5, trackUserProfileAction, userId]); const value20 = binding.useCallback(_fun80266, [account.name, trackUserProfileAction]); const value21 = binding.useMemo(_fun80267, [account.name, r23, value14?.name]); const value22 = env0_3.useMemo(_fun80268, [value14?.name, r5]); const PressableComponent = r5 != null ? (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity : Pressable; const r8 = r5 != null ? value19 : undefined; const BaseIconImage = (require(3859) /* metro dependency 3859: BaseIconImage */).BaseIconImage; const items2 = []; const Text = (require(4573) /* metro dependency 4573: Text */).Text; const items3 = [{account.name}{account.verified ? : null}]; if (r23 != null) { intl = (require(1244) /* metro dependency 1244: indexNative */).intl; r12 = {intl.format((require(1244) /* metro dependency 1244: indexNative */).t['9rfonh'], {date: r23})}; } else { r12 = null; } items3[1] = r12; items3[2] = r13 ? {r16} : null; items2[1] = {items3}; items2[2] = r5 != null && ((LinkExternalSmallIcon) => )((require(6249) /* metro dependency 6249: LinkExternalSmallIcon */).LinkExternalSmallIcon); return ( {items2} ); } function _fun80269({identity, application}) { // fn#80269, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10547:4350, offset: 0x01e7415d, size: 477 bytes, params: 2, frame: 25 const styles = useStyles(); const userProfileAnalyticsContextModule = require(8514) /* metro dependency 8514: UserProfileAnalyticsContext */; const useUserProfileAnalyticsContext = userProfileAnalyticsContextModule.useUserProfileAnalyticsContext; const trackUserProfileAction = Reflect.apply(useUserProfileAnalyticsContext, userProfileAnalyticsContextModule, []).trackUserProfileAction; const iconSource = application.getIconSource(CARD_ROWS_ICON_SIZE); const username = identity.profile?.username; const r14 = username ?? ''; const binding = env0_3; const value6 = binding.useCallback(_fun80270, [r14, trackUserProfileAction]); const value7 = binding.useMemo(_fun80271, [application.name, r14]); const value8 = binding.useMemo(function() { var intl = require(dependencyMap[26]).intl; var OKzaN3 = require(dependencyMap[26]).t.OKzaN3; return intl.formatToPlainString(OKzaN3, {name: application.name}); }, [application.name]); const r5 = iconSource != null ? ((BaseIconImage) => )((require(3859) /* metro dependency 3859: BaseIconImage */).BaseIconImage) : null; const Text = (require(4573) /* metro dependency 4573: Text */).Text; return ( {r5} {r14} ); } function _fun80273({applicationRoleConnection}) { // fn#80273, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10547:5329, offset: 0x01e74449, size: 622 bytes, params: 2, frame: 30 const Text = (require(4573) /* metro dependency 4573: Text */).Text; const styles = useStyles(); const value2 = (require(10362) /* metro dependency 10362: ConnectionMetadataVanityItems */).generateRoleConnectionMetadataItems(applicationRoleConnection); const applicationIconSource = (importDefault(1423) /* metro dependency 1423: AvatarUtils */).getApplicationIconSource({id: applicationRoleConnection.application.id, icon: applicationRoleConnection.application.icon}); const Icon = (require(1305) /* metro dependency 1305: native */).Icon; const Icon2 = (require(1305) /* metro dependency 1305: native */).Icon; const Sizes = Icon2.Sizes; const MEDIUM = Sizes.MEDIUM; const icon = ; const items2 = [applicationRoleConnection.platform_name != null ? {applicationRoleConnection.platform_name} : null]; items2[1] = applicationRoleConnection.platform_username != null ? {applicationRoleConnection.platform_username} : null; items2[2] = value2 != null && value2.length > 0 ? {value2} : null; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; items2[3] = {intl.format((require(1244) /* metro dependency 1244: indexNative */).t.zIT9YA, {applicationHook: function() { return applicationRoleConnection.application.name; }})}; return ( {icon} {items2} ); } function UserProfileAccountConnectionsCard({userId, style}) { // fn#80275, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10547:6366, offset: 0x01e746ca, size: 426 bytes, params: 2, frame: 25 var r0; var defaultImport; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; const UserProfileCardRows = (require(6815) /* metro dependency 6815: UserProfileCard */).UserProfileCardRows; var value; const styles = useStyles(); const nativeModule = require(3868) /* metro dependency 3868: native */; const useThemeContext = nativeModule.useThemeContext; const env0_1 = Reflect.apply(useThemeContext, nativeModule, []).theme; const env0_2 = (require(566) /* metro dependency 566: flux */).useStateFromStores([LocaleStore], function() { return LocaleStore.locale; }); const hidePersonalInformation = (require(566) /* metro dependency 566: flux */).useStateFromStores([StreamerModeStore], function() { return StreamerModeStore.hidePersonalInformation; }); const {connections, appIdentities} = (importDefault(10367) /* metro dependency 10367: useVisibleUserProfileConnectionsAndAppIdentities */)(userId); if (hidePersonalInformation) { r0 = null; } else if (connections.length !== 0) { defaultImport = importDefault(6815) /* metro dependency 6815: UserProfileCard */; var defaultImportProps2 = {style: [styles.cardContainer, style], title: intl.string((require(1244) /* metro dependency 1244: indexNative */).t['3fe7U5']), titleStyle: styles.cardTitle}; value = connections.map(_fun80278); value = ((Component) => {[value, appIdentities.map(_fun80279)]})(defaultImport); r0 = value; } else if (appIdentities.length === 0) { r0 = null; } else { defaultImport = importDefault(6815) /* metro dependency 6815: UserProfileCard */; var defaultImportProps2 = {style: [styles.cardContainer, style], title: intl.string((require(1244) /* metro dependency 1244: indexNative */).t['3fe7U5']), titleStyle: styles.cardTitle}; value = connections.map(_fun80278); value = ((Component) => {[value, appIdentities.map(_fun80279)]})(defaultImport); r0 = value; } return r0; } function UserProfileApplicationRoleConnectionsCard({userId, style}) { // fn#80280, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10547:7074, offset: 0x01e7491c, size: 297 bytes, params: 2, frame: 24 var r0; var UserProfileCard; var intl; const styles = useStyles(); const value2 = (importDefault(10372) /* metro dependency 10372: useUserProfileApplicationRoleConnections */)(userId); const hidePersonalInformation = (require(566) /* metro dependency 566: flux */).useStateFromStores([StreamerModeStore], function() { return StreamerModeStore.hidePersonalInformation; }); if (hidePersonalInformation) { r0 = null; } else if (value2.length === 0) { r0 = null; } else { UserProfileCard = importDefault(6815) /* metro dependency 6815: UserProfileCard */; var defaultImportProps = {style: [styles.cardContainer, style]}; intl = (require(1244) /* metro dependency 1244: indexNative */).intl; defaultImportProps.title = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.PHjkRE); defaultImportProps.titleStyle = styles.cardTitle; r0 = {((UserProfileCardRows) => {value2.map(_fun80282)})((require(6815) /* metro dependency 6815: UserProfileCard */).UserProfileCardRows)}; } return r0; } function _fun80264() { // fn#80264, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10547:2692, offset: 0x01e73e81, size: 127 bytes, params: 1, frame: 14 var environment; var value2; if (env0_5 != null) { trackUserProfileAction({action: 'PRESS_VIEW_CONNECTED_ACCOUNT'}); value2 = environment.__proto__; (require(8872) /* metro dependency 8872: MaskedLinkUtils */).handleClick({href: env0_5, trusted: account.type !== PlatformTypes.DOMAIN, onConfirm: onConfirm_80265}); } } function _fun80266() { // fn#80266, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10547:2973, offset: 0x01e73f6c, size: 137 bytes, params: 1, frame: 15 trackUserProfileAction({action: 'COPY_CONNECTED_ACCOUNT'}); const hapticUtilsNativeModule = require(4081) /* metro dependency 4081: HapticUtilsNative */; const triggerHapticFeedback = hapticUtilsNativeModule.triggerHapticFeedback; const HapticFeedbackTypes = hapticUtilsNativeModule.HapticFeedbackTypes; const IMPACT_LIGHT = HapticFeedbackTypes.IMPACT_LIGHT; Reflect.apply(triggerHapticFeedback, hapticUtilsNativeModule, [IMPACT_LIGHT]); const clipboardUtilsNativeModule = require(6797) /* metro dependency 6797: ClipboardUtilsNative */; clipboardUtilsNativeModule.copy(account.name); (require(3856) /* metro dependency 3856: ToastUtils */).presentCopiedToClipboard(); } function _fun80267() { // fn#80267, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10547:3174, offset: 0x01e73ff5, size: 182 bytes, params: 1, frame: 18 var value4; var intl; const items2 = []; let push = items2.push; Reflect.apply(push, items2, [env0_4?.name ?? '']); items2.push(account.name); if (env0_3 != null) { push = items2.push; value4 = environment.__proto__; intl = (require(1244) /* metro dependency 1244: indexNative */).intl; Reflect.apply(push, items2, [intl.formatToPlainString((require(1244) /* metro dependency 1244: indexNative */).t['9rfonh'], {date: env0_3})]); } return items2.join(', '); } function _fun80268() { // fn#80268, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10547:3401, offset: 0x01e740ab, size: 178 bytes, params: 1, frame: 17 var name; var r0; var value2; var value3; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; var formatToPlainString; const t = (require(1244) /* metro dependency 1244: indexNative */).t; var OKzaN3; var value; if (env0_5 != null) { value = environment.__proto__; value = intl.string(t.wuRE8M); r0 = value; } else { value2 = environment.__proto__; value3 = undefined; formatToPlainString = intl.formatToPlainString; OKzaN3 = t.OKzaN3; name = env0_4 == null ? value3 : env0_4.name; value = ''; value = Reflect.apply(formatToPlainString, intl, [OKzaN3, {name: name ?? value}]); r0 = value; } return r0; } function _fun80270() { // fn#80270, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10547:4561, offset: 0x01e7433a, size: 132 bytes, params: 1, frame: 15 trackUserProfileAction({action: 'COPY_CONNECTED_ACCOUNT'}); const hapticUtilsNativeModule = require(4081) /* metro dependency 4081: HapticUtilsNative */; const triggerHapticFeedback = hapticUtilsNativeModule.triggerHapticFeedback; const HapticFeedbackTypes = hapticUtilsNativeModule.HapticFeedbackTypes; const IMPACT_LIGHT = HapticFeedbackTypes.IMPACT_LIGHT; Reflect.apply(triggerHapticFeedback, hapticUtilsNativeModule, [IMPACT_LIGHT]); (require(6797) /* metro dependency 6797: ClipboardUtilsNative */).copy(env0_2); (require(3856) /* metro dependency 3856: ToastUtils */).presentCopiedToClipboard(); } function _fun80271() { // fn#80271, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10547:4752, offset: 0x01e743be, size: 58 bytes, params: 1, frame: 12 const items2 = []; items2.push(application.name); items2.push(env0_2); return items2.join(', '); } function _fun80278(a0) { // fn#80278, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10547:6849, offset: 0x01e74883, size: 66 bytes, params: 2, frame: 16 return ((Component) => )(env1_17); } function _fun80279({application, identity}) { // fn#80279, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10547:6909, offset: 0x01e748c5, size: 87 bytes, params: 2, frame: 18 const value = environment.__proto__; return ((Component) => )(env1_18); } function _fun80282(a0) { // fn#80282, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10547:7424, offset: 0x01e74a45, size: 42 bytes, params: 2, frame: 15 return ((Component) => )(env1_19); } function onConfirm_80265() { // fn#80265, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10547:2815, offset: 0x01e73f00, size: 108 bytes, params: 1, frame: 18 const value = environment.__proto__.__proto__; const appAnalyticsUtilsModule = require(4863) /* metro dependency 4863: AppAnalyticsUtils */; const trackWithMetadata = appAnalyticsUtilsModule.trackWithMetadata; const CONNECTED_ACCOUNT_VIEWED = AnalyticEvents.CONNECTED_ACCOUNT_VIEWED; Reflect.apply(trackWithMetadata, appAnalyticsUtilsModule, [CONNECTED_ACCOUNT_VIEWED, {platform_type: account.type, other_user_id: userId}]); (importDefault(3853) /* metro dependency 3853: Linking */).openURL(env1_5); }