/* Metro module 14541; source: modules/guild_sidebar/native/VoiceUsers.tsx; dependencies: [31, 27, 1945, 33, 4501, 697, 10981, 7702, 566, 14542, 8518, 1244, 10319, 4573, 14546, 2] */ import Native from '../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */ import GuildMemberStore from '../../../stores/GuildMemberStore.tsx'; /* Metro dependency 1945 */ import UseIsUsingClientTheme from '../../client_themes/native/useIsUsingClientTheme.tsx'; /* Metro dependency 7702 */ 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 CreateStylesModule from '../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */ import * as TextModule from '../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */ import * as UseScaledTextLineHeightAndroidModule from '../../screen/native/useScaledTextLineHeight.android.tsx'; /* Metro dependency 8518 */ import * as HeadphonesIconModule from '../../../design/components/Icon/native/redesign/generated/HeadphonesIcon.tsx'; /* Metro dependency 10319 */ function _fun110004(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#110004, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14738:6, offset: 0x02365758, size: 272 bytes, params: 8, frame: 19 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_8 = (CreateStylesModule).createStyles(_fun110006); const env0_9 = ReactModule.memo(_fun110007); (FileImportTrackerModule).fileFinishedImporting('modules/guild_sidebar/native/VoiceUsers.tsx'); exports.default = VoiceUsers_110009; exports.getAudienceItemHeight = getAudienceItemHeight; function AudienceItem({audienceCount, collapsed}) { // fn#110005, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14738:1430, offset: 0x02365868, size: 329 bytes, params: 2, frame: 26 var r8; var intl; const styles = useStyles((UseIsUsingClientTheme)()); if (collapsed) { r8 = audienceCount; } else { intl = (require(1244) /* metro dependency 1244: indexNative */).intl; r8 = intl.formatToPlainString((require(1244) /* metro dependency 1244: indexNative */).t['+v2pN2'], {count: audienceCount}); } const r4 = collapsed ? styles.listenersCollapsed : styles.listeners; const HeadphonesIcon = (HeadphonesIconModule).HeadphonesIcon; const view = ( ); const Text = (TextModule).Text; return ( {view} {r8} ); } function _fun110006(a0) { // fn#110006, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14738:201, offset: 0x023659b1, size: 258 bytes, params: 2, frame: 19 const colors = (Native).colors; const r8 = a0 ? colors.MOBILE_EXPRESSION_PICKER_BACKGROUND_DEFAULT : colors.BACKGROUND_BASE_LOWEST; const round = (Native).radii.round; const object = {listeners: {'display': 'flex', 'flexDirection': 'row', 'alignItems': 'center', 'padding': 4, 'marginTop': 4, 'marginLeft': -8}}; object.listenersCollapsed = {'flexDirection': 'row', 'alignItems': 'center', 'backgroundColor': null, 'borderRadius': null, 'marginLeft': -16, 'marginTop': 4, 'paddingLeft': 2, 'paddingRight': 6, backgroundColor: r8, borderRadius: round}; const object3 = {'alignItems': 'center', 'justifyContent': 'center', 'backgroundColor': null, 'marginRight': 8, 'marginLeft': 4}; object3.backgroundColor = r8; object3.borderRadius = round; const value = require(10981) /* metro dependency 10981: ChannelListLayout */; copyDataProperties(object3, value.makeSizeStyle(20), value); object.listenersIconWrapper = object3; object.listenersText = {marginRight: 4}; object.userCollapsedOverlap = {marginLeft: -20}; object.headphonesIcon = (require(10981) /* metro dependency 10981: ChannelListLayout */).makeSizeStyle(14); return object; } function _fun110007({voiceState, channel, collapsed, isFirst}) { // fn#110007, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14738:871, offset: 0x02365ab3, size: 362 bytes, params: 2, frame: 27 const user = voiceState.user; const member = voiceState.member; voiceState = voiceState.voiceState; const styles = useStyles((UseIsUsingClientTheme)()); const {storeMember, isGuest} = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([GuildMemberStore], function() { var object = {}; var guildMemberStoreBinding = GuildMemberStore; var channelBinding = channel; var guild_id = channelBinding.guild_id; var userBinding = user; object.storeMember = guildMemberStoreBinding.getMember(guild_id, userBinding.id); object.isGuest = guildMemberStoreBinding.isGuestOrLurker(channelBinding.guild_id, userBinding.id); return object; }, [channel.guild_id, user.id]); const userCollapsedOverlap = collapsed ? isFirst ? null : styles.userCollapsedOverlap : null; return ( {((Component) => )(importDefault(14542) /* metro dependency 14542: VoiceUser */)} ); } function VoiceUsers_110009({collapsed, channel, voiceStates, audienceCount}) { // fn#110009, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14738:1987, offset: 0x02365c69, size: 168 bytes, params: 2, frame: 22 var r6; var r0; var VoiceUsersItem; var object; var items2; const length = voiceStates.length; let value = null; if (length === 0) { r0 = value; } else { VoiceUsersItem = importDefault(14546) /* metro dependency 14546: VoiceUsersItem */; object = {collapsed: collapsed}; items2 = [voiceStates.map(_fun110010)]; value = value != audienceCount; r6 = value && audienceCount > 0; r6 = r6 && ; items2[1] = r6; value = ( {items2} ); r0 = value; } return r0; function _fun110010(a0, a1) { // fn#110010, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14738:2128, offset: 0x02365d11, size: 118 bytes, params: 3, frame: 18 const value = environment.__proto__; const binding = env1_9; const channelBinding = channel; const collapsedBinding = collapsed; const user = a0.user; return ((Component) => )(binding); } } function getAudienceItemHeight(a0) { // fn#110011, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14738:2338, offset: 0x02365d87, size: 75 bytes, params: 2, frame: 13 let value = (UseScaledTextLineHeightAndroidModule).scaleTextLineHeight(env0_7, a0); const Math = global.Math; value = Math.max(20, value); return 8 + value; } } global.__d(_fun110004, 14541, [31, 27, 1945, 33, 4501, 697, 10981, 7702, 566, 14542, 8518, 1244, 10319, 4573, 14546, 2]) /* metro module 14541, dependencies: [31, 27, 1945, 33, 4501, 697, 10981, 7702, 566, 14542, 8518, 1244, 10319, 4573, 14546, 2] */;