Files
discord-decomp/sources/modules/guild_sidebar/native/VoiceUsers.tsx
T
2026-07-27 16:20:00 +03:00

135 lines
7.6 KiB
TypeScript

/* 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] */
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 value = importAll(31) /* metro dependency 31 */;
const env0_3 = (require(27) /* metro dependency 27 */).View;
const guildMemberStore = importDefault(1945) /* metro dependency 1945: GuildMemberStore */;
const value2 = require(33) /* metro dependency 33 */;
const env0_5 = value2.jsx;
const env0_6 = value2.jsxs;
const env0_8 = (require(4501) /* metro dependency 4501: createStyles */).createStyles(_fun110006);
const env0_9 = value.memo(_fun110007);
(require(2) /* metro dependency 2 */).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((importDefault(7702) /* metro dependency 7702: 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 = (require(10319) /* metro dependency 10319: HeadphonesIcon */).HeadphonesIcon;
const view = <View style={styles.listenersIconWrapper}><HeadphonesIcon color="redesign-channel-name-muted-text" size="custom" style={styles.headphonesIcon} /></View>;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
return (
<View style={r4}>
{view}
<Text
style={styles.listenersText}
variant={env0_7}
color="redesign-channel-name-muted-text"
>
{r8}
</Text>
</View>
);
}
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 = (importDefault(697) /* metro dependency 697: native */).colors;
const r8 = a0 ? colors.MOBILE_EXPRESSION_PICKER_BACKGROUND_DEFAULT : colors.BACKGROUND_BASE_LOWEST;
const round = (importDefault(697) /* metro dependency 697: native */).radii.round;
const object2 = {listeners: {'display': 'flex', 'flexDirection': 'row', 'alignItems': 'center', 'padding': 4,
'marginTop': 4, 'marginLeft': -8}};
object2.listenersCollapsed = {'flexDirection': 'row', 'alignItems': 'center', 'backgroundColor': null,
'borderRadius': null, 'marginLeft': -16, 'marginTop': 4, 'paddingLeft': 2, 'paddingRight': 6,
backgroundColor: r8, borderRadius: round};
const object4 = {'alignItems': 'center', 'justifyContent': 'center', 'backgroundColor': null, 'marginRight': 8,
'marginLeft': 4};
object4.backgroundColor = r8;
object4.borderRadius = round;
const value = require(10981) /* metro dependency 10981: ChannelListLayout */;
copyDataProperties(object4, value.makeSizeStyle(20), value);
object2.listenersIconWrapper = object4;
object2.listenersText = {marginRight: 4};
object2.userCollapsedOverlap = {marginLeft: -20};
object2.headphonesIcon = (require(10981) /* metro dependency 10981: ChannelListLayout */).makeSizeStyle(14);
return object2;
}
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((importDefault(7702) /* metro dependency 7702: useIsUsingClientTheme */)());
const {storeMember,
isGuest} = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([GuildMemberStore],
function() {
var object = {};
var channelBinding = channel;
var guild_id = channelBinding.guild_id;
var userBinding = user;
object.storeMember = GuildMemberStore.getMember(guild_id, userBinding.id);
object.isGuest = GuildMemberStore.isGuestOrLurker(channelBinding.guild_id, userBinding.id);
return object;
}, [channel.guild_id, user.id]);
const userCollapsedOverlap = collapsed ? isFirst ? null : styles.userCollapsedOverlap : null;
return (
<View style={userCollapsedOverlap}>
{((Component) => <Component user={user} member={member ?? storeMember} mute={voiceState.mute} deaf={voiceState.deaf} selfVideo={voiceState.selfVideo} selfMute={voiceState.selfMute} selfDeaf={voiceState.selfDeaf} suppress={voiceState.suppress} collapsed={collapsed} sessionId={voiceState.sessionId} channel={channel} isGuest={isGuest} key={user.id} />)(importDefault(14542) /* metro dependency 14542: VoiceUser */)}
</View>
);
}
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 object2;
var items2;
const length = voiceStates.length;
let value = null;
if (length === 0) {
r0 = value;
} else {
VoiceUsersItem = importDefault(14546) /* metro dependency 14546: VoiceUsersItem */;
object2 = {collapsed: collapsed};
items2 = [voiceStates.map(_fun110010)];
value = value != audienceCount;
r6 = value && audienceCount > 0;
r6 = r6 && <AudienceItem audienceCount={audienceCount} collapsed={collapsed} />;
items2[1] = r6;
value = <VoiceUsersItem {...object2}>{items2}</VoiceUsersItem>;
r0 = value;
}
return r0;
}
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 = (require(8518) /* metro dependency 8518: useScaledTextLineHeightAndroid */).scaleTextLineHeight(env0_7,
a0);
const Math = global.Math;
value = Math.max(20, value);
return 8 + value;
}
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) => <Component voiceState={a0} channel={channelBinding} collapsed={collapsedBinding} isFirst={a1 === 0} key={'voice-user-item-' + user.id + '-' + a0.voiceState.sessionId} />)(binding);
}