@ndscnj/roomkit-web-vue3 25.12.2415 → 25.12.2417

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 (92) hide show
  1. package/es/assets/imgs/vote-icon.png.mjs +4 -0
  2. package/es/components/RoomFooter/VoteControl/MoreControlH5.vue.mjs +7 -0
  3. package/es/components/RoomFooter/VoteControl/MoreControlH5.vue2.mjs +59 -0
  4. package/es/components/RoomFooter/VoteControl/MoreControlPC.vue.mjs +7 -0
  5. package/es/components/RoomFooter/VoteControl/MoreControlPC.vue2.mjs +59 -0
  6. package/es/components/RoomFooter/VoteControl/index.d.ts +6 -0
  7. package/es/components/RoomFooter/VoteControl/index.mjs +7 -0
  8. package/es/components/RoomFooter/VoteControl/useMoreControlHooks.mjs +24 -0
  9. package/es/components/RoomFooter/index/index.d.ts +31 -4
  10. package/es/components/RoomFooter/index/indexH5.vue.d.ts +12 -1
  11. package/es/components/RoomFooter/index/indexH5.vue.mjs +1 -1
  12. package/es/components/RoomFooter/index/indexH5.vue2.mjs +20 -5
  13. package/es/components/RoomFooter/index/indexPC.vue.mjs +1 -1
  14. package/es/components/RoomFooter/index/indexPC.vue2.mjs +4 -4
  15. package/es/components/RoomSidebar/index.d.ts +17 -1
  16. package/es/components/RoomSidebar/indexH5.vue.d.ts +10 -1
  17. package/es/components/RoomSidebar/indexH5.vue.mjs +1 -1
  18. package/es/components/RoomSidebar/indexH5.vue2.mjs +10 -3
  19. package/es/components/RoomSidebar/indexPC.vue.d.ts +10 -1
  20. package/es/components/RoomSidebar/indexPC.vue.mjs +8 -3
  21. package/es/components/RoomVote/index.d.ts +2 -6
  22. package/es/components/RoomVote/indexH5.vue.d.ts +10 -5
  23. package/es/components/RoomVote/indexH5.vue.mjs +9 -2
  24. package/es/components/RoomVote/indexPC.vue.mjs +9 -2
  25. package/es/conference.vue.mjs +1 -1
  26. package/es/conference.vue2.mjs +5 -5
  27. package/es/index.mjs +76 -105
  28. package/lib/assets/imgs/vote-icon.png.js +4 -0
  29. package/lib/components/Chat/index/indexH5.vue.js +1 -1
  30. package/lib/components/Chat/index/indexPC.vue.js +1 -1
  31. package/lib/components/ManageMember/MemberItem/indexH5.vue.js +1 -1
  32. package/lib/components/ManageMember/MemberItem/indexPC.vue.js +1 -1
  33. package/lib/components/ManageMember/indexH5.vue.js +1 -1
  34. package/lib/components/ManageMember/indexPC.vue.js +1 -1
  35. package/lib/components/RoomFooter/VoteControl/MoreControlH5.vue.d.ts +6 -0
  36. package/lib/components/RoomFooter/VoteControl/MoreControlH5.vue.js +7 -0
  37. package/lib/components/RoomFooter/VoteControl/MoreControlH5.vue2.js +59 -0
  38. package/lib/components/RoomFooter/VoteControl/MoreControlPC.vue.d.ts +6 -0
  39. package/lib/components/RoomFooter/VoteControl/MoreControlPC.vue.js +7 -0
  40. package/lib/components/RoomFooter/VoteControl/MoreControlPC.vue2.js +59 -0
  41. package/lib/components/RoomFooter/VoteControl/index.d.ts +6 -0
  42. package/lib/components/RoomFooter/VoteControl/index.js +7 -0
  43. package/lib/components/RoomFooter/VoteControl/useMoreControlHooks.js +24 -0
  44. package/lib/components/RoomFooter/index/index.d.ts +31 -4
  45. package/lib/components/RoomFooter/index/indexH5.vue.d.ts +12 -1
  46. package/lib/components/RoomFooter/index/indexH5.vue.js +2 -2
  47. package/lib/components/RoomFooter/index/indexH5.vue2.js +19 -4
  48. package/lib/components/RoomFooter/index/indexPC.vue.js +2 -2
  49. package/lib/components/RoomFooter/index/indexPC.vue2.js +6 -6
  50. package/lib/components/RoomInvite/indexH5.vue.js +1 -1
  51. package/lib/components/RoomInvite/indexPC.vue.js +1 -1
  52. package/lib/components/RoomMore/indexH5.vue.js +1 -1
  53. package/lib/components/RoomMore/indexPC.vue.js +1 -1
  54. package/lib/components/RoomSidebar/index.d.ts +17 -1
  55. package/lib/components/RoomSidebar/indexH5.vue.d.ts +10 -1
  56. package/lib/components/RoomSidebar/indexH5.vue.js +2 -2
  57. package/lib/components/RoomSidebar/indexH5.vue2.js +9 -2
  58. package/lib/components/RoomSidebar/indexPC.vue.d.ts +10 -1
  59. package/lib/components/RoomSidebar/indexPC.vue.js +7 -2
  60. package/lib/components/RoomVote/index.d.ts +2 -6
  61. package/lib/components/RoomVote/indexH5.vue.d.ts +10 -5
  62. package/lib/components/RoomVote/indexH5.vue.js +9 -2
  63. package/lib/components/RoomVote/indexPC.vue.js +9 -2
  64. package/lib/conference.vue.js +1 -1
  65. package/lib/conference.vue2.js +5 -5
  66. package/lib/index.js +76 -105
  67. package/package.json +1 -1
  68. package/src/TUIRoom/assets/imgs/vote-icon.png +0 -0
  69. package/src/TUIRoom/components/RoomFooter/VoteControl/MoreControlH5.vue +40 -0
  70. package/src/TUIRoom/components/RoomFooter/VoteControl/MoreControlPC.vue +40 -0
  71. package/src/TUIRoom/components/RoomFooter/VoteControl/index.ts +8 -0
  72. package/src/TUIRoom/components/RoomFooter/VoteControl/useMoreControlHooks.ts +24 -0
  73. package/src/TUIRoom/components/RoomFooter/index/indexH5.vue +15 -2
  74. package/src/TUIRoom/components/RoomFooter/index/indexPC.vue +1 -1
  75. package/src/TUIRoom/components/RoomFooter/voteControl.vue +6 -0
  76. package/src/TUIRoom/components/RoomSidebar/indexH5.vue +5 -0
  77. package/src/TUIRoom/components/RoomSidebar/indexPC.vue +5 -1
  78. package/src/TUIRoom/components/RoomVote/indexH5.vue +61 -118
  79. package/src/TUIRoom/components/RoomVote/indexPC.vue +1 -26
  80. package/src/TUIRoom/conference.vue +5 -4
  81. package/es/components/RoomFooter/voteControl.vue.mjs +0 -7
  82. package/es/components/RoomFooter/voteControl.vue2.mjs +0 -48
  83. package/es/components/RoomVote/indexH5.vue2.mjs +0 -51
  84. package/es/components/RoomVote/indexPC.vue2.mjs +0 -52
  85. package/es/components/RoomVote/useRoomMoreHooks.mjs +0 -43
  86. package/lib/components/RoomFooter/voteControl.vue.js +0 -7
  87. package/lib/components/RoomFooter/voteControl.vue2.js +0 -48
  88. package/lib/components/RoomVote/indexH5.vue2.js +0 -51
  89. package/lib/components/RoomVote/indexPC.vue2.js +0 -52
  90. package/lib/components/RoomVote/useRoomMoreHooks.js +0 -43
  91. /package/es/components/RoomFooter/{voteControl.vue.d.ts → VoteControl/MoreControlH5.vue.d.ts} +0 -0
  92. /package/{lib/components/RoomFooter/voteControl.vue.d.ts → es/components/RoomFooter/VoteControl/MoreControlPC.vue.d.ts} +0 -0
