@ndscnj/roomkit-web-vue3 25.11.1917 → 25.12.2316

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.
Files changed (54) hide show
  1. package/.vscode/settings.json +2 -0
  2. package/es/components/RoomFooter/index/indexPC.vue.mjs +1 -1
  3. package/es/components/RoomFooter/index/indexPC.vue2.mjs +8 -3
  4. package/es/components/RoomFooter/voteControl.vue.d.ts +15 -0
  5. package/es/components/RoomFooter/voteControl.vue.mjs +7 -0
  6. package/es/components/RoomFooter/voteControl.vue2.mjs +60 -0
  7. package/es/components/RoomInvite/useRoomInviteHooks.d.ts +1 -1
  8. package/es/components/RoomSidebar/indexPC.vue.mjs +6 -4
  9. package/es/components/RoomSidebar/useSideBarHooks.d.ts +1 -1
  10. package/es/components/RoomSidebar/useSideBarHooks.mjs +3 -0
  11. package/es/components/RoomVote/index.d.ts +6 -0
  12. package/es/components/RoomVote/useRoomMoreHooks.d.ts +13 -0
  13. package/es/conference.vue.d.ts +2 -0
  14. package/es/conference.vue.mjs +1 -1
  15. package/es/conference.vue2.mjs +7 -2
  16. package/es/index.mjs +31 -13
  17. package/es/locales/en-US.d.ts +1 -0
  18. package/es/locales/en-US.mjs +1 -0
  19. package/es/locales/zh-CN.d.ts +1 -0
  20. package/es/locales/zh-CN.mjs +1 -0
  21. package/es/stores/basic.d.ts +1 -1
  22. package/lib/components/RoomFooter/index/indexPC.vue.js +1 -1
  23. package/lib/components/RoomFooter/index/indexPC.vue2.js +8 -3
  24. package/lib/components/RoomFooter/voteControl.vue.d.ts +15 -0
  25. package/lib/components/RoomFooter/voteControl.vue.js +7 -0
  26. package/lib/components/RoomFooter/voteControl.vue2.js +60 -0
  27. package/lib/components/RoomInvite/useRoomInviteHooks.d.ts +1 -1
  28. package/lib/components/RoomSidebar/indexPC.vue.js +5 -3
  29. package/lib/components/RoomSidebar/useSideBarHooks.d.ts +1 -1
  30. package/lib/components/RoomSidebar/useSideBarHooks.js +3 -0
  31. package/lib/components/RoomVote/index.d.ts +6 -0
  32. package/lib/components/RoomVote/useRoomMoreHooks.d.ts +13 -0
  33. package/lib/conference.vue.d.ts +2 -0
  34. package/lib/conference.vue.js +1 -1
  35. package/lib/conference.vue2.js +7 -2
  36. package/lib/index.js +31 -13
  37. package/lib/locales/en-US.d.ts +1 -0
  38. package/lib/locales/en-US.js +1 -0
  39. package/lib/locales/zh-CN.d.ts +1 -0
  40. package/lib/locales/zh-CN.js +1 -0
  41. package/lib/stores/basic.d.ts +1 -1
  42. package/package.json +1 -1
  43. package/src/TUIRoom/components/RoomFooter/index/indexPC.vue +5 -1
  44. package/src/TUIRoom/components/RoomFooter/voteControl.vue +65 -0
  45. package/src/TUIRoom/components/RoomSidebar/indexPC.vue +1 -0
  46. package/src/TUIRoom/components/RoomSidebar/useSideBarHooks.ts +3 -0
  47. package/src/TUIRoom/components/RoomVote/index.ts +7 -0
  48. package/src/TUIRoom/components/RoomVote/indexH5.vue +141 -0
  49. package/src/TUIRoom/components/RoomVote/indexPC.vue +106 -0
  50. package/src/TUIRoom/components/RoomVote/useRoomMoreHooks.ts +47 -0
  51. package/src/TUIRoom/conference.vue +5 -0
  52. package/src/TUIRoom/locales/en-US.ts +1 -0
  53. package/src/TUIRoom/locales/zh-CN.ts +1 -0
  54. package/src/TUIRoom/stores/basic.ts +1 -0
