@tencentcloud/roomkit-web-vue3
Version:
<h1 align="center"> TUIRoomKit</h1> Conference (TUIRoomKit) is a product suitable for multi-person audio and video conversation scenarios such as business meetings, webinars, and online education. By integrating this product, you can add room management,
39 lines (38 loc) • 1.21 kB
JavaScript
import { reactive, markRaw } from "vue";
import useRoomEngine from "../../../../hooks/useRoomEngine.mjs";
import { useI18n } from "../../../../locales/index.mjs";
import MessageBox from "../../../../components/common/base/MessageBox/index.mjs";
import { UserAction } from "../../../type/User.mjs";
import { IconKickOut } from "@tencentcloud/uikit-base-component-vue3";
const roomEngine = useRoomEngine();
const { t } = useI18n();
function useKickUserAction(userInfo) {
async function kickUserFunc() {
MessageBox({
title: t("Note"),
message: t("whether to kick sb off the room", {
name: userInfo.displayName
}),
confirmButtonText: t("Confirm"),
cancelButtonText: t("Cancel"),
callback: async (action) => {
var _a;
if (action === "confirm") {
await ((_a = roomEngine.instance) == null ? void 0 : _a.kickRemoteUserOutOfRoom({
userId: userInfo.userId
}));
}
}
});
}
const kickUser = reactive({
key: UserAction.KickOutOfRoomAction,
icon: markRaw(IconKickOut),
label: t("Kick out"),
handler: kickUserFunc
});
return kickUser;
}
export {
useKickUserAction as default
};