@ndscnj/roomkit-web-vue3 25.12.2318 → 25.12.23182

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./voteControl.vue2.mjs";
2
2
  /* empty css */
3
3
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const voteControl = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-63c91660"]]);
4
+ const voteControl = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-45795e90"]]);
5
5
  export {
6
6
  voteControl as default
7
7
  };
@@ -1,4 +1,4 @@
1
- import { defineComponent, computed, ref, watch, resolveComponent, createElementBlock, openBlock, createVNode, createTextVNode, createElementVNode, createCommentVNode, unref, withCtx, toDisplayString, renderSlot } from "vue";
1
+ import { defineComponent, computed, ref, watch, createElementBlock, createCommentVNode, unref, openBlock, createVNode, createTextVNode, createElementVNode, withCtx, toDisplayString, renderSlot } from "vue";
2
2
  import "../../services/main.mjs";
3
3
  import { roomService } from "../../services/roomService.mjs";
4
4
  import { useI18n } from "../../locales/index.mjs";
@@ -7,7 +7,12 @@ import "../../utils/environment.mjs";
7
7
  import "mitt";
8
8
  import "../../services/manager/roomActionManager.mjs";
9
9
  import "@tencentcloud/tui-core";
10
- const _hoisted_1 = { class: "more-container" };
10
+ import IconButton from "../common/base/IconButton.vue.mjs";
11
+ import { IconAIIcon } from "@tencentcloud/uikit-base-component-vue3";
12
+ const _hoisted_1 = {
13
+ key: 0,
14
+ class: "more-container"
15
+ };
11
16
  const _hoisted_2 = {
12
17
  key: 0,
13
18
  class: "tool-box"
@@ -24,6 +29,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
24
29
  watch(isSidebarOpen, (newValue) => {
25
30
  showToolBox.value = newValue && false;
26
31
  });
32
+ const voteControlConfig = roomService.getComponentConfig("VoteControl");
27
33
  const emit = __emit;
28
34
  function toggleToolBox() {
29
35
  showToolBox.value = !showToolBox.value;
@@ -33,26 +39,24 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
33
39
  });
34
40
  }
35
41
  return (_ctx, _cache) => {
36
- const _component_IconAIIcon = resolveComponent("IconAIIcon");
37
- const _component_icon_button = resolveComponent("icon-button");
38
- return openBlock(), createElementBlock("div", _hoisted_1, [
39
- createVNode(_component_icon_button, {
42
+ return unref(voteControlConfig).visible ? (openBlock(), createElementBlock("div", _hoisted_1, [
43
+ createVNode(IconButton, {
40
44
  "is-active": sidebarName.value === "vote",
41
45
  title: unref(t)("Vote"),
42
46
  onClickIcon: toggleToolBox
43
47
  }, {
44
48
  default: withCtx(() => [
45
- createVNode(_component_IconAIIcon, { size: "24" })
49
+ createVNode(unref(IconAIIcon), { size: "24" })
46
50
  ]),
47
51
  _: 1
48
52
  }, 8, ["is-active", "title"]),
49
53
  createTextVNode(" " + toDisplayString(sidebarName.value) + " ", 1),
50
- createElementVNode("div", { onClick: toggleToolBox }, "测试"),
54
+ createElementVNode("div", { onClick: toggleToolBox }, "0测试"),
51
55
  !isSidebarOpen.value && showToolBox.value ? (openBlock(), createElementBlock("div", _hoisted_2, [
52
56
  _cache[0] || (_cache[0] = createTextVNode(" 123 ", -1)),
53
57
  renderSlot(_ctx.$slots, "content", {}, void 0, true)
54
58
  ])) : createCommentVNode("", true)
55
- ]);
59
+ ])) : createCommentVNode("", true);
56
60
  };
57
61
  }
58
62
  });
@@ -76,5 +76,5 @@ export default function useRoomInvite(): {
76
76
  isVisible: boolean;
77
77
  }[]>;
78
78
  copyRoomIdAndRoomLink: () => void;
79
- sidebarName: import('vue').Ref<"" | "chat" | "invite" | "manage-member" | "more" | "transfer-leave" | "apply" | "aiTranscription" | "vote", "" | "chat" | "invite" | "manage-member" | "more" | "transfer-leave" | "apply" | "aiTranscription" | "vote">;
79
+ sidebarName: import('vue').Ref<"" | "chat" | "invite" | "manage-member" | "vote" | "more" | "transfer-leave" | "apply" | "aiTranscription", "" | "chat" | "invite" | "manage-member" | "vote" | "more" | "transfer-leave" | "apply" | "aiTranscription">;
80
80
  };
