50 lines
2.9 KiB
TypeScript
50 lines
2.9 KiB
TypeScript
// Metro module 15110 (f15111).
|
|
import EmbeddedActivitiesStore from "../../activities/EmbeddedActivitiesStore";
|
|
import ChannelRTCStore from "../../calls/ChannelRTCStore";
|
|
import ApplicationStreamingStore from "../../../stores/ApplicationStreamingStore";
|
|
import AuthenticationStore from "../../../stores/AuthenticationStore";
|
|
import MediaEngineStore from "../../../stores/MediaEngineStore";
|
|
import SessionsStore from "../../../stores/SessionsStore";
|
|
import VoiceStateStore from "../../../stores/VoiceStateStore";
|
|
import { useStateFromStoresObject, useStateFromStores } from "../../../_bundle/Module589";
|
|
import VoiceUserItem from "./VoiceUserItem";
|
|
export default function VoiceUserConnected(props) {
|
|
const { channel, user, sessionId, member, selfMute, selfDeaf } = props;
|
|
let selfVideo = props.selfVideo;
|
|
let mute = props.mute;
|
|
const { deaf, suppress, collapsed, isGuest } = props;
|
|
const r1 = AuthenticationStore.getId() === user.id;
|
|
let c21683_3 = r1;
|
|
const stateFromStoresObject = useStateFromStoresObject([MediaEngineStore], () => c21683_3 ? {
|
|
localMute: false,
|
|
localDeaf: false,
|
|
localVideo: MediaEngineStore.isVideoEnabled()
|
|
} : {
|
|
localMute: MediaEngineStore.isLocalMute(user.id),
|
|
localDeaf: false,
|
|
localVideo: false
|
|
});
|
|
const { localMute, localVideo } = stateFromStoresObject;
|
|
const stateFromStores = useStateFromStores([ApplicationStreamingStore], () => ApplicationStreamingStore.getStreamForUser(user.id, channel.getGuildId()));
|
|
const stateFromStores2 = useStateFromStores([SessionsStore], () => {
|
|
const r1 = sessionId != null;
|
|
let r7 = void 0;
|
|
if (r1) {
|
|
const sessionById = SessionsStore.getSessionById(sessionId);
|
|
r7 = sessionById == null ? void 0 : sessionById.clientInfo.os;
|
|
}
|
|
return r7;
|
|
});
|
|
const stateFromStores3 = useStateFromStores([VoiceStateStore], () => VoiceStateStore.getVoicePlatformForChannel(channel.id, user.id), [channel.id, user.id]);
|
|
const r0 = sessionId != null && r1 && sessionId !== AuthenticationStore.getSessionId();
|
|
const stateFromStores4 = useStateFromStores([EmbeddedActivitiesStore], () => EmbeddedActivitiesStore.getEmbeddedActivitiesForChannel(channel.id).find((item) => item.userIds.has(user.id)), [user.id, channel.id]);
|
|
const stateFromStores5 = useStateFromStores([ChannelRTCStore], () => ChannelRTCStore.getGuildRingingUsers(channel.id).has(user.id));
|
|
if (!mute) {
|
|
mute = suppress;
|
|
}
|
|
if (!selfVideo) {
|
|
selfVideo = localVideo;
|
|
}
|
|
return <VoiceUserItem guildId={channel.guild_id} member={member} user={user} collapsed={collapsed} serverMute={mute} serverDeaf={deaf} mute={selfMute} deaf={selfDeaf} localMute={localMute} video={selfVideo} stream={stateFromStores?.channelId === channel.id} platform={stateFromStores2} disabled={stateFromStores2 == null && r0} isInEmbeddedActivity={stateFromStores4 != null} isGuest={isGuest} voicePlatform={stateFromStores3} ringing={stateFromStores5} />;
|
|
};
|