@ndscnj/roomkit-web-vue3 25.12.24141 → 25.12.24142

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.
@@ -0,0 +1,6 @@
1
+ declare const VoteControl: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
2
+ "show-overlay": (...args: any[]) => void;
3
+ }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
4
+ "onShow-overlay"?: ((...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 VoteControl;
@@ -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-5d452e2c"]]);
4
+ const voteControl = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-753053ea"]]);
5
5
  export {
6
6
  voteControl as default
7
7
  };
@@ -1,4 +1,4 @@
1
- import { defineComponent, computed, ref, watch, createElementBlock, openBlock, createVNode, createCommentVNode, unref, withCtx, renderSlot } from "vue";
1
+ import { defineComponent, computed, ref, createElementBlock, openBlock, createVNode, createCommentVNode, unref, withCtx, 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";
@@ -19,13 +19,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
19
19
  emits: ["on-vote"],
20
20
  setup(__props, { emit: __emit }) {
21
21
  const { basicStore } = roomService;
22
- const isSidebarOpen = computed(() => basicStore.isSidebarOpen);
23
22
  const sidebarName = computed(() => basicStore.sidebarName);
24
23
  const { t } = useI18n();
25
24
  const showToolBox = ref(false);
26
- watch(isSidebarOpen, (newValue) => {
27
- showToolBox.value = newValue && false;
28
- });
29
25
  const emit = __emit;
30
26
  function toggleToolBox() {
31
27
  console.log(showToolBox.value, "0000");
@@ -47,7 +43,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
47
43
  ]),
48
44
  _: 1
49
45
  }, 8, ["is-active", "title"]),
50
- !isSidebarOpen.value && showToolBox.value ? (openBlock(), createElementBlock("div", _hoisted_2, [
46
+ showToolBox.value ? (openBlock(), createElementBlock("div", _hoisted_2, [
51
47
  renderSlot(_ctx.$slots, "content", {}, void 0, true)
52
48
  ])) : createCommentVNode("", true)
53
49
  ]);
@@ -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-d1a96ffd"]]);
4
+ const indexPC = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c82f5e3c"]]);
5
5
  export {
6
6
  indexPC as default
7
7
  };
@@ -21,7 +21,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21
21
  return openBlock(), createElementBlock("div", _hoisted_1, [
22
22
  createElementVNode("div", _hoisted_2, [
23
23
  createVNode(unref(IconEmail), { class: "email-icon" }),
24
- createElementVNode("div", _hoisted_3, toDisplayString(unref(t)("If you have any questions, please email us.")), 1)
24
+ createElementVNode("div", _hoisted_3, toDisplayString(unref(t)("Vote")), 1)
25
25
  ]),
26
26
  unref(isZH) ? (openBlock(), createElementBlock("div", _hoisted_4, [
27
27
  createElementVNode("div", _hoisted_5, toDisplayString(unref(t)("Join our product discussion group")), 1),
package/es/index.mjs CHANGED
@@ -3928,7 +3928,7 @@ to {
3928
3928
  }
3929
3929
  .footer .mirror-container .mirror-text[data-v-21a63691] {
3930
3930
  margin-left: 4px;
3931
- }.contact-container[data-v-5d452e2c] {
3931
+ }.contact-container[data-v-753053ea] {
3932
3932
  position: fixed;
3933
3933
  top: 0;
3934
3934
  bottom: 0;
@@ -5047,17 +5047,17 @@ to {
5047
5047
  font-size: 16px;
5048
5048
  font-weight: 400;
5049
5049
  text-align: end;
5050
- }.more-container[data-v-d1a96ffd] {
5050
+ }.more-container[data-v-c82f5e3c] {
5051
5051
  padding: 20px;
5052
5052
  }
5053
- .more-container .more-title[data-v-d1a96ffd] {
5053
+ .more-container .more-title[data-v-c82f5e3c] {
5054
5054
  display: flex;
5055
5055
  align-items: center;
5056
5056
  }
5057
- .more-container .more-title .email-icon[data-v-d1a96ffd] {
5057
+ .more-container .more-title .email-icon[data-v-c82f5e3c] {
5058
5058
  color: var(--uikit-color-gray-7);
5059
5059
  }
5060
- .more-container .more-title .more-notice[data-v-d1a96ffd] {
5060
+ .more-container .more-title .more-notice[data-v-c82f5e3c] {
5061
5061
  width: 100%;
5062
5062
  height: 22px;
5063
5063
  padding-left: 8px;
@@ -5066,15 +5066,15 @@ to {
5066
5066
  line-height: 22px;
5067
5067
  color: var(--text-color-primary);
5068
5068
  }
5069
- .more-container .more-item[data-v-d1a96ffd] {
5069
+ .more-container .more-item[data-v-c82f5e3c] {
5070
5070
  position: relative;
5071
5071
  display: flex;
5072
5072
  flex-direction: column;
5073
5073
  }
5074
- .more-container .more-item[data-v-d1a96ffd]:not(:first-child) {
5074
+ .more-container .more-item[data-v-c82f5e3c]:not(:first-child) {
5075
5075
  margin-top: 20px;
5076
5076
  }
5077
- .more-container .more-item:not(:first-child) .item-title[data-v-d1a96ffd] {
5077
+ .more-container .more-item:not(:first-child) .item-title[data-v-c82f5e3c] {
5078
5078
  width: 100%;
5079
5079
  padding-bottom: 8px;
5080
5080
  font-size: 14px;
@@ -5082,7 +5082,7 @@ to {
5082
5082
  line-height: 22px;
5083
5083
  color: var(--text-color-primary);
5084
5084
  }
5085
- .more-container .more-item:not(:first-child) .more-content[data-v-d1a96ffd] {
5085
+ .more-container .more-item:not(:first-child) .more-content[data-v-c82f5e3c] {
5086
5086
  position: relative;
5087
5087
  box-sizing: border-box;
5088
5088
  display: inline-block;
@@ -5102,7 +5102,7 @@ to {
5102
5102
  background-color: var(--bg-color-input);
5103
5103
  border: 1px solid var(--stroke-color-module);
5104
5104
  }
5105
- .more-container .more-item:not(:first-child) .copy-icon[data-v-d1a96ffd] {
5105
+ .more-container .more-item:not(:first-child) .copy-icon[data-v-c82f5e3c] {
5106
5106
  position: absolute;
5107
5107
  top: 45px;
5108
5108
  right: 10px;
@@ -0,0 +1,6 @@
1
+ declare const VoteControl: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
2
+ "show-overlay": (...args: any[]) => void;
3
+ }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
4
+ "onShow-overlay"?: ((...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 VoteControl;
@@ -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-5d452e2c"]]);
6
+ const voteControl = /* @__PURE__ */ _pluginVue_exportHelper.default(voteControl_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-753053ea"]]);
7
7
  exports.default = voteControl;
@@ -21,13 +21,9 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
21
21
  emits: ["on-vote"],
22
22
  setup(__props, { emit: __emit }) {
23
23
  const { basicStore } = roomService.roomService;
24
- const isSidebarOpen = Vue.computed(() => basicStore.isSidebarOpen);
25
24
  const sidebarName = Vue.computed(() => basicStore.sidebarName);
26
25
  const { t } = index.useI18n();
27
26
  const showToolBox = Vue.ref(false);
28
- Vue.watch(isSidebarOpen, (newValue) => {
29
- showToolBox.value = newValue && false;
30
- });
31
27
  const emit = __emit;
32
28
  function toggleToolBox() {
33
29
  console.log(showToolBox.value, "0000");
@@ -49,7 +45,7 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
49
45
  ]),
50
46
  _: 1
51
47
  }, 8, ["is-active", "title"]),
52
- !isSidebarOpen.value && showToolBox.value ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_2, [
48
+ showToolBox.value ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_2, [
53
49
  Vue.renderSlot(_ctx.$slots, "content", {}, void 0, true)
54
50
  ])) : Vue.createCommentVNode("", true)
55
51
  ]);
@@ -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-d1a96ffd"]]);
6
+ const indexPC = /* @__PURE__ */ _pluginVue_exportHelper.default(indexPC_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-c82f5e3c"]]);
7
7
  exports.default = indexPC;
@@ -23,7 +23,7 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
23
23
  return Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1, [
24
24
  Vue.createElementVNode("div", _hoisted_2, [
25
25
  Vue.createVNode(Vue.unref(uikitBaseComponentVue3.IconEmail), { class: "email-icon" }),
26
- Vue.createElementVNode("div", _hoisted_3, Vue.toDisplayString(Vue.unref(t)("If you have any questions, please email us.")), 1)
26
+ Vue.createElementVNode("div", _hoisted_3, Vue.toDisplayString(Vue.unref(t)("Vote")), 1)
27
27
  ]),
28
28
  Vue.unref(isZH) ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_4, [
29
29
  Vue.createElementVNode("div", _hoisted_5, Vue.toDisplayString(Vue.unref(t)("Join our product discussion group")), 1),
package/lib/index.js CHANGED
@@ -3928,7 +3928,7 @@ to {
3928
3928
  }
3929
3929
  .footer .mirror-container .mirror-text[data-v-21a63691] {
3930
3930
  margin-left: 4px;
3931
- }.contact-container[data-v-5d452e2c] {
3931
+ }.contact-container[data-v-753053ea] {
3932
3932
  position: fixed;
3933
3933
  top: 0;
3934
3934
  bottom: 0;
@@ -5047,17 +5047,17 @@ to {
5047
5047
  font-size: 16px;
5048
5048
  font-weight: 400;
5049
5049
  text-align: end;
5050
- }.more-container[data-v-d1a96ffd] {
5050
+ }.more-container[data-v-c82f5e3c] {
5051
5051
  padding: 20px;
5052
5052
  }
5053
- .more-container .more-title[data-v-d1a96ffd] {
5053
+ .more-container .more-title[data-v-c82f5e3c] {
5054
5054
  display: flex;
5055
5055
  align-items: center;
5056
5056
  }
5057
- .more-container .more-title .email-icon[data-v-d1a96ffd] {
5057
+ .more-container .more-title .email-icon[data-v-c82f5e3c] {
5058
5058
  color: var(--uikit-color-gray-7);
5059
5059
  }
5060
- .more-container .more-title .more-notice[data-v-d1a96ffd] {
5060
+ .more-container .more-title .more-notice[data-v-c82f5e3c] {
5061
5061
  width: 100%;
5062
5062
  height: 22px;
5063
5063
  padding-left: 8px;
@@ -5066,15 +5066,15 @@ to {
5066
5066
  line-height: 22px;
5067
5067
  color: var(--text-color-primary);
5068
5068
  }
5069
- .more-container .more-item[data-v-d1a96ffd] {
5069
+ .more-container .more-item[data-v-c82f5e3c] {
5070
5070
  position: relative;
5071
5071
  display: flex;
5072
5072
  flex-direction: column;
5073
5073
  }
5074
- .more-container .more-item[data-v-d1a96ffd]:not(:first-child) {
5074
+ .more-container .more-item[data-v-c82f5e3c]:not(:first-child) {
5075
5075
  margin-top: 20px;
5076
5076
  }
5077
- .more-container .more-item:not(:first-child) .item-title[data-v-d1a96ffd] {
5077
+ .more-container .more-item:not(:first-child) .item-title[data-v-c82f5e3c] {
5078
5078
  width: 100%;
5079
5079
  padding-bottom: 8px;
5080
5080
  font-size: 14px;
@@ -5082,7 +5082,7 @@ to {
5082
5082
  line-height: 22px;
5083
5083
  color: var(--text-color-primary);
5084
5084
  }
5085
- .more-container .more-item:not(:first-child) .more-content[data-v-d1a96ffd] {
5085
+ .more-container .more-item:not(:first-child) .more-content[data-v-c82f5e3c] {
5086
5086
  position: relative;
5087
5087
  box-sizing: border-box;
5088
5088
  display: inline-block;
@@ -5102,7 +5102,7 @@ to {
5102
5102
  background-color: var(--bg-color-input);
5103
5103
  border: 1px solid var(--stroke-color-module);
5104
5104
  }
5105
- .more-container .more-item:not(:first-child) .copy-icon[data-v-d1a96ffd] {
5105
+ .more-container .more-item:not(:first-child) .copy-icon[data-v-c82f5e3c] {
5106
5106
  position: absolute;
5107
5107
  top: 45px;
5108
5108
  right: 10px;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ndscnj/roomkit-web-vue3",
3
- "version": "25.12.24141",
3
+ "version": "25.12.24142",
4
4
  "main": "./lib/index.js",
5
5
  "module": "./es/index.mjs",
6
6
  "types": "./es/index.d.ts",
@@ -0,0 +1,122 @@
1
+ <template>
2
+ <div>
3
+ <div v-if="moreControlConfig.visible" class="more-control-container">
4
+ <icon-button
5
+ v-tap="showMore"
6
+ :is-active="sidebarName === 'more'"
7
+ :title="t('More')"
8
+ >
9
+ <IconExtension size="24" />
10
+ </icon-button>
11
+ </div>
12
+ <div v-if="showMoreContent" ref="moreContentRef" class="show-more-content">
13
+ <div class="control-compent">
14
+ <chat-control
15
+ v-if="roomStore.isSpeakAfterTakingSeatMode"
16
+ @click="handleControlClick('chatControl')"
17
+ />
18
+ <contact-control @click="handleControlClick('contactControl')" />
19
+ <invite-control
20
+ @show-overlay="handleShowOverlay"
21
+ @click="handleControlClick('inviteControl')"
22
+ />
23
+ </div>
24
+ <div v-tap="handleCancelControl" class="close">{{ t('Cancel') }}</div>
25
+ </div>
26
+ </div>
27
+ </template>
28
+ <script setup lang="ts">
29
+ import { ref, onMounted, onUnmounted, defineEmits } from 'vue';
30
+ import { IconExtension } from '@tencentcloud/uikit-base-component-vue3';
31
+ import IconButton from '../../common/base/IconButton.vue';
32
+ import userVoteControl from './useVoteControlHooks';
33
+ import ChatControl from '../ChatControl.vue';
34
+ import InviteControl from '../InviteControl.vue';
35
+ import ContactControl from '../ContactControl.vue';
36
+ import { useRoomStore } from '../../../stores/room';
37
+ import bus from '../../../hooks/useMitt';
38
+ import vTap from '../../../directives/vTap';
39
+ import { roomService } from '../../../services';
40
+
41
+ const moreControlConfig = roomService.getComponentConfig('MoreControl');
42
+ const showMoreContent = ref(false);
43
+ const moreContentRef = ref();
44
+
45
+ const { t, sidebarName } = userVoteControl();
46
+ const roomStore = useRoomStore();
47
+ const emit = defineEmits(['show-overlay']);
48
+ function showMore() {
49
+ showMoreContent.value = true;
50
+ }
51
+
52
+ function handleCancelControl() {
53
+ showMoreContent.value = false;
54
+ }
55
+ function handleControlClick(name: string) {
56
+ bus.emit('experience-communication', name);
57
+ }
58
+
59
+ function handleShowOverlay(data: { name: string; visible: boolean }) {
60
+ showMoreContent.value = false;
61
+ emit('show-overlay', data);
62
+ }
63
+
64
+ function handleDocumentClick(event: MouseEvent) {
65
+ if (showMoreContent.value && !moreContentRef.value.contains(event.target)) {
66
+ showMoreContent.value = false;
67
+ }
68
+ }
69
+
70
+ onMounted(() => {
71
+ document?.addEventListener('click', handleDocumentClick, true);
72
+ });
73
+
74
+ onUnmounted(() => {
75
+ document?.removeEventListener('click', handleDocumentClick, true);
76
+ });
77
+ </script>
78
+ <style lang="scss" scoped>
79
+ .show-more-content {
80
+ position: absolute;
81
+ bottom: 15px;
82
+ left: 5%;
83
+ width: 90%;
84
+ height: 17vh;
85
+ padding: 10px;
86
+ border-radius: 13px;
87
+ animation-name: popup;
88
+ animation-duration: 200ms;
89
+ background-color: var(--bg-color-operate);
90
+ }
91
+
92
+ @keyframes popup {
93
+ from {
94
+ bottom: 0;
95
+ }
96
+
97
+ to {
98
+ bottom: 15px;
99
+ }
100
+ }
101
+
102
+ .control-compent {
103
+ display: flex;
104
+ }
105
+
106
+ .close {
107
+ position: relative;
108
+ top: 10%;
109
+ display: flex;
110
+ align-items: center;
111
+ justify-content: center;
112
+ width: 100%;
113
+ padding: 10px;
114
+ font-style: normal;
115
+ font-weight: 400;
116
+ line-height: 24px;
117
+ text-align: center;
118
+ border-radius: 8px;
119
+ color: var(--text-color-primary);
120
+ background-color: var(--button-color-secondary-default);
121
+ }
122
+ </style>
@@ -0,0 +1,31 @@
1
+ <template>
2
+ <div v-if="moreControlConfig.visible" class="vote-control-container">
3
+ <icon-button
4
+ :is-active="sidebarName === 'vote'"
5
+ :title="t('Vote')"
6
+ @click-icon="toggleMoreSidebar"
7
+ >
8
+ <IconMore size="24" />
9
+ </icon-button>
10
+ </div>
11
+ </template>
12
+ <script setup lang="ts">
13
+ import { IconMore } from '@tencentcloud/uikit-base-component-vue3';
14
+ import IconButton from '../../common/base/IconButton.vue';
15
+ import userMoreControl from './useMoreControlHooks';
16
+ import { roomService } from '../../../services';
17
+
18
+ const moreControlConfig = roomService.getComponentConfig('VoteControl');
19
+ const { t, basicStore, sidebarName } = userMoreControl();
20
+
21
+ function toggleMoreSidebar() {
22
+ if (basicStore.setSidebarOpenStatus && basicStore.sidebarName === 'vote') {
23
+ basicStore.setSidebarOpenStatus(false);
24
+ basicStore.setSidebarName('');
25
+ return;
26
+ }
27
+ basicStore.setSidebarOpenStatus(true);
28
+ basicStore.setSidebarName('vote');
29
+ }
30
+ </script>
31
+ <style lang="scss" scoped></style>
@@ -0,0 +1,8 @@
1
+ import VoteControlH5 from './VoteControlH5.vue';
2
+ import VoteControlPc from './VoteControlPC.vue';
3
+
4
+ import { isMobile } from '../../../utils/environment';
5
+
6
+ const VoteControl = isMobile ? VoteControlH5 : VoteControlPc;
7
+
8
+ export default VoteControl;
@@ -0,0 +1,23 @@
1
+ import { computed } from 'vue';
2
+ import { useBasicStore } from '../../../stores/basic';
3
+ import { storeToRefs } from 'pinia';
4
+ import { useI18n } from '../../../locales';
5
+ import { ICON_NAME } from '../../../constants/icon';
6
+
7
+ export default function useControl() {
8
+ const { t } = useI18n();
9
+
10
+ const basicStore = useBasicStore();
11
+ const { sidebarName } = storeToRefs(basicStore);
12
+
13
+ const iconName = computed(() =>
14
+ sidebarName.value === 'vote' ? ICON_NAME.MoreActive : ICON_NAME.More
15
+ );
16
+
17
+ return {
18
+ t,
19
+ basicStore,
20
+ iconName,
21
+ sidebarName,
22
+ };
23
+ }
@@ -7,13 +7,8 @@
7
7
  >
8
8
  <IconAIIcon size="24" />
9
9
  </icon-button>
10
- <div class="contact-container" v-if="!isSidebarOpen && showToolBox">
10
+ <div class="contact-container" v-if="showToolBox">
11
11
  <slot name="content"></slot>
12
- <!-- <room-vote ref="contactRef" @on-close-contact="handleOnCloseContact">
13
- <template #content>
14
- <slot name="content"></slot>
15
- </template>
16
- </room-vote> -->
17
12
  </div>
18
13
  </div>
19
14
  </template>
@@ -28,13 +23,9 @@ import {
28
23
  } from '@tencentcloud/uikit-base-component-vue3';
29
24
  import roomVote from '../RoomVote';
30
25
  const { basicStore } = roomService;
31
- const isSidebarOpen = computed(() => basicStore.isSidebarOpen);
32
26
  const sidebarName = computed(() => basicStore.sidebarName);
33
27
  const { t } = useI18n();
34
28
  const showToolBox = ref(false);
35
- watch(isSidebarOpen, newValue => {
36
- showToolBox.value = newValue && false;
37
- });
38
29
  const emit = defineEmits(['on-vote']);
39
30
  function toggleToolBox() {
40
31
  console.log(showToolBox.value,"0000")
@@ -3,7 +3,7 @@
3
3
  <div class="more-title">
4
4
  <IconEmail class="email-icon" />
5
5
  <div class="more-notice">
6
- {{ t('If you have any questions, please email us.') }}
6
+ {{ t('Vote') }}
7
7
  </div>
8
8
  </div>
9
9
  <div v-if="isZH" class="more-item">