@@ -1,141 +1,84 @@
1
1
  <template>
2
- <div class="contact-container-main">
3
- <div class="contact-title-main">
4
- <div>{{ t('Contact us') }}</div>
5
- <span v-tap="handleCloseContact" class="cancel">{{ t('Cancel') }}</span>
6
- </div>
7
- <div
8
- v-for="item in contactContentList"
9
- :key="item.id"
10
- class="contact-content-main"
11
- >
12
- <span class="contact-title">{{ t(item.title) }}</span>
13
- <span class="contact-content">{{ item.content }}</span>
14
- <IconCopy v-tap="() => onCopy(item.copyLink)" class="copy" />
15
- </div>
16
- <span class="contact-bottom">
17
- {{
18
- t(
19
- 'If you have any questions, please feel free to join our QQ group or send an email'
20
- )
21
- }}
22
- </span>
2
+ <div class="more-container">
3
+ <slot name="content"></slot>
23
4
  </div>
24
5
  </template>
25
6
 
26
7
  <script setup lang="ts">
27
- import useRoomMoreControl from './useRoomMoreHooks';
28
- import { IconCopy } from '@tencentcloud/uikit-base-component-vue3';
29
- import vTap from '../../directives/vTap';
30
-
31
- const { t, onCopy, contactContentList } = useRoomMoreControl();
32
-
33
- const emit = defineEmits(['on-close-contact']);
34
-
35
- function handleCloseContact() {
36
- emit('on-close-contact');
37
- }
38
8
  </script>