@@ -0,0 +1,2 @@
1
+ {
2
+ }
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./indexPC.vue2.mjs";
2
2
  /* empty css */
3
3
  import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.mjs";
4
- const indexPc = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-203d11fc"]]);
4
+ const indexPc = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-28ae2921"]]);
5
5
  export {
6
6
  indexPc as default
7
7
  };
@@ -65,6 +65,7 @@ import VirtualBackground from "../VirtualBackground.vue.mjs";
65
65
  import AIControl from "../AIControl.vue.mjs";
66
66
  import BasicBeauty from "../BasicBeauty.vue.mjs";
67
67
  import bus from "../../../hooks/useMitt.mjs";
68
+ import voteControl from "../voteControl.vue.mjs";
68
69
  import useRoomFooter from "./useRoomFooterHooks.mjs";
69
70
  const _hoisted_1 = { class: "footer-container" };
70
71
  const _hoisted_2 = { class: "left-container" };
@@ -130,17 +131,21 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
130
131
  class: "center-container-item",
131
132
  onClick: _cache[9] || (_cache[9] = ($event) => handleControlClick("MasterApplyControl"))
132
133
  })) : createCommentVNode("", true),
134
+ createVNode(voteControl, {
135
+ class: "center-container-item",
136
+ onClick: _cache[10] || (_cache[10] = ($event) => handleControlClick("voteControl"))
137
+ }),
133
138
  createVNode(unref(MoreControl), {
134
139
  class: "center-container-item",
135
- onClick: _cache[10] || (_cache[10] = ($event) => handleControlClick("moreControl"))
140
+ onClick: _cache[11] || (_cache[11] = ($event) => handleControlClick("moreControl"))
136
141
  }),
137
142
  createVNode(AIControl, {
138
143
  class: "center-container-item",
139
- onClick: _cache[11] || (_cache[11] = ($event) => handleControlClick("AIControl"))
144
+ onClick: _cache[12] || (_cache[12] = ($event) => handleControlClick("AIControl"))
140
145
  }),
141
146
  createVNode(_sfc_main$6, {
142
147
  class: "center-container-item",
143
- onClick: _cache[12] || (_cache[12] = ($event) => handleControlClick("settingControl"))
148
+ onClick: _cache[13] || (_cache[13] = ($event) => handleControlClick("settingControl"))
144
149
  }),
145
150
  createVNode(VirtualBackground, { class: "center-container-item" }),
