18 lines
918 B
TypeScript
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]);
|
|
};
|