decord/source/modules/guild_sidebar/native/VoiceUsers.tsx
2026-09-02 09:53:35 +00:00

152 lines
6.4 KiB
TypeScript

// Module ID: 15941
// Function ID: 15942
// Name: AudienceItem
// Dependencies: [19, 17, 1991, 21, 4478, 709, 10224, 7627, 586, 15942, 9102, 1233, 12318, 4474, 9889, 15946, 6164, 15949, 2]
// Exports: default, getAudienceItemHeight
// Module 15941 (AudienceItem)
import ThemesDefault from "Themes" /* 709 */;
import getSystemLocale from "getSystemLocale" /* 1233 */;
import Text from "Text" /* 4474 */;
import useIsUsingClientThemeDefault from "useIsUsingClientTheme" /* 7627 */;
import map from "map" /* 9102 */;
import getLayoutStyles from "getLayoutStyles" /* 10224 */;
import HeadphonesIcon from "HeadphonesIcon" /* 12318 */;
import importAllResult from "noop" /* 19 */;
import { View } from "get ActivityIndicator" /* 17 */;
import closure_5 from "trackCommunicationDisabled" /* 1991 */;
import jsxProd from "jsxProd" /* 21 */;
import createCacheKey from "createCacheKey" /* 4478 */;
require = arg1;
function AudienceItem(arg0) {
({ audienceCount, collapsed } = arg0);
const tmp2 = callback2(useIsUsingClientThemeDefault());
let formatToPlainStringResult = audienceCount;
if (!collapsed) {
const intl = getSystemLocale.intl;
let obj = { count: null };
obj[0] = audienceCount;
formatToPlainStringResult = intl.formatToPlainString(getSystemLocale.t["+v2pN2"], obj);
}
obj = { style: collapsed ? tmp2.listenersCollapsed : tmp2.listeners, children: null };
obj = { style: tmp2.listenersIconWrapper, children: callback(HeadphonesIcon.HeadphonesIcon, obj1) };
const items = [callback(View, obj), callback(Text.Text, { style: tmp2.listenersText, variant: c10, color: "redesign-channel-name-muted-text", children: formatToPlainStringResult })];
obj[1] = items;
return closure_7(View, obj);
}
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) => {
const colors = ThemesDefault.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(709).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 };
const merged = Object.assign(getLayoutStyles.makeSizeStyle(20));
obj[2] = obj;
obj[3] = { marginRight: 4 };
obj[4] = { marginLeft: -20 };
const obj3 = getLayoutStyles;
obj[5] = getLayoutStyles.makeSizeStyle(14);
return obj;
});
let closure_12 = importAllResult.memo((voiceState) => {
voiceState = voiceState.voiceState;
const user = voiceState.user;
({ member, voiceState: voiceState2 } = voiceState);
const channel = voiceState.channel;
const collapsed = voiceState.collapsed;
let obj = user(586);
const items = [closure_5];
const items1 = [channel.guild_id, user.id];
const stateFromStoresObject = obj.useStateFromStoresObject(items, () => ({ storeMember: closure_1_5.getMember(channel.guild_id, user.id), isGuest: closure_1_5.isGuestOrLurker(channel.guild_id, user.id) }), items1);
let userCollapsedOverlap = null;
({ storeMember, isGuest } = stateFromStoresObject);
if (collapsed) {
userCollapsedOverlap = null;
if (!voiceState.isFirst) {
userCollapsedOverlap = tmp3.userCollapsedOverlap;
}
}
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;
tmp3 = callback2(channel(7627)());
const tmp6 = View;
if (member == null) {
member = storeMember;
}
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;
obj[1] = closure_6(channel(15942), obj, user.id);
return closure_6(tmp6, obj);
});
const result = require("set").fileFinishedImporting("modules/guild_sidebar/native/VoiceUsers.tsx");
export default function VoiceUsers(collapsed) {
collapsed = collapsed.collapsed;
const channel = collapsed.channel;
({ voiceStates, audienceCount } = collapsed);
let guild_id;
importAllResult = undefined;
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 (length.length > 0) {
const obj = {};
obj[tmp] = tmp2;
let tmp3 = obj;
}
return tmp3;
}
tmp3 = closure_1_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) => closure_1_6(closure_1_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]);
}
return tmp15Result;
}
mapped = closure_9;
};
export const getAudienceItemHeight = function getAudienceItemHeight(fontScale) {
return 8 + Math.max(20, map.scaleTextLineHeight(c10, fontScale));
};