146
151
  !unref(isElectron) ? (openBlock(), createBlock(BasicBeauty, {
@@ -0,0 +1,15 @@
1
+ declare function __VLS_template(): {
2
+ default?(_: {}): any;
3
+ };
4
+ declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
5
+ "on-vote": (...args: any[]) => void;
6
+ }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
7
+ "onOn-vote"?: ((...args: any[]) => any) | undefined;
8
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
9
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
10
+ export default _default;
11
+ type __VLS_WithTemplateSlots<T, S> = T & {
12
+ new (): {
13
+ $slots: S;
14
+ };
15
+ };
@@ -0,0 +1,7 @@
1
+ import _sfc_main from "./voteControl.vue2.mjs";
2
+ /* empty css */
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
+ const voteControl = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-7493ac70"]]);
5
+ export {
6
+ voteControl as default
7
+ };
@@ -0,0 +1,60 @@
1
+ import { defineComponent, computed, ref, watch, resolveComponent, createElementBlock, openBlock, createVNode, createTextVNode, createCommentVNode, unref, withCtx, renderSlot } from "vue";
2
+ import "../../services/main.mjs";
3
+ import { roomService } from "../../services/roomService.mjs";
4
+ import { useI18n } from "../../locales/index.mjs";
5
+ import "@tencentcloud/tuiroom-engine-js";
6
+ import "../../utils/environment.mjs";
7
+ import "mitt";
8
+ import "../../services/manager/roomActionManager.mjs";
9
+ import "@tencentcloud/tui-core";
10
+ const _hoisted_1 = { class: "more-container" };
11
+ const _hoisted_2 = {
12
+ key: 0,
13
+ class: "tool-box"
14
+ };
15
+ const _sfc_main = /* @__PURE__ */ defineComponent({
16
+ __name: "voteControl",
17
+ emits: ["on-vote"],
18
+ setup(__props, { emit: __emit }) {
19
+ const { basicStore } = roomService;
20
+ const isSidebarOpen = computed(() => basicStore.isSidebarOpen);
21
+ const sidebarName = computed(() => basicStore.sidebarName);
22
+ const { t } = useI18n();
23
+ const showToolBox = ref(false);
24
+ watch(isSidebarOpen, (newValue) => {
25
+ showToolBox.value = newValue && false;
26
+ });
27
+ const emit = __emit;
28
+ function toggleToolBox() {
29
+ showToolBox.value = !showToolBox.value;
30
+ emit("on-vote", {
31
+ name: "onVote",
32
+ visible: showToolBox.value
33
+ });
34
+ }
35
+ 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, {
40
+ "is-active": sidebarName.value === "vote",
41
+ title: unref(t)("Vote"),
42
+ onClickIcon: toggleToolBox
43
+ }, {
44
+ default: withCtx(() => [
45
+ createVNode(_component_IconAIIcon, { size: "24" })
46
+ ]),
47
+ _: 1
48
+ }, 8, ["is-active", "title"]),
49
+ _cache[1] || (_cache[1] = createTextVNode(" 测试 ", -1)),
50
+ !isSidebarOpen.value && showToolBox.value ? (openBlock(), createElementBlock("div", _hoisted_2, [
51
+ _cache[0] || (_cache[0] = createTextVNode(" 123 ", -1)),
52
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
53
+ ])) : createCommentVNode("", true)
54
+ ]);
55
+ };
56
+ }
57
+ });
58
+ export {
59
+ _sfc_main as default
60
+ };
@@ -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", "" | "chat" | "invite" | "manage-member" | "more" | "transfer-leave" | "apply" | "aiTranscription">;
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">;
80
80
  };
@@ -1,4 +1,4 @@
1
- import { defineComponent, createElementBlock, openBlock, createVNode, unref, isRef, withCtx, createBlock, createCommentVNode } from "vue";
1
+ import { defineComponent, resolveComponent, createElementBlock, openBlock, createVNode, unref, isRef, withCtx, createBlock, createCommentVNode } from "vue";
2
2
  import Drawer from "../common/base/Drawer.vue.mjs";
3
3
  import useSideBar from "./useSideBarHooks.mjs";
4
4
  import index from "../ManageMember/index.mjs";