@@ -2,7 +2,7 @@ export default function useSideBar(): {
2
2
  t: any;
3
3
  isSidebarOpen: import('vue').Ref<boolean, boolean>;
4
4
  title: import('vue').ComputedRef<string>;
5
- sidebarName: import('vue').Ref<"" | "chat" | "invite" | "manage-member" | "more" | "transfer-leave" | "apply" | "aiTranscription" | "vote", "" | "chat" | "invite" | "manage-member" | "more" | "transfer-leave" | "apply" | "aiTranscription" | "vote">;
5
+ sidebarName: import('vue').Ref<"" | "chat" | "invite" | "manage-member" | "vote" | "more" | "transfer-leave" | "apply" | "aiTranscription", "" | "chat" | "invite" | "manage-member" | "vote" | "more" | "transfer-leave" | "apply" | "aiTranscription">;
6
6
  handleClose: (done: any) => void;
7
7
  showSideBar: import('vue').ComputedRef<boolean>;
8
8
  };
package/es/index.mjs CHANGED
@@ -3928,24 +3928,35 @@ to {
3928
3928
  }
3929
3929
  .footer .mirror-container .mirror-text[data-v-21a63691] {
3930
3930
  margin-left: 4px;
3931
- }.more-container[data-v-63c91660] {
3932
- padding: 20px;
3931
+ }.tool-box[data-v-45795e90] {
3932
+ position: absolute;
3933
+ bottom: 72px;
3934
+ z-index: 2;
3935
+ display: flex;
3936
+ flex-direction: column;
3937
+ align-items: center;
3938
+ justify-content: center;
3939
+ padding: 5px 0;
3940
+ border-radius: 15px;
3941
+ background-color: var(--bg-color-dialog);
3942
+ box-shadow: 0 -8px 30p var(--uikit-color-black-8);
3933
3943
  }
