Files
2026-07-28 01:06:53 +03:00

156 lines
9.2 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] */
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 = (
<View style={styles.listenersIconWrapper}>
<HeadphonesIcon
color="redesign-channel-name-muted-text"
size="custom"
style={styles.headphonesIcon}
/>
</View>
);
const Text = (TextModule).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 = (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 (
<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 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 && <AudienceItem audienceCount={audienceCount} collapsed={collapsed} />;
items2[1] = r6;
value = (
<VoiceUsersItem {...object}>
{items2}
</VoiceUsersItem>
);
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) => <Component voiceState={a0} channel={channelBinding} collapsed={collapsedBinding} isFirst={a1 === 0} key={'voice-user-item-' + user.id + '-' + a0.voiceState.sessionId} />)(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] */;