Files
discord-decomp/modules/video_calls/native/useIsPrivateAudioOnlyCall.tsx
T
2026-11-01 12:12:55 +02:00

20 lines
1.4 KiB
TypeScript

// Metro module 10237 (f10238).
import EmbeddedActivitiesStore from "../../activities/EmbeddedActivitiesStore";
import ChannelRTCStore from "../../calls/ChannelRTCStore";
import ApplicationStreamingStore from "../../../stores/ApplicationStreamingStore";
import MediaEngineStore from "../../../stores/MediaEngineStore";
import VoiceStateStore from "../../../stores/VoiceStateStore";
import { isActivityParticipant } from "../../calls/CallConstants";
import { useStateFromStores } from "../../../_bundle/Module589";
const areParticipantStatesEqual = function areParticipantStatesEqual(a0, a1) {
const [, r3] = a0;
const [, r26] = a1;
return r3 === r26;
};
export default function useIsPrivateAudioOnlyCall(a0) {
let isActivityParticipant2;
const [r21] = useStateFromStores([ChannelRTCStore], () => [ChannelRTCStore.getSelectedParticipant(a0.id), ChannelRTCStore.getParticipantsVersion(a0.id)], [a0], areParticipantStatesEqual);
isActivityParticipant2 = EmbeddedActivitiesStore.getEmbeddedActivitiesForChannel(a0.id).length > 0 || isActivityParticipant(r21);
return useStateFromStores([VoiceStateStore, MediaEngineStore, ApplicationStreamingStore], () => a0.isPrivate() && !VoiceStateStore.hasVideo(a0.id) && !isActivityParticipant2 && ApplicationStreamingStore.getAllApplicationStreamsForChannel(a0.id).length === 0 && ApplicationStreamingStore.getAllActiveStreamsForChannel(a0.id).length === 0 && !MediaEngineStore.isVideoEnabled(), [a0, isActivityParticipant2]);
};