39
9
 
40
10
  <style lang="scss" scoped>
41
- span {
42
- padding-right: 5px;
43
- font-size: 12px;
44
- font-weight: 500;
45
- line-height: 17px;
46
- }
11
+ .more-container {
12
+ padding: 20px;
47
13
 
48
- .contact-container-main {
49
- position: fixed;
50
- bottom: 0;
51
- display: flex;
52
- flex-direction: column;
53
- width: 100%;
54
- padding-bottom: 4vh;
55
- border-radius: 15px 15px 0 0;
56
- animation-name: popup;
57
- animation-duration: 200ms;
58
- background-color: var(--bg-color-operate);
14
+ .more-title {
15
+ display: flex;
16
+ align-items: center;
59
17
 
60
- @keyframes popup {
61
- from {
62
- transform: scaleY(0);
63
- transform-origin: bottom;
18
+ .email-icon {
19
+ color: var(--uikit-color-gray-7);
64
20
  }
65
21
 
66
- to {
67
- transform: scaleY(1);
68
- transform-origin: bottom;
22
+ .more-notice {
23
+ width: 100%;
24
+ height: 22px;
25
+ padding-left: 8px;
26
+ font-size: 14px;
27
+ font-weight: 400;
28
+ line-height: 22px;
29
+ color: var(--text-color-primary);
69
30
  }
70
31
  }
71
32
 
72
- .contact-title-main {
33
+ .more-item {
34
+ position: relative;
73
35
  display: flex;
74
- flex-direction: row;
75
- align-items: center;
76
- padding: 30px 0 20px 25px;
77
- font-family: 'PingFang SC';
78
- font-size: 20px;
79
- font-style: normal;
80
- font-weight: 500;
81
- line-height: 24px;
82
- color: var(--text-color-primary);
83
- }
36
+ flex-direction: column;
84
37
 
85
- .contact-content-main {
86
- display: flex;
87
- flex-direction: row;
88
- align-items: center;
89
- width: 90%;
90
- height: 15%;
91
- padding: 0 0 0 25px;
92
- margin-bottom: 10px;
93
- }
38
+ &:not(:first-child) {
39
+ margin-top: 20px;
94
40
 
95
- .contact-title,
96
- .contact-content {
97
- width: 28%;
98
- font-family: 'PingFang SC';
99
- font-size: 14px;
100
- font-style: normal;
101
- font-weight: 400;
102
- line-height: 20px;
103
- white-space: nowrap;
104
- color: var(--text-color-primary);
105
- }
41
+ .item-title {
42
+ width: 100%;
43
+ padding-bottom: 8px;
44
+ font-size: 14px;
45
+ font-weight: 400;
46
+ line-height: 22px;
47
+ color: var(--text-color-primary);
48
+ }
106
49
 
107
- .contact-content {
108
- width: 62%;
109
- overflow: hidden;
110
- font-size: 14px;
111
- text-overflow: ellipsis;
112
- white-space: nowrap;
113
- color: var(--text-color-secondary);
114
- }
50
+ .more-content {
51
+ position: relative;
52
+ box-sizing: border-box;
53
+ display: inline-block;
54
+ flex: 1;
55
+ height: 42px;
56
+ padding: 10px 30px 10px 16px;
57
+ overflow: hidden;
58
+ font-size: 14px;
59
+ font-weight: 500;
60
+ line-height: 22px;
61
+ text-overflow: ellipsis;
62
+ white-space: nowrap;
63
+ border-radius: 8px;
64
+ outline: none;
65
+ transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
66
+ color: var(--text-color-primary);
67
+ background-color: var(--bg-color-input);
68
+ border: 1px solid var(--stroke-color-module);
69
+ }
115
70
 
116
- .contact-bottom {
117
- width: 90%;
118
- padding-left: 40px;
119
- font-family: 'PingFang SC';
120
- font-size: 12px;
121
- font-style: normal;
122
- font-weight: 400;
123
- line-height: 17px;
124
- text-align: center;
125
- color: var(--text-color-secondary);
126
- }
127
-
128
- .copy {
129
- margin-left: 30px;
130
- color: var(--text-color-link);
71
+ .copy-icon {
72
+ position: absolute;
73
+ top: 45px;
74
+ right: 10px;
75
+ display: flex;
76
+ align-items: center;
77
+ justify-content: center;
78
+ cursor: pointer;
79
+ color: var(--text-color-link);
80
+ }
81
+ }
131
82
  }
132
83
  }
133
-
134
- .cancel {
135
- flex: 1;
136
- padding-right: 30px;
137
- font-size: 16px;
138
- font-weight: 400;
139
- text-align: end;
140
- }
141
84
  </style>
@@ -1,35 +1,10 @@
1
1
  <template>
2
2
  <div class="more-container">
3
- <div class="more-title">
4
- <IconEmail class="email-icon" />
5
- <div class="more-notice">
6
- {{ t('Vote') }}
7
- </div>
8
- </div>
9
- <div v-if="isZH" class="more-item">
10
- <div class="item-title">{{ t('Join our product discussion group') }}</div>
11
- <TUIButton @click="handleClick">{{ t('Join now') }}</TUIButton>
12
- </div>
13
- <div class="more-item">
14
- <div class="item-title">{{ t('Our email address') }}</div>
15
- <div class="more-content">{{ email }}</div>
16
- <IconCopy class="copy-icon" @click="onCopy(email)" />
17
- </div>
18
- <div class="more-item">
19
- <slot name="content"></slot>
20
- </div>
3
+ <slot name="content"></slot>
21
4
  </div>
22
5
  </template>
23
6
 
24
7
  <script setup lang="ts">
25
- import {
26
- TUIButton,
27
- IconCopy,
28
- IconEmail,
29
- } from '@tencentcloud/uikit-base-component-vue3';
30
- import useRoomMoreControl from './useRoomMoreHooks';
31
-
32
- const { t, onCopy, handleClick, email, isZH } = useRoomMoreControl();
33
8
  </script>
34
9
 
35
10
  <style lang="scss" scoped>
@@ -18,11 +18,12 @@
18
18
  @show-overlay="handleShowOverlay"
19
19
  @on-vote="onVote"
20
20
  >
21
- <template #content>
22
- <slot name="content"></slot>
23
- </template>
24
21
  </room-footer>
25
- <room-sidebar />
22
+ <room-sidebar @on-vote="onVote">
23
+ <template #content>
24
+ <slot name="content"></slot>
25
+ </template>
26
+ </room-sidebar>
26
27
  <room-setting />
27
28
  <room-overlay />
28
29
  <RoomInviteOverlay v-if="overlayMap.RoomInviteOverlay.visible" />
@@ -1,7 +0,0 @@
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-18efb8e7"]]);
5
- export {
6
- voteControl as default
7
- };
@@ -1,48 +0,0 @@
1
- import { defineComponent, computed, ref, createElementBlock, openBlock, createVNode, unref, withCtx } 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
- import IconButton from "../common/base/IconButton.vue.mjs";
11
- import { IconAIIcon } from "@tencentcloud/uikit-base-component-vue3";
12
- const _hoisted_1 = { class: "vote-control-container" };
13
- const _sfc_main = /* @__PURE__ */ defineComponent({
14
- __name: "voteControl",
15
- emits: ["on-vote"],
16
- setup(__props, { emit: __emit }) {
17
- const { basicStore } = roomService;
18
- const sidebarName = computed(() => basicStore.sidebarName);
19
- const { t } = useI18n();
20
- const showToolBox = ref(false);
21
- const emit = __emit;
22
- function toggleToolBox() {
23
- console.log(showToolBox.value, "0000");
24
- showToolBox.value = !showToolBox.value;
25
- emit("on-vote", {
26
- name: "onVote",
27
- visible: showToolBox.value
28
- });
29
- }
30
- return (_ctx, _cache) => {
31
- return openBlock(), createElementBlock("div", _hoisted_1, [
32
- createVNode(IconButton, {
33
- "is-active": sidebarName.value === "vote",
34
- title: unref(t)("Vote"),
35
- onClickIcon: toggleToolBox
36
- }, {
37
- default: withCtx(() => [
38
- createVNode(unref(IconAIIcon), { size: "24" })
39
- ]),
40
- _: 1
41
- }, 8, ["is-active", "title"])
42
- ]);
43
- };
44
- }
45
- });
46
- export {
47
- _sfc_main as default
48
- };
@@ -1,51 +0,0 @@
1
- import { defineComponent, createElementBlock, openBlock, createElementVNode, withDirectives, toDisplayString, unref, createTextVNode, Fragment, renderList, createVNode } from "vue";
2
- import useRoomMoreHooks from "./useRoomMoreHooks.mjs";
3
- import { IconCopy } from "@tencentcloud/uikit-base-component-vue3";
4
- import vTap from "../../directives/vTap.mjs";
5
- const _hoisted_1 = { class: "contact-container-main" };
6
- const _hoisted_2 = { class: "contact-title-main" };
7
- const _hoisted_3 = { class: "cancel" };
8
- const _hoisted_4 = { class: "contact-title" };
9
- const _hoisted_5 = { class: "contact-content" };
10
- const _hoisted_6 = { class: "contact-bottom" };
11
- const _sfc_main = /* @__PURE__ */ defineComponent({
12
- __name: "indexH5",
13
- emits: ["on-close-contact"],
14
- setup(__props, { emit: __emit }) {
15
- const { t, onCopy, contactContentList } = useRoomMoreHooks();
16
- const emit = __emit;
17
- function handleCloseContact() {
18
- emit("on-close-contact");
19
- }
20
- return (_ctx, _cache) => {
21
- return openBlock(), createElementBlock("div", _hoisted_1, [
22
- createElementVNode("div", _hoisted_2, [
23
- createElementVNode("div", null, toDisplayString(unref(t)("Contact us")), 1),
24
- withDirectives((openBlock(), createElementBlock("span", _hoisted_3, [
25
- createTextVNode(toDisplayString(unref(t)("Cancel")), 1)
26
- ])), [
27
- [unref(vTap), handleCloseContact]
28
- ])
29
- ]),
30
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref(contactContentList), (item) => {
31
- return openBlock(), createElementBlock("div", {
32
- key: item.id,
33
- class: "contact-content-main"
34
- }, [
35
- createElementVNode("span", _hoisted_4, toDisplayString(unref(t)(item.title)), 1),
36
- createElementVNode("span", _hoisted_5, toDisplayString(item.content), 1),
37
- withDirectives(createVNode(unref(IconCopy), { class: "copy" }, null, 512), [
38
- [unref(vTap), () => unref(onCopy)(item.copyLink)]
39
- ])
40
- ]);
41
- }), 128)),
42
- createElementVNode("span", _hoisted_6, toDisplayString(unref(t)(
43
- "If you have any questions, please feel free to join our QQ group or send an email"
44
- )), 1)
45
- ]);
46
- };
47
- }
48
- });
49
- export {
50
- _sfc_main as default
51
- };
@@ -1,52 +0,0 @@
1
- import { defineComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, unref, toDisplayString, withCtx, createTextVNode, renderSlot } from "vue";
2
- import { IconEmail, TUIButton, IconCopy } from "@tencentcloud/uikit-base-component-vue3";
3
- import useRoomMoreHooks from "./useRoomMoreHooks.mjs";
4
- const _hoisted_1 = { class: "more-container" };
5
- const _hoisted_2 = { class: "more-title" };
6
- const _hoisted_3 = { class: "more-notice" };
7
- const _hoisted_4 = {
8
- key: 0,
9
- class: "more-item"
10
- };
11
- const _hoisted_5 = { class: "item-title" };
12
- const _hoisted_6 = { class: "more-item" };
13
- const _hoisted_7 = { class: "item-title" };
14
- const _hoisted_8 = { class: "more-content" };
15
- const _hoisted_9 = { class: "more-item" };
16
- const _sfc_main = /* @__PURE__ */ defineComponent({
17
- __name: "indexPC",
18
- setup(__props) {
19
- const { t, onCopy, handleClick, email, isZH } = useRoomMoreHooks();
20
- return (_ctx, _cache) => {
21
- return openBlock(), createElementBlock("div", _hoisted_1, [
22
- createElementVNode("div", _hoisted_2, [
23
- createVNode(unref(IconEmail), { class: "email-icon" }),
24
- createElementVNode("div", _hoisted_3, toDisplayString(unref(t)("Vote")), 1)
25
- ]),
26
- unref(isZH) ? (openBlock(), createElementBlock("div", _hoisted_4, [
27
- createElementVNode("div", _hoisted_5, toDisplayString(unref(t)("Join our product discussion group")), 1),
28
- createVNode(unref(TUIButton), { onClick: unref(handleClick) }, {
29
- default: withCtx(() => [
30
- createTextVNode(toDisplayString(unref(t)("Join now")), 1)
31
- ]),
32
- _: 1
33
- }, 8, ["onClick"])
34
- ])) : createCommentVNode("", true),
35
- createElementVNode("div", _hoisted_6, [
36
- createElementVNode("div", _hoisted_7, toDisplayString(unref(t)("Our email address")), 1),
37
- createElementVNode("div", _hoisted_8, toDisplayString(unref(email)), 1),
38
- createVNode(unref(IconCopy), {
39
- class: "copy-icon",
40
- onClick: _cache[0] || (_cache[0] = ($event) => unref(onCopy)(unref(email)))
41
- })
42
- ]),
43
- createElementVNode("div", _hoisted_9, [
44
- renderSlot(_ctx.$slots, "content", {}, void 0, true)
45
- ])
46
- ]);
47
- };
48
- }
49
- });
50
- export {
51
- _sfc_main as default
52
- };
@@ -1,43 +0,0 @@
1
- import { computed } from "vue";
2
- import { TUIToast, TOAST_TYPE } from "@tencentcloud/uikit-base-component-vue3";
3
- import i18n, { useI18n } from "../../locales/index.mjs";
4
- import "../../utils/environment.mjs";
5
- import { clipBoard } from "../../utils/adapter.mjs";
6
- function useRoomMoreHooks() {
7
- const { t } = useI18n();
8
- const groupNumber = "770645461";
9
- const email = "chaooliang@tencent.com";
10
- async function onCopy(value) {
11
- try {
12
- await clipBoard(value);
13
- TUIToast({
14
- message: t("Copied successfully"),
15
- type: TOAST_TYPE.SUCCESS
16
- });
17
- } catch (error) {
18
- TUIToast({
19
- message: t("Copied failure"),
20
- type: TOAST_TYPE.ERROR
21
- });
22
- }
23
- }
24
- const isZH = computed(() => i18n.global.locale.value === "zh-CN");
25
- const contactContentList = [
26
- { id: 1, title: "group chat", content: groupNumber, copyLink: groupNumber },
27
- { id: 2, title: "Email", content: email, copyLink: email }
28
- ];
29
- const handleClick = () => {
30
- window.open("https://zhiliao.qq.com/s/c5GY7HIM62CK", "_blank");
31
- };
32
- return {
33
- t,
34
- onCopy,
35
- contactContentList,
36
- email,
37
- handleClick,
38
- isZH
39
- };
40
- }
41
- export {
42
- useRoomMoreHooks as default
43
- };
@@ -1,7 +0,0 @@
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-18efb8e7"]]);
7
- exports.default = voteControl;
@@ -1,48 +0,0 @@
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 IconButton = require("../common/base/IconButton.vue.js");
13
- const uikitBaseComponentVue3 = require("@tencentcloud/uikit-base-component-vue3");
14
- const _hoisted_1 = { class: "vote-control-container" };
15
- const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
16
- __name: "voteControl",
17
- emits: ["on-vote"],
18
- setup(__props, { emit: __emit }) {
19
- const { basicStore } = roomService.roomService;
20
- const sidebarName = Vue.computed(() => basicStore.sidebarName);
21
- const { t } = index.useI18n();
22
- const showToolBox = Vue.ref(false);
23
- const emit = __emit;
24
- function toggleToolBox() {
25
- console.log(showToolBox.value, "0000");
26
- showToolBox.value = !showToolBox.value;
27
- emit("on-vote", {
28
- name: "onVote",
29
- visible: showToolBox.value
30
- });
31
- }
32
- return (_ctx, _cache) => {
33
- return Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1, [
34
- Vue.createVNode(IconButton.default, {
35
- "is-active": sidebarName.value === "vote",
36
- title: Vue.unref(t)("Vote"),
37
- onClickIcon: toggleToolBox
38
- }, {
39
- default: Vue.withCtx(() => [
40
- Vue.createVNode(Vue.unref(uikitBaseComponentVue3.IconAIIcon), { size: "24" })
41
- ]),
42
- _: 1
43
- }, 8, ["is-active", "title"])
44
- ]);
45
- };
46
- }
47
- });
48
- exports.default = _sfc_main;
@@ -1,51 +0,0 @@
1
- "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const Vue = require("vue");
4
- const useRoomMoreHooks = require("./useRoomMoreHooks.js");
5
- const uikitBaseComponentVue3 = require("@tencentcloud/uikit-base-component-vue3");
6
- const vTap = require("../../directives/vTap.js");
7
- const _hoisted_1 = { class: "contact-container-main" };
8
- const _hoisted_2 = { class: "contact-title-main" };
9
- const _hoisted_3 = { class: "cancel" };
10
- const _hoisted_4 = { class: "contact-title" };
11
- const _hoisted_5 = { class: "contact-content" };
12
- const _hoisted_6 = { class: "contact-bottom" };
13
- const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
14
- __name: "indexH5",
15
- emits: ["on-close-contact"],
16
- setup(__props, { emit: __emit }) {
17
- const { t, onCopy, contactContentList } = useRoomMoreHooks.default();
18
- const emit = __emit;
19
- function handleCloseContact() {
20
- emit("on-close-contact");
21
- }
22
- return (_ctx, _cache) => {
23
- return Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1, [
24
- Vue.createElementVNode("div", _hoisted_2, [
25
- Vue.createElementVNode("div", null, Vue.toDisplayString(Vue.unref(t)("Contact us")), 1),
26
- Vue.withDirectives((Vue.openBlock(), Vue.createElementBlock("span", _hoisted_3, [
27
- Vue.createTextVNode(Vue.toDisplayString(Vue.unref(t)("Cancel")), 1)
28
- ])), [
29
- [Vue.unref(vTap.default), handleCloseContact]
30
- ])
31
- ]),
32
- (Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(Vue.unref(contactContentList), (item) => {
33
- return Vue.openBlock(), Vue.createElementBlock("div", {
34
- key: item.id,
35
- class: "contact-content-main"
36
- }, [
37
- Vue.createElementVNode("span", _hoisted_4, Vue.toDisplayString(Vue.unref(t)(item.title)), 1),
38
- Vue.createElementVNode("span", _hoisted_5, Vue.toDisplayString(item.content), 1),
39
- Vue.withDirectives(Vue.createVNode(Vue.unref(uikitBaseComponentVue3.IconCopy), { class: "copy" }, null, 512), [
40
- [Vue.unref(vTap.default), () => Vue.unref(onCopy)(item.copyLink)]
41
- ])
42
- ]);
43
- }), 128)),
44
- Vue.createElementVNode("span", _hoisted_6, Vue.toDisplayString(Vue.unref(t)(
45
- "If you have any questions, please feel free to join our QQ group or send an email"
46
- )), 1)
47
- ]);
48
- };
49
- }
50
- });
51
- exports.default = _sfc_main;
@@ -1,52 +0,0 @@
1
- "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const Vue = require("vue");
4
- const uikitBaseComponentVue3 = require("@tencentcloud/uikit-base-component-vue3");
5
- const useRoomMoreHooks = require("./useRoomMoreHooks.js");
6
- const _hoisted_1 = { class: "more-container" };
7
- const _hoisted_2 = { class: "more-title" };
8
- const _hoisted_3 = { class: "more-notice" };
9
- const _hoisted_4 = {
10
- key: 0,
11
- class: "more-item"
12
- };
13
- const _hoisted_5 = { class: "item-title" };
14
- const _hoisted_6 = { class: "more-item" };
15
- const _hoisted_7 = { class: "item-title" };
16
- const _hoisted_8 = { class: "more-content" };
17
- const _hoisted_9 = { class: "more-item" };
18
- const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
19
- __name: "indexPC",
20
- setup(__props) {
21
- const { t, onCopy, handleClick, email, isZH } = useRoomMoreHooks.default();
22
- return (_ctx, _cache) => {
23
- return Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1, [
24
- Vue.createElementVNode("div", _hoisted_2, [
25
- Vue.createVNode(Vue.unref(uikitBaseComponentVue3.IconEmail), { class: "email-icon" }),
26
- Vue.createElementVNode("div", _hoisted_3, Vue.toDisplayString(Vue.unref(t)("Vote")), 1)
27
- ]),
28
- Vue.unref(isZH) ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_4, [
29
- Vue.createElementVNode("div", _hoisted_5, Vue.toDisplayString(Vue.unref(t)("Join our product discussion group")), 1),
30
- Vue.createVNode(Vue.unref(uikitBaseComponentVue3.TUIButton), { onClick: Vue.unref(handleClick) }, {
31
- default: Vue.withCtx(() => [
32
- Vue.createTextVNode(Vue.toDisplayString(Vue.unref(t)("Join now")), 1)
33
- ]),
34
- _: 1
35
- }, 8, ["onClick"])
36
- ])) : Vue.createCommentVNode("", true),
37
- Vue.createElementVNode("div", _hoisted_6, [
38
- Vue.createElementVNode("div", _hoisted_7, Vue.toDisplayString(Vue.unref(t)("Our email address")), 1),
39
- Vue.createElementVNode("div", _hoisted_8, Vue.toDisplayString(Vue.unref(email)), 1),
40
- Vue.createVNode(Vue.unref(uikitBaseComponentVue3.IconCopy), {
41
- class: "copy-icon",
42
- onClick: _cache[0] || (_cache[0] = ($event) => Vue.unref(onCopy)(Vue.unref(email)))
43
- })
44
- ]),
45
- Vue.createElementVNode("div", _hoisted_9, [
46
- Vue.renderSlot(_ctx.$slots, "content", {}, void 0, true)
47
- ])
48
- ]);
49
- };
50
- }
51
- });
52
- exports.default = _sfc_main;
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const Vue = require("vue");
4
- const uikitBaseComponentVue3 = require("@tencentcloud/uikit-base-component-vue3");
5
- const index = require("../../locales/index.js");
6
- require("../../utils/environment.js");
7
- const adapter = require("../../utils/adapter.js");
8
- function useRoomMoreHooks() {
9
- const { t } = index.useI18n();
10
- const groupNumber = "770645461";
11
- const email = "chaooliang@tencent.com";
12
- async function onCopy(value) {
13
- try {
14
- await adapter.clipBoard(value);
15
- uikitBaseComponentVue3.TUIToast({
16
- message: t("Copied successfully"),
17
- type: uikitBaseComponentVue3.TOAST_TYPE.SUCCESS
18
- });
19
- } catch (error) {
20
- uikitBaseComponentVue3.TUIToast({
21
- message: t("Copied failure"),
22
- type: uikitBaseComponentVue3.TOAST_TYPE.ERROR
23
- });
24
- }
25
- }
26
- const isZH = Vue.computed(() => index.default.global.locale.value === "zh-CN");
27
- const contactContentList = [
28
- { id: 1, title: "group chat", content: groupNumber, copyLink: groupNumber },
29
- { id: 2, title: "Email", content: email, copyLink: email }
30
- ];
31
- const handleClick = () => {
32
- window.open("https://zhiliao.qq.com/s/c5GY7HIM62CK", "_blank");
33
- };
34
- return {
35
- t,
36
- onCopy,
37
- contactContentList,
38
- email,
39
- handleClick,
40
- isZH
41
- };
42
- }
43
- exports.default = useRoomMoreHooks;