Files
discord-decomp/modules/voice_panel/native/hooks/useCanConnect.tsx
T
2026-11-01 12:12:55 +02:00

18 lines
918 B
TypeScript

// Metro module 15952 (f15953).
import ChannelStore from "../../../../stores/ChannelStore";
import GuildStore from "../../../../stores/GuildStore";
import PermissionStore from "../../../../stores/PermissionStore";
import VoiceStateStore from "../../../../stores/VoiceStateStore";
import { Permissions } from "../../../../_bundle/Module505";
import { useStateFromStoresObject } from "../../../../_bundle/Module589";
import { isChannelFull } from "../../../../utils/ChannelUtils";
export default function useCanConnect(a0) {
return useStateFromStoresObject([ChannelStore, PermissionStore, GuildStore, VoiceStateStore], () => {
const channel = ChannelStore.getChannel(a0);
return {
canConnect: channel != null && (channel.isPrivate() || PermissionStore.can(Permissions.CONNECT, channel)),
isAtMaxCapacity: channel == null || isChannelFull(channel, VoiceStateStore, GuildStore)
};
}, [a0]);
};