@@ -11,6 +11,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
11
11
  setup(__props) {
12
12
  const { isSidebarOpen, title, handleClose, sidebarName } = useSideBar();
13
13
  return (_ctx, _cache) => {
14
+ const _component_room_vote = resolveComponent("room-vote");
14
15
  return openBlock(), createElementBlock("div", _hoisted_1, [
15
16
  createVNode(Drawer, {
16
17
  modelValue: unref(isSidebarOpen),
@@ -22,9 +23,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
22
23
  }, {
23
24
  default: withCtx(() => [
24
25
  unref(sidebarName) == "chat" ? (openBlock(), createBlock(unref(Index), { key: 0 })) : createCommentVNode("", true),
25
- unref(sidebarName) == "more" ? (openBlock(), createBlock(unref(Index$1), { key: 1 })) : createCommentVNode("", true),
26
- unref(sidebarName) == "manage-member" ? (openBlock(), createBlock(unref(index), { key: 2 })) : createCommentVNode("", true),
27
- unref(sidebarName) == "aiTranscription" ? (openBlock(), createBlock(AITranscription, { key: 3 })) : createCommentVNode("", true)
26
+ unref(sidebarName) == "vote" ? (openBlock(), createBlock(_component_room_vote, { key: 1 })) : createCommentVNode("", true),
27
+ unref(sidebarName) == "more" ? (openBlock(), createBlock(unref(Index$1), { key: 2 })) : createCommentVNode("", true),
28
+ unref(sidebarName) == "manage-member" ? (openBlock(), createBlock(unref(index), { key: 3 })) : createCommentVNode("", true),
29
+ unref(sidebarName) == "aiTranscription" ? (openBlock(), createBlock(AITranscription, { key: 4 })) : createCommentVNode("", true)
28
30
  ]),
29
31
  _: 1
30
32
  }, 8, ["modelValue", "title", "before-close"])
@@ -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", "" | "chat" | "invite" | "manage-member" | "more" | "transfer-leave" | "apply" | "aiTranscription">;
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">;
6
6
  handleClose: (done: any) => void;
7
7
  showSideBar: import('vue').ComputedRef<boolean>;
8
8
  };
@@ -28,6 +28,9 @@ function useSideBar() {
28
28
  case "invite":
29
29
  sidebarTitle = t("Invite");
30
30
  break;
31
+ case "vote":
32
+ sidebarTitle = `${t("Vote")}`;
33
+ break;
31
34
  case "more":
32
35
  sidebarTitle = t("More");
33
36
  break;
@@ -0,0 +1,6 @@
1
+ declare const Index: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
2
+ "on-close-contact": (...args: any[]) => void;
3
+ }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
4
+ "onOn-close-contact"?: ((...args: any[]) => any) | undefined;
5
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any> | import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
6
+ export default Index;
@@ -0,0 +1,13 @@
1
+ export default function useRoomMoreHooks(): {
2
+ t: any;
3
+ onCopy: (value: string | number) => Promise<void>;
4
+ contactContentList: {
5
+ id: number;
6
+ title: string;
7
+ content: string;
8
+ copyLink: string;
9
+ }[];
10
+ email: string;
11
+ handleClick: () => void;
12
+ isZH: import('vue').ComputedRef<boolean>;
13
+ };
@@ -27,6 +27,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
27
27
  resetStore: typeof resetStore;
28
28
  t: any;
29
29
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
30
+ "on-vote": (...args: any[]) => void;
30
31
  "on-log-out": (...args: any[]) => void;
31
32
  "on-create-room": (...args: any[]) => void;
32
33
  "on-enter-room": (...args: any[]) => void;
@@ -40,6 +41,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
40
41
  }>, {
41
42
  displayMode: string;
42
43
  }>>> & Readonly<{
44
+ "onOn-vote"?: ((...args: any[]) => any) | undefined;
43
45
  "onOn-log-out"?: ((...args: any[]) => any) | undefined;
44
46
  "onOn-create-room"?: ((...args: any[]) => any) | undefined;
45
47
  "onOn-enter-room"?: ((...args: any[]) => any) | undefined;
@@ -2,7 +2,7 @@ import _sfc_main from "./conference.vue2.mjs";
2
2
  /* empty css */
3
3
  /* empty css */
4
4
  import _export_sfc from "./_virtual/_plugin-vue_export-helper.mjs";
5
- const ConferenceMainView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c5f5a591"]]);
5
+ const ConferenceMainView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-dc8a7460"]]);
6
6
  export {
7
7
  ConferenceMainView as default
8
8
  };
@@ -38,7 +38,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
38
38
  "on-destroy-room",
39
39
  "on-kicked-out-of-room",
40
40
  "on-kicked-off-line",
41
- "on-userSig-expired"
41
+ "on-userSig-expired",
42
+ "on-vote"
42
43
  ],
43
44
  setup(__props, { expose: __expose, emit: __emit }) {
44
45
  const { theme } = useUIKit();
@@ -215,6 +216,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
215
216
  function resetStore() {
216
217
  roomService.resetStore();
217
218
  }
219
+ const onVote = (data) => {
220
+ emit("on-vote", { code: data.visible, message: "vote" });
221
+ };
218
222
  const onStartRoom = () => {
219
223
  isShowLoading.value = false;
220
224
  emit("on-create-room", { code: 0, message: "create room" });
@@ -267,7 +271,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
267
271
  ]),
268
272
  withDirectives(createVNode(unref(Index), {
269
273
  class: "footer",
270
- onShowOverlay: handleShowOverlay
274
+ onShowOverlay: handleShowOverlay,
275
+ onOnVote: onVote
271
276
  }, null, 512), [
272
277
  [vShow, unref(showRoomTool)]
273
278
  ]),
package/es/index.mjs CHANGED
@@ -3928,7 +3928,25 @@ to {
3928
3928
  }
3929
3929
  .footer .mirror-container .mirror-text[data-v-21a63691] {
3930
3930
  margin-left: 4px;
3931
- }.footer-container[data-v-203d11fc] {
3931
+ }.more-container[data-v-7493ac70] {
3932
+ padding: 20px;
3933
+ }
3934
+ .more-container .more-title[data-v-7493ac70] {
3935
+ display: flex;
3936
+ align-items: center;
3937
+ }
3938
+ .more-container .more-title .email-icon[data-v-7493ac70] {
3939
+ color: var(--uikit-color-gray-7);
3940
+ }
3941
+ .more-container .more-title .more-notice[data-v-7493ac70] {
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);
3949
+ }.footer-container[data-v-28ae2921] {
3932
3950
  position: absolute;
3933
3951
  bottom: 0;
3934
3952
  display: flex;
@@ -3942,25 +3960,25 @@ to {
3942
3960
  background-color: var(--bg-color-topbar);
3943
3961
  box-shadow: 0 -8px 30px var(--uikit-color-black-8);
3944
3962
  }
3945
- .footer-container .left-container[data-v-203d11fc] {
3963
+ .footer-container .left-container[data-v-28ae2921] {
3946
3964
  display: flex;
3947
3965
  align-items: center;
3948
3966
  height: 100%;
3949
3967
  }
3950
- .footer-container .left-container .left-container-item[data-v-203d11fc]:not(:first-child) {
3968
+ .footer-container .left-container .left-container-item[data-v-28ae2921]:not(:first-child) {
3951
3969
  margin-left: 1rem;
3952
3970
  }
3953
- .footer-container .center-container[data-v-203d11fc] {
3971
+ .footer-container .center-container[data-v-28ae2921] {
3954
3972
  position: relative;
3955
3973
  display: flex;
3956
3974
  align-items: center;
3957
3975
  height: 100%;
3958
3976
  margin: 0 auto;
3959
3977
  }
3960
- .footer-container .center-container .center-container-item[data-v-203d11fc]:not(:first-child) {
3978
+ .footer-container .center-container .center-container-item[data-v-28ae2921]:not(:first-child) {
3961
3979
  margin-left: 16px;
3962
3980
  }
3963
- .footer-container .right-container[data-v-203d11fc] {
3981
+ .footer-container .right-container[data-v-28ae2921] {
3964
3982
  display: flex;
3965
3983
  align-items: center;
3966
3984
  height: 100%;
@@ -8977,7 +8995,7 @@ body, html {
8977
8995
  }
8978
8996
  .tui-room :not([class|=el]) {
8979
8997
  transition: background-color 0.3s, color 0.3s, box-shadow 0.3s;
8980
- }.tui-room[data-v-c5f5a591] {
8998
+ }.tui-room[data-v-dc8a7460] {
8981
8999
  position: relative;
8982
9000
  display: flex;
8983
9001
  flex-direction: column;
@@ -8989,7 +9007,7 @@ body, html {
8989
9007
  text-align: left;
8990
9008
  background-color: var(--bg-color-topbar);
8991
9009
  }
8992
- .tui-room .header[data-v-c5f5a591] {
9010
+ .tui-room .header[data-v-dc8a7460] {
8993
9011
  position: absolute;
8994
9012
  top: 0;
8995
9013
  left: 0;
@@ -9000,20 +9018,20 @@ body, html {
9000
9018
  border-bottom: 1px solid var(--stroke-color-primary);
9001
9019
  box-shadow: 0 1px 0 var(--uikit-color-black-8);
9002
9020
  }
9003
- .tui-room .content[data-v-c5f5a591] {
9021
+ .tui-room .content[data-v-dc8a7460] {
9004
9022
  position: absolute;
9005
9023
  top: 0;
9006
9024
  width: 100%;
9007
9025
  height: 100%;
9008
9026
  background-color: var(--bg-color-topbar);
9009
9027
  }
9010
- .tui-room.tui-room-h5[data-v-c5f5a591] {
9028
+ .tui-room.tui-room-h5[data-v-dc8a7460] {
9011
9029
  width: 100%;
9012
9030
  min-width: 350px;
9013
9031
  height: 100%;
9014
9032
  min-height: 525px;
9015
9033
  }
9016
- #roomContainer.chat-room[data-v-c5f5a591] {
9034
+ #roomContainer.chat-room[data-v-dc8a7460] {
9017
9035
  position: absolute;
9018
9036
  top: 0;
9019
9037
  right: 0;
@@ -9025,8 +9043,8 @@ body, html {
9025
9043
  margin: auto;
9026
9044
  border-radius: 10px;
9027
9045
  }
9028
- #roomContainer.tui-room-h5[data-v-c5f5a591],
9029
- #roomContainer .chat-room[data-v-c5f5a591] {
9046
+ #roomContainer.tui-room-h5[data-v-dc8a7460],
9047
+ #roomContainer .chat-room[data-v-dc8a7460] {
9030
9048
  width: 100%;
9031
9049
  height: 100%;
9032
9050
  }.user-info-container[data-v-9e9aff53] {
@@ -63,6 +63,7 @@ declare const _default: {
63
63
  RoomOwner: string;
64
64
  Me: string;
65
65
  me: string;
66
+ Vote: string;
66
67
  More: string;
67
68
  'AI Assistant': string;
68
69
  'AI real-time conference content': string;
@@ -63,6 +63,7 @@ const EN = {
63
63
  RoomOwner: "RoomOwner",
64
64
  Me: "Me",
65
65
  me: "me",
66
+ "Vote": "Vote",
66
67
  More: "More",
67
68
  "AI Assistant": "AI Assistant",
68
69
  "AI real-time conference content": "AI real-time conference content",
@@ -60,6 +60,7 @@ declare const _default: {
60
60
  me: string;
61
61
  Admin: string;
62
62
  RoomOwner: string;
63
+ Vote: string;
63
64
  More: string;
64
65
  'AI Assistant': string;
65
66
  'AI real-time conference content': string;
@@ -60,6 +60,7 @@ const ZH = {
60
60
  me: "我",
61
61
  Admin: "管理员",
62
62
  RoomOwner: "主持人",
63
+ Vote: "表决",
63
64
  More: "更多",
64
65
  "AI Assistant": "AI 助手",
65
66
  "AI real-time conference content": "AI 实时会议内容",
@@ -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' | '';
4
+ type SideBarType = 'chat' | 'invite' | 'manage-member' | 'more' | 'transfer-leave' | 'apply' | 'aiTranscription' | 'vote' | '';
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 indexPC_vue_vue_type_script_setup_true_lang = require("./indexPC.vue2.js");
4
4
  ;/* empty css */
5
5
  const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.js");
6
- const indexPc = /* @__PURE__ */ _pluginVue_exportHelper.default(indexPC_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-203d11fc"]]);
6
+ const indexPc = /* @__PURE__ */ _pluginVue_exportHelper.default(indexPC_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-28ae2921"]]);
7
7
  exports.default = indexPc;
@@ -67,6 +67,7 @@ const VirtualBackground = require("../VirtualBackground.vue.js");
67
67
  const AIControl = require("../AIControl.vue.js");
68
68
  const BasicBeauty = require("../BasicBeauty.vue.js");
69
69
  const useMitt = require("../../../hooks/useMitt.js");
70
+ const voteControl = require("../voteControl.vue.js");
70
71
  const useRoomFooterHooks = require("./useRoomFooterHooks.js");
71
72
  const _hoisted_1 = { class: "footer-container" };
72
73
  const _hoisted_2 = { class: "left-container" };
@@ -132,17 +133,21 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
132
133
  class: "center-container-item",
133
134
  onClick: _cache[9] || (_cache[9] = ($event) => handleControlClick("MasterApplyControl"))
134
135
  })) : Vue.createCommentVNode("", true),
136
+ Vue.createVNode(voteControl.default, {
137
+ class: "center-container-item",
138
+ onClick: _cache[10] || (_cache[10] = ($event) => handleControlClick("voteControl"))
139
+ }),
135
140
  Vue.createVNode(Vue.unref(index$1.default), {
136
141
  class: "center-container-item",
137
- onClick: _cache[10] || (_cache[10] = ($event) => handleControlClick("moreControl"))
142
+ onClick: _cache[11] || (_cache[11] = ($event) => handleControlClick("moreControl"))
138
143
  }),
139
144
  Vue.createVNode(AIControl.default, {
140
145
  class: "center-container-item",
141
- onClick: _cache[11] || (_cache[11] = ($event) => handleControlClick("AIControl"))
146
+ onClick: _cache[12] || (_cache[12] = ($event) => handleControlClick("AIControl"))
142
147
  }),
143
148
  Vue.createVNode(SettingControl_vue_vue_type_script_setup_true_lang.default, {
144
149
  class: "center-container-item",
145
- onClick: _cache[12] || (_cache[12] = ($event) => handleControlClick("settingControl"))
150
+ onClick: _cache[13] || (_cache[13] = ($event) => handleControlClick("settingControl"))
146
151
  }),
147
152
  Vue.createVNode(VirtualBackground.default, { class: "center-container-item" }),
148
153
  !Vue.unref(environment.isElectron) ? (Vue.openBlock(), Vue.createBlock(BasicBeauty.default, {
@@ -0,0 +1,15 @@
1
+ declare function __VLS_template(): {
2
+ default?(_: {}): any;
3
+ };
4
+ declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
5
+ "on-vote": (...args: any[]) => void;
6
+ }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
7
+ "onOn-vote"?: ((...args: any[]) => any) | undefined;
8
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
9
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
10
+ export default _default;
11
+ type __VLS_WithTemplateSlots<T, S> = T & {
12
+ new (): {
13
+ $slots: S;
14
+ };
15
+ };
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const voteControl_vue_vue_type_script_setup_true_lang = require("./voteControl.vue2.js");
4
+ ;/* empty css */
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-7493ac70"]]);
7
+ exports.default = voteControl;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const Vue = require("vue");
4
+ require("../../services/main.js");
5
+ const roomService = require("../../services/roomService.js");
6
+ const index = require("../../locales/index.js");
7
+ require("@tencentcloud/tuiroom-engine-js");
8
+ require("../../utils/environment.js");
9
+ require("mitt");
10
+ require("../../services/manager/roomActionManager.js");
11
+ require("@tencentcloud/tui-core");
12
+ const _hoisted_1 = { class: "more-container" };
13
+ const _hoisted_2 = {
14
+ key: 0,
15
+ class: "tool-box"
16
+ };
17
+ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
18
+ __name: "voteControl",
19
+ emits: ["on-vote"],
20
+ setup(__props, { emit: __emit }) {
21
+ const { basicStore } = roomService.roomService;
22
+ const isSidebarOpen = Vue.computed(() => basicStore.isSidebarOpen);
23
+ const sidebarName = Vue.computed(() => basicStore.sidebarName);
24
+ const { t } = index.useI18n();
25
+ const showToolBox = Vue.ref(false);
26
+ Vue.watch(isSidebarOpen, (newValue) => {
27
+ showToolBox.value = newValue && false;
28
+ });
29
+ const emit = __emit;
30
+ function toggleToolBox() {
31
+ showToolBox.value = !showToolBox.value;
32
+ emit("on-vote", {
33
+ name: "onVote",
34
+ visible: showToolBox.value
35
+ });
36
+ }
37
+ 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, {
42
+ "is-active": sidebarName.value === "vote",
43
+ title: Vue.unref(t)("Vote"),
44
+ onClickIcon: toggleToolBox
45
+ }, {
46
+ default: Vue.withCtx(() => [
47
+ Vue.createVNode(_component_IconAIIcon, { size: "24" })
48
+ ]),
49
+ _: 1
50
+ }, 8, ["is-active", "title"]),
51
+ _cache[1] || (_cache[1] = Vue.createTextVNode(" 测试 ", -1)),
52
+ !isSidebarOpen.value && showToolBox.value ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_2, [
53
+ _cache[0] || (_cache[0] = Vue.createTextVNode(" 123 ", -1)),
54
+ Vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
55
+ ])) : Vue.createCommentVNode("", true)
56
+ ]);
57
+ };
58
+ }
59
+ });
60
+ exports.default = _sfc_main;
@@ -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", "" | "chat" | "invite" | "manage-member" | "more" | "transfer-leave" | "apply" | "aiTranscription">;
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">;
80
80
  };
@@ -13,6 +13,7 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
13
13
  setup(__props) {
14
14
  const { isSidebarOpen, title, handleClose, sidebarName } = useSideBarHooks.default();
15
15
  return (_ctx, _cache) => {
16
+ const _component_room_vote = Vue.resolveComponent("room-vote");
16
17
  return Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1, [
17
18
  Vue.createVNode(Drawer.default, {
18
19
  modelValue: Vue.unref(isSidebarOpen),
@@ -24,9 +25,10 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
24
25
  }, {
25
26
  default: Vue.withCtx(() => [
26
27
  Vue.unref(sidebarName) == "chat" ? (Vue.openBlock(), Vue.createBlock(Vue.unref(index.default), { key: 0 })) : Vue.createCommentVNode("", true),
27
- Vue.unref(sidebarName) == "more" ? (Vue.openBlock(), Vue.createBlock(Vue.unref(index$1.default), { key: 1 })) : Vue.createCommentVNode("", true),
28
- Vue.unref(sidebarName) == "manage-member" ? (Vue.openBlock(), Vue.createBlock(Vue.unref(index$2.default), { key: 2 })) : Vue.createCommentVNode("", true),
29
- Vue.unref(sidebarName) == "aiTranscription" ? (Vue.openBlock(), Vue.createBlock(AITranscription.default, { key: 3 })) : Vue.createCommentVNode("", true)
28
+ Vue.unref(sidebarName) == "vote" ? (Vue.openBlock(), Vue.createBlock(_component_room_vote, { key: 1 })) : Vue.createCommentVNode("", true),
29
+ Vue.unref(sidebarName) == "more" ? (Vue.openBlock(), Vue.createBlock(Vue.unref(index$1.default), { key: 2 })) : Vue.createCommentVNode("", true),
30
+ Vue.unref(sidebarName) == "manage-member" ? (Vue.openBlock(), Vue.createBlock(Vue.unref(index$2.default), { key: 3 })) : Vue.createCommentVNode("", true),
31
+ Vue.unref(sidebarName) == "aiTranscription" ? (Vue.openBlock(), Vue.createBlock(AITranscription.default, { key: 4 })) : Vue.createCommentVNode("", true)
30
32
  ]),
31
33
  _: 1
32
34
  }, 8, ["modelValue", "title", "before-close"])
@@ -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", "" | "chat" | "invite" | "manage-member" | "more" | "transfer-leave" | "apply" | "aiTranscription">;
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">;
6
6
  handleClose: (done: any) => void;
7
7
  showSideBar: import('vue').ComputedRef<boolean>;
8
8
  };
@@ -30,6 +30,9 @@ function useSideBar() {
30
30
  case "invite":
31
31
  sidebarTitle = t("Invite");
32
32
  break;
33
+ case "vote":
34
+ sidebarTitle = `${t("Vote")}`;
35
+ break;
33
36
  case "more":
34
37
  sidebarTitle = t("More");
35
38
  break;
@@ -0,0 +1,6 @@
1
+ declare const Index: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
2
+ "on-close-contact": (...args: any[]) => void;
3
+ }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
4
+ "onOn-close-contact"?: ((...args: any[]) => any) | undefined;
5
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any> | import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
6
+ export default Index;
@@ -0,0 +1,13 @@
1
+ export default function useRoomMoreHooks(): {
2
+ t: any;
3
+ onCopy: (value: string | number) => Promise<void>;
4
+ contactContentList: {
5
+ id: number;
6
+ title: string;
7
+ content: string;
8
+ copyLink: string;
9
+ }[];
10
+ email: string;
11
+ handleClick: () => void;
12
+ isZH: import('vue').ComputedRef<boolean>;
13
+ };