3934
- .more-container .more-title[data-v-63c91660] {
3944
+ .tool-box .tool-box-item[data-v-45795e90] {
3935
3945
  display: flex;
3936
3946
  align-items: center;
3947
+ justify-content: flex-start;
3948
+ width: 100%;
3949
+ padding: 7px 10px;
3950
+ font-size: 12px;
3951
+ white-space: nowrap;
3952
+ cursor: pointer;
3937
3953
  }
3938
- .more-container .more-title .email-icon[data-v-63c91660] {
3939
- color: var(--uikit-color-gray-7);
3954
+ .tool-box .tool-box-item .icon[data-v-45795e90] {
3955
+ margin-right: 8px;
3940
3956
  }
3941
- .more-container .more-title .more-notice[data-v-63c91660] {
3942
- width: 100%;
3943
- height: 22px;
3944
- padding-left: 8px;
3945
- font-size: 14px;
3946
- font-weight: 400;
3947
- line-height: 22px;
3948
- color: var(--text-color-primary);
3957
+ .tool-box .tool-box-item[data-v-45795e90]:hover {
3958
+ border-radius: 8px;
3959
+ background-color: var(--list-color-hover);
3949
3960
  }.footer-container[data-v-6b90d75f] {
3950
3961
  position: absolute;
3951
3962
  bottom: 0;
@@ -60,7 +60,7 @@ const ZH = {
60
60
  me: "我",
61
61
  Admin: "管理员",
62
62
  RoomOwner: "主持人",
63
- Vote: "表决",
63
+ "Vote": "表决",
64
64
  More: "更多",
65
65
  "AI Assistant": "AI 助手",
66
66
  "AI real-time conference content": "AI 实时会议内容",
@@ -4,7 +4,7 @@ interface IComponentManager {
4
4
  getComponentConfig(name: ComponentName): ComponentConfigItem;
5
5
  setComponentConfig(options: Partial<ComponentConfig>): boolean;
6
6
  }
7
- declare const componentNames: readonly ["SwitchTheme", "LayoutControl", "RoomInfo", "RoomLink", "Language", "UserInfo", "ScreenShare", "FullScreen", "ManageMemberControl", "InviteControl", "ChatControl", "MoreControl", "VirtualBackground", "BasicBeauty", "AIControl"];
7
+ declare const componentNames: readonly ["SwitchTheme", "LayoutControl", "RoomInfo", "RoomLink", "Language", "UserInfo", "ScreenShare", "FullScreen", "ManageMemberControl", "InviteControl", "ChatControl", "VoteControl", "MoreControl", "VirtualBackground", "BasicBeauty", "AIControl"];
8
8
  export type ComponentName = (typeof componentNames)[number];
9
9
  type ComponentConfigItem = {
10
10
  visible: boolean;
@@ -14,6 +14,7 @@ const componentNames = [
14
14
  "ManageMemberControl",
15
15
  "InviteControl",
16
16
  "ChatControl",
17
+ "VoteControl",
17
18
  "MoreControl",
18
19
  "VirtualBackground",
19
20
  "BasicBeauty",
@@ -32,6 +33,7 @@ const defaultConfig = {
32
33
  ManageMemberControl: { visible: true },
33
34
  InviteControl: { visible: true },
34
35
  ChatControl: { visible: true },
36
+ VoteControl: { visible: true },
35
37
  MoreControl: { visible: true },
36
38
  VirtualBackground: { visible: false },
37
39
  AIControl: { visible: false },
@@ -1,7 +1,7 @@
1
1
  import { LAYOUT } from '../constants/render';
2
2
  import { TUINetwork } from '../../../node_modules/@tencentcloud/tuiroom-engine-js';
3
3
 
4
- type SideBarType = 'chat' | 'invite' | 'manage-member' | 'more' | 'transfer-leave' | 'apply' | 'aiTranscription' | 'vote' | '';
4
+ type SideBarType = 'chat' | 'invite' | 'manage-member' | 'vote' | 'more' | 'transfer-leave' | 'apply' | 'aiTranscription' | '';
5
5
  type SceneType = 'chat' | 'default';
6
6
  interface BasicState {
7
7
  sdkAppId: number;
@@ -3,5 +3,5 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const voteControl_vue_vue_type_script_setup_true_lang = require("./voteControl.vue2.js");
4
4
  ;/* empty css */
5
5
  const _pluginVue_exportHelper = require("../../_virtual/_plugin-vue_export-helper.js");
6
- const voteControl = /* @__PURE__ */ _pluginVue_exportHelper.default(voteControl_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-63c91660"]]);
6
+ const voteControl = /* @__PURE__ */ _pluginVue_exportHelper.default(voteControl_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-45795e90"]]);
7
7
  exports.default = voteControl;
@@ -9,7 +9,12 @@ require("../../utils/environment.js");
9
9
  require("mitt");
10
10
  require("../../services/manager/roomActionManager.js");
11
11
  require("@tencentcloud/tui-core");
12
- const _hoisted_1 = { class: "more-container" };
12
+ const IconButton = require("../common/base/IconButton.vue.js");
13
+ const uikitBaseComponentVue3 = require("@tencentcloud/uikit-base-component-vue3");
14
+ const _hoisted_1 = {
15
+ key: 0,
16
+ class: "more-container"
17
+ };
13
18
  const _hoisted_2 = {
14
19
  key: 0,
15
20
  class: "tool-box"
@@ -26,6 +31,7 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
26
31
  Vue.watch(isSidebarOpen, (newValue) => {
27
32
  showToolBox.value = newValue && false;
28
33
  });
34
+ const voteControlConfig = roomService.roomService.getComponentConfig("VoteControl");
29
35
  const emit = __emit;
30
36
  function toggleToolBox() {
31
37
  showToolBox.value = !showToolBox.value;
@@ -35,26 +41,24 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
35
41
  });
36
42
  }
37
43
  return (_ctx, _cache) => {
38
- const _component_IconAIIcon = Vue.resolveComponent("IconAIIcon");
39
- const _component_icon_button = Vue.resolveComponent("icon-button");
40
- return Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1, [
41
- Vue.createVNode(_component_icon_button, {
44
+ return Vue.unref(voteControlConfig).visible ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1, [
45
+ Vue.createVNode(IconButton.default, {
42
46
  "is-active": sidebarName.value === "vote",
43
47
  title: Vue.unref(t)("Vote"),
44
48
  onClickIcon: toggleToolBox
45
49
  }, {
46
50
  default: Vue.withCtx(() => [
47
- Vue.createVNode(_component_IconAIIcon, { size: "24" })
51
+ Vue.createVNode(Vue.unref(uikitBaseComponentVue3.IconAIIcon), { size: "24" })
48
52
  ]),
49
53
  _: 1
50
54
  }, 8, ["is-active", "title"]),
51
55
  Vue.createTextVNode(" " + Vue.toDisplayString(sidebarName.value) + " ", 1),
52
- Vue.createElementVNode("div", { onClick: toggleToolBox }, "测试"),
56
+ Vue.createElementVNode("div", { onClick: toggleToolBox }, "0测试"),
53
57
  !isSidebarOpen.value && showToolBox.value ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_2, [
54
58
  _cache[0] || (_cache[0] = Vue.createTextVNode(" 123 ", -1)),
55
59
  Vue.renderSlot(_ctx.$slots, "content", {}, void 0, true)
56
60
  ])) : Vue.createCommentVNode("", true)
57
- ]);
61
+ ])) : Vue.createCommentVNode("", true);
58
62
  };
59
63
  }
60
64
  });
@@ -76,5 +76,5 @@ export default function useRoomInvite(): {
76
76
  isVisible: boolean;
77
77
  }[]>;
78
78
  copyRoomIdAndRoomLink: () => void;
79
- sidebarName: import('vue').Ref<"" | "chat" | "invite" | "manage-member" | "more" | "transfer-leave" | "apply" | "aiTranscription" | "vote", "" | "chat" | "invite" | "manage-member" | "more" | "transfer-leave" | "apply" | "aiTranscription" | "vote">;
79
+ sidebarName: import('vue').Ref<"" | "chat" | "invite" | "manage-member" | "vote" | "more" | "transfer-leave" | "apply" | "aiTranscription", "" | "chat" | "invite" | "manage-member" | "vote" | "more" | "transfer-leave" | "apply" | "aiTranscription">;
80
80
  };
@@ -2,7 +2,7 @@ export default function useSideBar(): {
2
2
  t: any;
3
3
  isSidebarOpen: import('vue').Ref<boolean, boolean>;
4
4
  title: import('vue').ComputedRef<string>;
5
- sidebarName: import('vue').Ref<"" | "chat" | "invite" | "manage-member" | "more" | "transfer-leave" | "apply" | "aiTranscription" | "vote", "" | "chat" | "invite" | "manage-member" | "more" | "transfer-leave" | "apply" | "aiTranscription" | "vote">;
5
+ sidebarName: import('vue').Ref<"" | "chat" | "invite" | "manage-member" | "vote" | "more" | "transfer-leave" | "apply" | "aiTranscription", "" | "chat" | "invite" | "manage-member" | "vote" | "more" | "transfer-leave" | "apply" | "aiTranscription">;
6
6
  handleClose: (done: any) => void;
7
7
  showSideBar: import('vue').ComputedRef<boolean>;
8
8
  };
package/lib/index.js CHANGED
@@ -3928,24 +3928,35 @@ to {
3928
3928
  }
3929
3929
  .footer .mirror-container .mirror-text[data-v-21a63691] {
3930
3930
  margin-left: 4px;
3931
- }.more-container[data-v-63c91660] {
3932
- padding: 20px;
3931
+ }.tool-box[data-v-45795e90] {
3932
+ position: absolute;
3933
+ bottom: 72px;
3934
+ z-index: 2;
3935
+ display: flex;
3936
+ flex-direction: column;
3937
+ align-items: center;
3938
+ justify-content: center;
3939
+ padding: 5px 0;
3940
+ border-radius: 15px;
3941
+ background-color: var(--bg-color-dialog);
3942
+ box-shadow: 0 -8px 30p var(--uikit-color-black-8);
3933
3943
  }
3934
- .more-container .more-title[data-v-63c91660] {
3944
+ .tool-box .tool-box-item[data-v-45795e90] {
3935
3945
  display: flex;
3936
3946
  align-items: center;
3947
+ justify-content: flex-start;
3948
+ width: 100%;
3949
+ padding: 7px 10px;
3950
+ font-size: 12px;
3951
+ white-space: nowrap;
3952
+ cursor: pointer;
3937
3953
  }
3938
- .more-container .more-title .email-icon[data-v-63c91660] {
3939
- color: var(--uikit-color-gray-7);
3954
+ .tool-box .tool-box-item .icon[data-v-45795e90] {
3955
+ margin-right: 8px;
3940
3956
  }
3941
- .more-container .more-title .more-notice[data-v-63c91660] {
3942
- width: 100%;
3943
- height: 22px;
3944
- padding-left: 8px;
3945
- font-size: 14px;
3946
- font-weight: 400;
3947
- line-height: 22px;
3948
- color: var(--text-color-primary);
3957
+ .tool-box .tool-box-item[data-v-45795e90]:hover {
3958
+ border-radius: 8px;
3959
+ background-color: var(--list-color-hover);
3949
3960
  }.footer-container[data-v-6b90d75f] {
3950
3961
  position: absolute;
3951
3962
  bottom: 0;
@@ -62,7 +62,7 @@ const ZH = {
62
62
  me: "我",
63
63
  Admin: "管理员",
64
64
  RoomOwner: "主持人",
65
- Vote: "表决",
65
+ "Vote": "表决",
66
66
  More: "更多",
67
67
  "AI Assistant": "AI 助手",
68
68
  "AI real-time conference content": "AI 实时会议内容",
@@ -4,7 +4,7 @@ interface IComponentManager {
4
4
  getComponentConfig(name: ComponentName): ComponentConfigItem;
5
5
  setComponentConfig(options: Partial<ComponentConfig>): boolean;
6
6
  }
7
- declare const componentNames: readonly ["SwitchTheme", "LayoutControl", "RoomInfo", "RoomLink", "Language", "UserInfo", "ScreenShare", "FullScreen", "ManageMemberControl", "InviteControl", "ChatControl", "MoreControl", "VirtualBackground", "BasicBeauty", "AIControl"];
7
+ declare const componentNames: readonly ["SwitchTheme", "LayoutControl", "RoomInfo", "RoomLink", "Language", "UserInfo", "ScreenShare", "FullScreen", "ManageMemberControl", "InviteControl", "ChatControl", "VoteControl", "MoreControl", "VirtualBackground", "BasicBeauty", "AIControl"];
8
8
  export type ComponentName = (typeof componentNames)[number];
9
9
  type ComponentConfigItem = {
10
10
  visible: boolean;
@@ -16,6 +16,7 @@ const componentNames = [
16
16
  "ManageMemberControl",
17
17
  "InviteControl",
18
18
  "ChatControl",
19
+ "VoteControl",
19
20
  "MoreControl",
20
21
  "VirtualBackground",
21
22
  "BasicBeauty",
@@ -34,6 +35,7 @@ const defaultConfig = {
34
35
  ManageMemberControl: { visible: true },
35
36
  InviteControl: { visible: true },
36
37
  ChatControl: { visible: true },
38
+ VoteControl: { visible: true },
37
39
  MoreControl: { visible: true },
38
40
  VirtualBackground: { visible: false },
39
41
  AIControl: { visible: false },
@@ -1,7 +1,7 @@
1
1
  import { LAYOUT } from '../constants/render';
2
2
  import { TUINetwork } from '../../../node_modules/@tencentcloud/tuiroom-engine-js';
3
3
 
4
- type SideBarType = 'chat' | 'invite' | 'manage-member' | 'more' | 'transfer-leave' | 'apply' | 'aiTranscription' | 'vote' | '';
4
+ type SideBarType = 'chat' | 'invite' | 'manage-member' | 'vote' | 'more' | 'transfer-leave' | 'apply' | 'aiTranscription' | '';
5
5
  type SceneType = 'chat' | 'default';
6
6
  interface BasicState {
7
7
  sdkAppId: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ndscnj/roomkit-web-vue3",
3
- "version": "25.12.2318",
3
+ "version": "25.12.23182",
4
4
  "main": "./lib/index.js",
5
5
  "module": "./es/index.mjs",
6
6
  "types": "./es/index.d.ts",
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="more-container">
2
+ <div class="more-container" v-if="voteControlConfig.visible">
3
3
  <icon-button
4
4
  :is-active="sidebarName === 'vote'"
5
5
  :title="t('Vote')"
@@ -8,7 +8,7 @@
8
8
  <IconAIIcon size="24" />
9
9
  </icon-button>
10
10
  {{ sidebarName }}
11
- <div @click="toggleToolBox">测试</div>
11
+ <div @click="toggleToolBox">0测试</div>
12
12
  <div class="tool-box" v-if="!isSidebarOpen && showToolBox">
13
13
  123
14
14
  <slot name="content"></slot>
@@ -17,9 +17,15 @@
17
17
  </template>
18
18
 
19
19
  <script setup lang="ts">
20
- import { roomService } from '../../services';
20
+ import { roomService } from '../../services';
21
21
  import { defineEmits, ref,computed,watch } from 'vue';
22
22
  import { useI18n } from '../../locales';
23
+ import IconButton from '../common/base/IconButton.vue';
24
+ import {
25
+ IconAIIcon,
26
+ IconAISubtitles,
27
+ IconAITranscription,
28
+ } from '@tencentcloud/uikit-base-component-vue3';
23
29
  const { basicStore } = roomService;
24
30
  const isSidebarOpen = computed(() => basicStore.isSidebarOpen);
25
31
  const sidebarName = computed(() => basicStore.sidebarName);
@@ -28,6 +34,7 @@ const showToolBox = ref(false);
28
34
  watch(isSidebarOpen, newValue => {
29
35
  showToolBox.value = newValue && false;
30
36
  });
37
+ const voteControlConfig = roomService.getComponentConfig('VoteControl');
31
38
  const emit = defineEmits(['on-vote']);
32
39
  function toggleToolBox() {
33
40
  showToolBox.value = !showToolBox.value;
@@ -40,27 +47,37 @@ function toggleToolBox() {
40
47
  </script>
41
48
 
42
49
  <style lang="scss" scoped>
43
- .more-container {
44
- padding: 20px;
50
+ .tool-box {
51
+ position: absolute;
52
+ bottom: 72px;
53
+ z-index: 2;
54
+ display: flex;
55
+ flex-direction: column;
56
+ align-items: center;
57
+ justify-content: center;
58
+ padding: 5px 0;
59
+ border-radius: 15px;
60
+ background-color: var(--bg-color-dialog);
61
+ box-shadow: 0 -8px 30p var(--uikit-color-black-8);
45
62
 
46
- .more-title {
63
+ .tool-box-item {
47
64
  display: flex;
48
65
  align-items: center;
66
+ justify-content: flex-start;
67
+ width: 100%;
68
+ padding: 7px 10px;
69
+ font-size: 12px;
70
+ white-space: nowrap;
71
+ cursor: pointer;
49
72
 
50
- .email-icon {
51
- color: var(--uikit-color-gray-7);
52
- }
53
-
54
- .more-notice {
55
- width: 100%;
56
- height: 22px;
57
- padding-left: 8px;
58
- font-size: 14px;
59
- font-weight: 400;
60
- line-height: 22px;
61
- color: var(--text-color-primary);
73
+ .icon {
74
+ margin-right: 8px;
62
75
  }
63
76
  }
64
77
 
78
+ .tool-box-item:hover {
79
+ border-radius: 8px;
80
+ background-color: var(--list-color-hover);
81
+ }
65
82
  }
66
83
  </style>
@@ -66,7 +66,7 @@ export default {
66
66
  me: '我',
67
67
  Admin: '管理员',
68
68
  RoomOwner: '主持人',
69
- Vote: '表决',
69
+ 'Vote': '表决',
70
70
  More: '更多',
71
71
  'AI Assistant': 'AI 助手',
72
72
  'AI real-time conference content': 'AI 实时会议内容',
@@ -18,6 +18,7 @@ const componentNames = [
18
18
  'ManageMemberControl',
19
19
  'InviteControl',
20
20
  'ChatControl',
21
+ 'VoteControl',
21
22
  'MoreControl',
22
23
  'VirtualBackground',
23
24
  'BasicBeauty',
@@ -49,6 +50,7 @@ const defaultConfig = {
49
50
  ManageMemberControl: { visible: true },
50
51
  InviteControl: { visible: true },
51
52
  ChatControl: { visible: true },
53
+ VoteControl: { visible: true },
52
54
  MoreControl: { visible: true },
53
55
  VirtualBackground: { visible: false },
54
56
  AIControl: { visible: false },
@@ -9,11 +9,11 @@ type SideBarType =
9
9
  | 'chat'
10
10
  | 'invite'
11
11
  | 'manage-member'
12
+ | 'vote'
12
13
  | 'more'
13
14
  | 'transfer-leave'
14
15
  | 'apply'
15
16
  | 'aiTranscription'
16
- | 'vote'
17
17
  | '';
18
18
  type SceneType = 'chat' | 'default';
19
19