decord/source/modules/guild_sidebar/native/VoiceUsers.tsx

156 lines
6.4 KiB
TypeScript
Raw Normal View History

2026-08-15 05:55:55 +00:00
// Module ID: 15383
// Function ID: 15384
2026-07-20 16:05:17 +00:00
// Name: AudienceItem
2026-08-15 05:55:55 +00:00
// Dependencies: [19, 17, 1990, 21, 4661, 712, 10056, 8502, 589, 15384, 9288, 1236, 11697, 4734, 9731, 15388, 7275, 15391, 2]
2026-07-20 16:05:17 +00:00
// Exports: default, getAudienceItemHeight
2026-08-15 05:55:55 +00:00
// Module 15383 (AudienceItem)
2026-08-08 06:10:11 +00:00
import importAllResult from "noop";
import { View } from "VoiceUsersItem";
2026-07-29 08:29:29 +00:00
import trackCommunicationDisabled from "trackCommunicationDisabled";
2026-07-23 10:11:24 +00:00
import jsxProd from "jsxProd";
2026-07-29 08:29:29 +00:00
import createCacheKey from "createCacheKey";
2026-07-23 10:11:24 +00:00
let closure_6;
2026-08-08 06:10:11 +00:00
let error;
2026-07-23 10:11:24 +00:00
const require = arg1;
2026-07-20 16:05:17 +00:00
function AudienceItem(arg0) {
let audienceCount;
let collapsed;
({ audienceCount, collapsed } = arg0);
2026-08-15 05:55:55 +00:00
const tmp2 = callback2(importDefault(8502)());
2026-07-20 16:05:17 +00:00
let formatToPlainStringResult = audienceCount;
if (!collapsed) {
2026-07-29 08:29:29 +00:00
const intl = require(1236) /* getSystemLocale */.intl;
let obj = { count: null };
obj[0] = audienceCount;
formatToPlainStringResult = intl.formatToPlainString(require(1236) /* getSystemLocale */.t["+v2pN2"], obj);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
obj = { style: collapsed ? tmp2.listenersCollapsed : tmp2.listeners, children: null };
2026-08-15 05:55:55 +00:00
obj = { style: tmp2.listenersIconWrapper, children: callback(require(11697) /* HeadphonesIcon */.HeadphonesIcon, obj1) };
const items = [callback(View, obj), callback(require(4734) /* Text */.Text, { style: tmp2.listenersText, variant: c10, color: "redesign-channel-name-muted-text", children: formatToPlainStringResult })];
2026-07-29 08:29:29 +00:00
obj[1] = items;
2026-08-08 06:10:11 +00:00
return closure_7(View, obj);
2026-07-20 16:05:17 +00:00
}
2026-08-08 06:10:11 +00:00
let c3 = importAllResult;
({ jsx: closure_6, jsxs: error } = jsxProd);
let closure_8 = {};
let closure_9 = [];
let c10 = "text-sm/medium";
let closure_11 = createCacheKey.createStyles((arg0) => {
2026-07-29 08:29:29 +00:00
const colors = importDefault(712).colors;
if (arg0) {
let BACKGROUND_BASE_LOWEST = colors.MOBILE_EXPRESSION_PICKER_BACKGROUND_DEFAULT;
let tmp4 = tmp;
} else {
BACKGROUND_BASE_LOWEST = colors.BACKGROUND_BASE_LOWEST;
tmp4 = tmp;
}
const round = tmp4(712).radii.round;
let obj = { listeners: { display: "flex", flexDirection: "row", alignItems: "center", padding: 4, marginTop: 4, marginLeft: -8 }, listenersCollapsed: { flexDirection: "row", alignItems: "center", backgroundColor: BACKGROUND_BASE_LOWEST, borderRadius: round, marginLeft: -16, marginTop: 4, paddingLeft: 2, paddingRight: 6 }, listenersIconWrapper: null, listenersText: null, userCollapsedOverlap: null, headphonesIcon: null };
obj = { alignItems: "center", justifyContent: "center", backgroundColor: BACKGROUND_BASE_LOWEST, marginRight: 8, marginLeft: 4, borderRadius: round };
2026-08-15 05:55:55 +00:00
const merged = Object.assign(require(10056) /* getLayoutStyles */.makeSizeStyle(20));
2026-07-29 08:29:29 +00:00
obj[2] = obj;
obj[3] = { marginRight: 4 };
obj[4] = { marginLeft: -20 };
2026-08-15 05:55:55 +00:00
const obj3 = require(10056) /* getLayoutStyles */;
obj[5] = require(10056) /* getLayoutStyles */.makeSizeStyle(14);
2026-07-20 16:05:17 +00:00
return obj;
});
2026-08-08 06:10:11 +00:00
let closure_12 = importAllResult.memo((voiceState) => {
2026-07-29 08:29:29 +00:00
let isGuest;
2026-07-20 16:05:17 +00:00
let member;
2026-07-29 08:29:29 +00:00
let storeMember;
2026-07-20 16:05:17 +00:00
let voiceState2;
voiceState = voiceState.voiceState;
const user = voiceState.user;
({ member, voiceState: voiceState2 } = voiceState);
const channel = voiceState.channel;
const collapsed = voiceState.collapsed;
2026-07-29 08:29:29 +00:00
let obj = user(589);
const items = [trackCommunicationDisabled];
2026-07-20 16:05:17 +00:00
const items1 = [channel.guild_id, user.id];
2026-08-08 06:10:11 +00:00
const stateFromStoresObject = obj.useStateFromStoresObject(items, () => ({ storeMember: outer1_5.getMember(channel.guild_id, user.id), isGuest: outer1_5.isGuestOrLurker(channel.guild_id, user.id) }), items1);
2026-07-20 16:05:17 +00:00
let userCollapsedOverlap = null;
2026-07-29 08:29:29 +00:00
({ storeMember, isGuest } = stateFromStoresObject);
2026-07-20 16:05:17 +00:00
if (collapsed) {
userCollapsedOverlap = null;
if (!voiceState.isFirst) {
2026-07-29 08:29:29 +00:00
userCollapsedOverlap = tmp3.userCollapsedOverlap;
2026-07-20 16:05:17 +00:00
}
}
2026-07-29 08:29:29 +00:00
obj = { style: userCollapsedOverlap, children: null };
obj = { user, member: null, mute: null, deaf: null, selfVideo: null, selfMute: null, selfDeaf: null, suppress: null, collapsed: null, sessionId: null, channel: null, isGuest: null };
const tmp = channel;
2026-08-15 05:55:55 +00:00
tmp3 = callback2(channel(8502)());
2026-07-29 08:29:29 +00:00
const tmp6 = View;
if (member == null) {
member = storeMember;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
obj[1] = member;
({ mute: obj3[2], deaf: obj3[3], selfVideo: obj3[4], selfMute: obj3[5], selfDeaf: obj3[6], suppress: obj3[7] } = voiceState2);
obj[8] = collapsed;
obj[9] = voiceState2.sessionId;
obj[10] = channel;
obj[11] = isGuest;
2026-08-15 05:55:55 +00:00
obj[1] = closure_6(channel(15384), obj, user.id);
2026-08-08 06:10:11 +00:00
return closure_6(tmp6, obj);
2026-07-20 16:05:17 +00:00
});
2026-07-29 08:29:29 +00:00
const result = require("trackCommunicationDisabled").fileFinishedImporting("modules/guild_sidebar/native/VoiceUsers.tsx");
2026-07-20 16:05:17 +00:00
export default function VoiceUsers(collapsed) {
let audienceCount;
let voiceStates;
collapsed = collapsed.collapsed;
2026-08-08 06:10:11 +00:00
const channel = collapsed.channel;
({ voiceStates, audienceCount } = collapsed);
let guild_id;
let importAllResult;
guild_id = channel.guild_id;
if (tmp3) {
if (null != guild_id) {
const substr = voiceStates.slice(0, collapsed(tmp2[16]).MAX_GUILD_MEMBER_SUBSCRIPTIONS);
let mapped = substr.map((user) => user.user.id);
}
const tmp4Result = tmp4(mapped);
importAllResult = tmp4Result;
const items = [guild_id, tmp4Result];
const memo = importAllResult.useMemo(() => {
if (null != guild_id) {
if (_undefined.length > 0) {
const obj = {};
obj[tmp] = tmp2;
let tmp3 = obj;
}
return tmp3;
}
tmp3 = outer1_8;
}, items);
let obj = collapsed(tmp2[16]);
const subscribeGuildMembers = obj.useSubscribeGuildMembers(memo, "voice_channel_games");
let tmp15Result = null;
if (0 !== voiceStates.length) {
obj = { collapsed: null, children: null };
obj[0] = collapsed;
const items1 = [voiceStates.map((user) => outer1_6(outer1_12, { voiceState: user, channel, collapsed, isFirst: 0 === arg1 }, "voice-user-item-" + user.user.id + "-" + user.voiceState.sessionId)), ];
let tmp17 = null != audienceCount && audienceCount > 0;
if (tmp17) {
obj = { audienceCount: null, collapsed: null };
obj[0] = audienceCount;
obj[1] = collapsed;
tmp17 = callback(AudienceItem, obj);
}
items1[1] = tmp17;
obj[1] = items1;
tmp15Result = closure_7(channel(tmp2[17]), obj);
const tmp15 = closure_7;
const tmpResult = channel(tmp2[17]);
2026-07-20 16:05:17 +00:00
}
2026-08-08 06:10:11 +00:00
return tmp15Result;
2026-07-20 16:05:17 +00:00
}
2026-08-08 06:10:11 +00:00
mapped = closure_9;
2026-07-20 16:05:17 +00:00
};
export const getAudienceItemHeight = function getAudienceItemHeight(fontScale) {
2026-08-15 05:55:55 +00:00
return 8 + Math.max(20, require(9288) /* map */.scaleTextLineHeight(c10, fontScale));
2026-07-20 16:05:17 +00:00
};