/* Metro module 14536; source: modules/guild_sidebar/native/ChannelItem.tsx; dependencies: [29, 31, 27, 4396, 3793, 1878, 661, 1386, 4865, 33, 4501, 697, 6235, 11846, 1423, 5475, 14537, 6686, 6647, 566, 1305, 6632, 14538, 4805, 1230, 2] */ import ObjectWithoutProperties from '../../../by-id/module-00029-ObjectWithoutProperties.js'; /* Metro dependency 29 */ import Native from '../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */ import UserStore from '../../../stores/UserStore.tsx'; /* Metro dependency 1878 */ import RelationshipStore from '../../../stores/RelationshipStore.tsx'; /* Metro dependency 3793 */ import PresenceStore from '../../../stores/PresenceStore.tsx'; /* Metro dependency 4396 */ import UseChannelRoleSubscriptionStatus from '../../guild_role_subscriptions/useChannelRoleSubscriptionStatus.tsx'; /* Metro dependency 6632 */ import BaseChannelItem from './BaseChannelItem.tsx'; /* Metro dependency 11846 */ 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 ConstantsModule from '../../../Constants.tsx'; /* Metro dependency 661 */ import * as NativeModule from '../../../design/void/native.tsx'; /* Metro dependency 1305 */ import * as ChannelConstantsModule from '../../channel/ChannelConstants.tsx'; /* Metro dependency 1386 */ import * as CreateStylesModule from '../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */ import * as UseChannelNameModule from '../../channel/useChannelName.tsx'; /* Metro dependency 4805 */ import * as ReadStateConstantsModule from '../../read_states/ReadStateConstants.tsx'; /* Metro dependency 4865 */ import * as LegacyTokensModule from '../../../design/migrations/native/LegacyTokens.tsx'; /* Metro dependency 6235 */ import * as BaseChannelItemModule from './BaseChannelItem.tsx'; /* Metro dependency 11846 */ function _fun109989(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#109989, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14733:6, offset: 0x023647d1, size: 594 bytes, params: 8, frame: 26 const env0_0 = require; const getChannelMode2 = getChannelMode; const env0_3 = ['channel', 'subtitle', 'hideIcon', 'children', 'textStyle', 'channelInfo', 'onPress']; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); let value = ReactModule; const ChannelTypes = ConstantsModule.ChannelTypes; const Set = global.Set; const GUILD_VOICE = ChannelTypes.GUILD_VOICE; const GUILD_STAGE_VOICE = ChannelTypes.GUILD_STAGE_VOICE; const set = new Set([GUILD_VOICE, GUILD_STAGE_VOICE]); const createStyles = CreateStylesModule.createStyles; object = {}; const GREEN_360 = (Native).unsafe_rawColors.GREEN_360; object.channelIconLive = {tintColor: GREEN_360}; object.dmAvatar = {marginRight: 8}; const BACKGROUND_BASE_LOW = (Native).colors.BACKGROUND_BASE_LOW; object.avatarStatus = {backgroundColor: BACKGROUND_BASE_LOW}; object.groupDmAvatar = {'width': 20, 'height': 20, 'borderRadius': 10, 'marginRight': 8}; object.channelInfoContainer = {paddingStart: 4}; const DARK_393C42_LIGHT_DEE0E4 = (LegacyTokensModule).DARK_393C42_LIGHT_DEE0E4; object.avatarStatusSelected = {backgroundColor: DARK_393C42_LIGHT_DEE0E4}; const env0_16 = Reflect.apply(createStyles, CreateStylesModule, [object]); value = value.memo(_fun109995); (FileImportTrackerModule).fileFinishedImporting('modules/guild_sidebar/native/ChannelItem.tsx'); exports.default = value; exports.getChannelMode = getChannelMode2; function getChannelMode(a0) { // fn#109990, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14733:772, offset: 0x02364a23, size: 333 bytes, params: 2, frame: 16 const ChannelModes = (BaseChannelItemModule).ChannelModes; const muted = a0.muted; const selected = a0.selected; const unread = a0.unread; return selected ? a0.channel.isGuildVocal() ? unread ? ChannelModes.UNREAD_IMPORTANT : ChannelModes.RELEVANT : ChannelModes.SELECTED : a0.locked ? ChannelModes.LOCKED : muted ? ChannelModes.MUTED : unread ? a0.resolvedUnreadSetting === UnreadSetting.ALL_MESSAGES ? ChannelModes.UNREAD_IMPORTANT : ChannelModes.UNREAD_LESS_IMPORTANT : ChannelModes.DEFAULT; } function ChannelIcon_109991({channel, locked, isRulesChannel, isChannelLive, selected, mode}) { // fn#109991, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14733:1206, offset: 0x02364b70, size: 495 bytes, params: 2, frame: 26 var r9; var r11; var object; var channelIcon; var channelIconComponent; var defaultImport2; var BookCheckIcon; const styles = useStyles(); let type = channel.type; const DM = ChannelTypes.DM; if (type === DM) { return ; } type = channel.type; const GROUP_DM = ChannelTypes.GROUP_DM; if (type === GROUP_DM) { var defaultImport = importDefault(1423) /* metro dependency 1423: AvatarUtils */; var getChannelIconSource = defaultImport.getChannelIconSource; object = {}; object.id = channel.id; object.icon = channel.icon; object.applicationId = channel.getApplicationId(); object.size = 20; var value3 = Reflect.apply(getChannelIconSource, defaultImport, [object]); if (value3 != null) { return ((Component) => )(importDefault(5475) /* metro dependency 5475: FastImage */); } } if (isRulesChannel) { defaultImport2 = importDefault(14537) /* metro dependency 14537 */; BookCheckIcon = (require(6686) /* metro dependency 6686: BookCheckIcon */).BookCheckIcon; r9 = defaultImport2; r11 = BookCheckIcon; } else { channelIcon = (require(6647) /* metro dependency 6647: ChannelUtils */).getChannelIcon(channel, {isRulesChannel: false, locked: locked}); channelIconComponent = (require(6647) /* metro dependency 6647: ChannelUtils */).getChannelIconComponent(channel, {isRulesChannel: false, locked: locked}); r9 = channelIcon; r11 = channelIconComponent; } const BaseChannelIcon = (BaseChannelItemModule).BaseChannelIcon; return ( ); } function DMChannelIcon({userId, selected}) { // fn#109992, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14733:1905, offset: 0x02364d5f, size: 279 bytes, params: 2, frame: 24 const styles = useStyles(); const value2 = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() { return UserStore.getUser(userId); }, [userId]); const {status, isMobileOnline, isVROnline} = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([PresenceStore], function() { var object = {}; var presenceStoreBinding = PresenceStore; var userIdBinding = userId; object.status = presenceStoreBinding.getStatus(userIdBinding); object.isMobileOnline = PresenceStore.isMobileOnline(userIdBinding); object.isVROnline = PresenceStore.isVROnline(userIdBinding); return object; }, [userId]); const Avatar = (NativeModule).Avatar; const AvatarSizes = (NativeModule).AvatarSizes; const XSMALL_20 = AvatarSizes.XSMALL_20; return ( ); } function _fun109995(a0) { // fn#109995, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14733:2414, offset: 0x02364ebf, size: 506 bytes, params: 2, frame: 32 const styles = useStyles(); const channel = a0.channel; const subtitle = a0.subtitle; const hideIcon = a0.hideIcon; const children = a0.children; const textStyle = a0.textStyle; const channelInfo = a0.channelInfo; const env0_1 = a0.onPress; const value2 = ObjectWithoutProperties(a0, env0_3); const {isSubscriptionGated, needSubscriptionToAccess} = (UseChannelRoleSubscriptionStatus)(channel.id); const channelMode = getChannelMode(a0); const value5 = null; const r7 = ( value5 != channelInfo || isSubscriptionGated ? ( {channelInfo} { isSubscriptionGated ? ((Component) => )(importDefault(14538) /* metro dependency 14538: GuildRoleSubscriptionGatedChannelIcon */) : value5 } ) : value5 ); const object = {mode: channelMode}; const ChannelModes = (require(11846) /* metro dependency 11846: BaseChannelItem */).ChannelModes; const UNREAD_IMPORTANT = ChannelModes.UNREAD_IMPORTANT; object.unread = channelMode === UNREAD_IMPORTANT || channelMode === (require(11846) /* metro dependency 11846: BaseChannelItem */).ChannelModes.UNREAD_LESS_IMPORTANT; object.hideIcon = hideIcon; const BaseChannelName = (require(11846) /* metro dependency 11846: BaseChannelItem */).BaseChannelName; object.name = ( ); object.icon = ; object.channelInfo = r7; object.onPress = onPress_109996; copyDataProperties(object, value2, undefined); return ( {children} ); function onPress_109996(a0) { // fn#109996, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14733:3022, offset: 0x023650b9, size: 137 bytes, params: 2, frame: 15 var value2; var binding; var moduleValue; if (needSubscriptionToAccess) { value2 = environment.__proto__; binding = env1_15; if (binding.has(channel.type)) { moduleValue = require(1230) /* metro dependency 1230: router_utils */; moduleValue.transitionTo(Routes.CHANNEL(channel.guild_id, StaticChannelRoute.ROLE_SUBSCRIPTIONS)); } else if (onPress != null) { onPress(a0); } } else if (onPress != null) { onPress(a0); } } } } global.__d(_fun109989, 14536, [29, 31, 27, 4396, 3793, 1878, 661, 1386, 4865, 33, 4501, 697, 6235, 11846, 1423, 5475, 14537, 6686, 6647, 566, 1305, 6632, 14538, 4805, 1230, 2]) /* metro module 14536, dependencies: [29, 31, 27, 4396, 3793, 1878, 661, 1386, 4865, 33, 4501, 697, 6235, 11846, 1423, 5475, 14537, 6686, 6647, 566, 1305, 6632, 14538, 4805, 1230, 2] */;