@ndscnj/roomkit-web-vue3 25.12.24158 → 25.12.24161

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 (50) hide show
  1. package/es/components/RoomFooter/VoteControl/MoreControlH5.vue.d.ts +2 -0
  2. package/es/components/RoomFooter/VoteControl/MoreControlH5.vue.mjs +1 -1
  3. package/es/components/RoomFooter/VoteControl/MoreControlH5.vue2.mjs +14 -53
  4. package/es/components/RoomFooter/VoteControl/index.d.ts +2 -0
  5. package/es/components/RoomFooter/index/index.d.ts +31 -4
  6. package/es/components/RoomFooter/index/indexH5.vue.d.ts +12 -1
  7. package/es/components/RoomFooter/index/indexH5.vue.mjs +1 -1
  8. package/es/components/RoomFooter/index/indexH5.vue2.mjs +19 -4
  9. package/es/components/RoomFooter/index/indexPC.vue.mjs +1 -1
  10. package/es/components/RoomFooter/index/indexPC.vue2.mjs +2 -1
  11. package/es/components/RoomSidebar/index.d.ts +1 -27
  12. package/es/components/RoomSidebar/indexPC.vue.d.ts +1 -5
  13. package/es/components/RoomSidebar/indexPC.vue.mjs +2 -13
  14. package/es/components/RoomVote/index.d.ts +2 -6
  15. package/es/components/RoomVote/indexH5.vue.d.ts +10 -5
  16. package/es/components/RoomVote/indexH5.vue.mjs +9 -2
  17. package/es/index.mjs +57 -57
  18. package/lib/components/Chat/index/indexH5.vue.js +1 -1
  19. package/lib/components/ManageMember/MemberItem/indexH5.vue.js +1 -1
  20. package/lib/components/ManageMember/indexH5.vue.js +1 -1
  21. package/lib/components/RoomFooter/VoteControl/MoreControlH5.vue.d.ts +2 -0
  22. package/lib/components/RoomFooter/VoteControl/MoreControlH5.vue.js +1 -1
  23. package/lib/components/RoomFooter/VoteControl/MoreControlH5.vue2.js +13 -52
  24. package/lib/components/RoomFooter/VoteControl/index.d.ts +2 -0
  25. package/lib/components/RoomFooter/index/index.d.ts +31 -4
  26. package/lib/components/RoomFooter/index/indexH5.vue.d.ts +12 -1
  27. package/lib/components/RoomFooter/index/indexH5.vue.js +2 -2
  28. package/lib/components/RoomFooter/index/indexH5.vue2.js +18 -3
  29. package/lib/components/RoomFooter/index/indexPC.vue.js +1 -1
  30. package/lib/components/RoomFooter/index/indexPC.vue2.js +1 -0
  31. package/lib/components/RoomInvite/indexH5.vue.js +1 -1
  32. package/lib/components/RoomMore/indexH5.vue.js +1 -1
  33. package/lib/components/RoomSidebar/index.d.ts +1 -27
  34. package/lib/components/RoomSidebar/indexH5.vue.js +1 -1
  35. package/lib/components/RoomSidebar/indexPC.vue.d.ts +1 -5
  36. package/lib/components/RoomSidebar/indexPC.vue.js +1 -12
  37. package/lib/components/RoomVote/index.d.ts +2 -6
  38. package/lib/components/RoomVote/indexH5.vue.d.ts +10 -5
  39. package/lib/components/RoomVote/indexH5.vue.js +9 -2
  40. package/lib/index.js +57 -57
  41. package/package.json +1 -1
  42. package/src/TUIRoom/components/RoomFooter/VoteControl/MoreControlH5.vue +10 -42
  43. package/src/TUIRoom/components/RoomFooter/index/indexH5.vue +14 -2
  44. package/src/TUIRoom/components/RoomFooter/index/indexPC.vue +1 -0
  45. package/src/TUIRoom/components/RoomSidebar/indexPC.vue +1 -12
  46. package/src/TUIRoom/components/RoomVote/indexH5.vue +1 -30
  47. package/es/components/RoomVote/indexH5.vue2.mjs +0 -51
  48. package/es/components/RoomVote/useRoomMoreHooks.mjs +0 -43
  49. package/lib/components/RoomVote/indexH5.vue2.js +0 -51
  50. package/lib/components/RoomVote/useRoomMoreHooks.js +0 -43
package/lib/index.js CHANGED
@@ -3635,6 +3635,44 @@ to {
3635
3635
  border-radius: 8px;
3636
3636
  color: var(--text-color-primary);
3637
3637
  background-color: var(--button-color-secondary-default);
3638
+ }.show-more-content[data-v-b8ad5a8b] {
3639
+ position: absolute;
3640
+ bottom: 15px;
3641
+ left: 5%;
3642
+ width: 90%;
3643
+ height: 17vh;
3644
+ padding: 10px;
3645
+ border-radius: 13px;
3646
+ animation-name: popup-b8ad5a8b;
3647
+ animation-duration: 200ms;
3648
+ background-color: var(--bg-color-operate);
3649
+ }
3650
+ @keyframes popup-b8ad5a8b {
3651
+ from {
3652
+ bottom: 0;
3653
+ }
3654
+ to {
3655
+ bottom: 15px;
3656
+ }
3657
+ }
3658
+ .control-compent[data-v-b8ad5a8b] {
3659
+ display: flex;
3660
+ }
3661
+ .close[data-v-b8ad5a8b] {
3662
+ position: relative;
3663
+ top: 10%;
3664
+ display: flex;
3665
+ align-items: center;
3666
+ justify-content: center;
3667
+ width: 100%;
3668
+ padding: 10px;
3669
+ font-style: normal;
3670
+ font-weight: 400;
3671
+ line-height: 24px;
3672
+ text-align: center;
3673
+ border-radius: 8px;
3674
+ color: var(--text-color-primary);
3675
+ background-color: var(--button-color-secondary-default);
3638
3676
  }.tool-box[data-v-34681937] {
3639
3677
  position: absolute;
3640
3678
  bottom: 72px;
@@ -3664,7 +3702,7 @@ to {
3664
3702
  .tool-box .tool-box-item[data-v-34681937]:hover {
3665
3703
  border-radius: 8px;
3666
3704
  background-color: var(--list-color-hover);
3667
- }.footer-container[data-v-f3bbac91] {
3705
+ }.footer-container[data-v-49d683da] {
3668
3706
  position: absolute;
3669
3707
  bottom: 0;
3670
3708
  display: flex;
@@ -3928,45 +3966,7 @@ to {
3928
3966
  }
3929
3967
  .footer .mirror-container .mirror-text[data-v-21a63691] {
3930
3968
  margin-left: 4px;
3931
- }.show-more-content[data-v-c413959d] {
3932
- position: absolute;
3933
- bottom: 15px;
3934
- left: 5%;
3935
- width: 90%;
3936
- height: 17vh;
3937
- padding: 10px;
3938
- border-radius: 13px;
3939
- animation-name: popup-c413959d;
3940
- animation-duration: 200ms;
3941
- background-color: var(--bg-color-operate);
3942
- }
3943
- @keyframes popup-c413959d {
3944
- from {
3945
- bottom: 0;
3946
- }
3947
- to {
3948
- bottom: 15px;
3949
- }
3950
- }
3951
- .control-compent[data-v-c413959d] {
3952
- display: flex;
3953
- }
3954
- .close[data-v-c413959d] {
3955
- position: relative;
3956
- top: 10%;
3957
- display: flex;
3958
- align-items: center;
3959
- justify-content: center;
3960
- width: 100%;
3961
- padding: 10px;
3962
- font-style: normal;
3963
- font-weight: 400;
3964
- line-height: 24px;
3965
- text-align: center;
3966
- border-radius: 8px;
3967
- color: var(--text-color-primary);
3968
- background-color: var(--button-color-secondary-default);
3969
- }.footer-container[data-v-4afcea78] {
3969
+ }.footer-container[data-v-eeb020b6] {
3970
3970
  position: absolute;
3971
3971
  bottom: 0;
3972
3972
  display: flex;
@@ -3980,25 +3980,25 @@ to {
3980
3980
  background-color: var(--bg-color-topbar);
3981
3981
  box-shadow: 0 -8px 30px var(--uikit-color-black-8);
3982
3982
  }
3983
- .footer-container .left-container[data-v-4afcea78] {
3983
+ .footer-container .left-container[data-v-eeb020b6] {
3984
3984
  display: flex;
3985
3985
  align-items: center;
3986
3986
  height: 100%;
3987
3987
  }
3988
- .footer-container .left-container .left-container-item[data-v-4afcea78]:not(:first-child) {
3988
+ .footer-container .left-container .left-container-item[data-v-eeb020b6]:not(:first-child) {
3989
3989
  margin-left: 1rem;
3990
3990
  }
3991
- .footer-container .center-container[data-v-4afcea78] {
3991
+ .footer-container .center-container[data-v-eeb020b6] {
3992
3992
  position: relative;
3993
3993
  display: flex;
3994
3994
  align-items: center;
3995
3995
  height: 100%;
3996
3996
  margin: 0 auto;
3997
3997
  }
3998
- .footer-container .center-container .center-container-item[data-v-4afcea78]:not(:first-child) {
3998
+ .footer-container .center-container .center-container-item[data-v-eeb020b6]:not(:first-child) {
3999
3999
  margin-left: 16px;
4000
4000
  }
4001
- .footer-container .right-container[data-v-4afcea78] {
4001
+ .footer-container .right-container[data-v-eeb020b6] {
4002
4002
  display: flex;
4003
4003
  align-items: center;
4004
4004
  height: 100%;
@@ -4986,13 +4986,13 @@ to {
4986
4986
  right: 0;
4987
4987
  z-index: 101;
4988
4988
  height: 100%;
4989
- }span[data-v-939000cb] {
4989
+ }span[data-v-872a5da4] {
4990
4990
  padding-right: 5px;
4991
4991
  font-size: 12px;
4992
4992
  font-weight: 500;
4993
4993
  line-height: 17px;
4994
4994
  }
4995
- .contact-container-main[data-v-939000cb] {
4995
+ .contact-container-main[data-v-872a5da4] {
4996
4996
  position: fixed;
4997
4997
  bottom: 0;
4998
4998
  display: flex;
@@ -5000,11 +5000,11 @@ to {
5000
5000
  width: 100%;
5001
5001
  padding-bottom: 4vh;
5002
5002
  border-radius: 15px 15px 0 0;
5003
- animation-name: popup-939000cb;
5003
+ animation-name: popup-872a5da4;
5004
5004
  animation-duration: 200ms;
5005
5005
  background-color: var(--bg-color-operate);
5006
5006
  }
5007
- @keyframes popup-939000cb {
5007
+ @keyframes popup-872a5da4 {
5008
5008
  from {
5009
5009
  transform: scaleY(0);
5010
5010
  transform-origin: bottom;
@@ -5014,7 +5014,7 @@ to {
5014
5014
  transform-origin: bottom;
5015
5015
  }
5016
5016
  }
5017
- .contact-container-main .contact-title-main[data-v-939000cb] {
5017
+ .contact-container-main .contact-title-main[data-v-872a5da4] {
5018
5018
  display: flex;
5019
5019
  flex-direction: row;
5020
5020
  align-items: center;
@@ -5026,7 +5026,7 @@ to {
5026
5026
  line-height: 24px;
5027
5027
  color: var(--text-color-primary);
5028
5028
  }
5029
- .contact-container-main .contact-content-main[data-v-939000cb] {
5029
+ .contact-container-main .contact-content-main[data-v-872a5da4] {
5030
5030
  display: flex;
5031
5031
  flex-direction: row;
5032
5032
  align-items: center;
@@ -5035,8 +5035,8 @@ to {
5035
5035
  padding: 0 0 0 25px;
5036
5036
  margin-bottom: 10px;
5037
5037
  }
5038
- .contact-container-main .contact-title[data-v-939000cb],
5039
- .contact-container-main .contact-content[data-v-939000cb] {
5038
+ .contact-container-main .contact-title[data-v-872a5da4],
5039
+ .contact-container-main .contact-content[data-v-872a5da4] {
5040
5040
  width: 28%;
5041
5041
  font-family: "PingFang SC";
5042
5042
  font-size: 14px;
@@ -5046,7 +5046,7 @@ to {
5046
5046
  white-space: nowrap;
5047
5047
  color: var(--text-color-primary);
5048
5048
  }
5049
- .contact-container-main .contact-content[data-v-939000cb] {
5049
+ .contact-container-main .contact-content[data-v-872a5da4] {
5050
5050
  width: 62%;
5051
5051
  overflow: hidden;
5052
5052
  font-size: 14px;
@@ -5054,7 +5054,7 @@ to {
5054
5054
  white-space: nowrap;
5055
5055
  color: var(--text-color-secondary);
5056
5056
  }
5057
- .contact-container-main .contact-bottom[data-v-939000cb] {
5057
+ .contact-container-main .contact-bottom[data-v-872a5da4] {
5058
5058
  width: 90%;
5059
5059
  padding-left: 40px;
5060
5060
  font-family: "PingFang SC";
@@ -5065,11 +5065,11 @@ to {
5065
5065
  text-align: center;
5066
5066
  color: var(--text-color-secondary);
5067
5067
  }
5068
- .contact-container-main .copy[data-v-939000cb] {
5068
+ .contact-container-main .copy[data-v-872a5da4] {
5069
5069
  margin-left: 30px;
5070
5070
  color: var(--text-color-link);
5071
5071
  }
5072
- .cancel[data-v-939000cb] {
5072
+ .cancel[data-v-872a5da4] {
5073
5073
  flex: 1;
5074
5074
  padding-right: 30px;
5075
5075
  font-size: 16px;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ndscnj/roomkit-web-vue3",
3
- "version": "25.12.24158",
3
+ "version": "25.12.24161",
4
4
  "main": "./lib/index.js",
5
5
  "module": "./es/index.mjs",
6
6
  "types": "./es/index.d.ts",
@@ -1,28 +1,14 @@
1
1
  <template>
2
2
  <div>
3
- <div v-if="moreControlConfig.visible" class="more-control-container">
3
+ <div v-if="voteControlConfig.visible" class="more-control-container">
4
4
  <icon-button
5
5
  v-tap="showMore"
6
- :is-active="sidebarName === 'more'"
7
- :title="t('More')"
6
+ :is-active="sidebarName === 'vote'"
7
+ :title="t('Vote')"
8
8
  >
9
9
  <IconExtension size="24" />
10
10
  </icon-button>
11
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
12
  </div>
27
13
  </template>
28
14
  <script setup lang="ts">
@@ -30,37 +16,19 @@ import { ref, onMounted, onUnmounted, defineEmits } from 'vue';
30
16
  import { IconExtension } from '@tencentcloud/uikit-base-component-vue3';
31
17
  import IconButton from '../../common/base/IconButton.vue';
32
18
  import userMoreControl from './useMoreControlHooks';
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
19
  import { roomService } from '../../../services';
40
-
41
- const moreControlConfig = roomService.getComponentConfig('MoreControl');
20
+ const voteControlConfig = roomService.getComponentConfig('MoreControl');
42
21
  const showMoreContent = ref(false);
43
22
  const moreContentRef = ref();
44
-
45
- const { t, sidebarName } = userMoreControl();
46
- const roomStore = useRoomStore();
47
- const emit = defineEmits(['show-overlay']);
23
+ const { t, sidebarName,basicStore } = userMoreControl();
24
+ const emit = defineEmits(['show-overlay','on-vote']);
48
25
  function showMore() {
49
26
  showMoreContent.value = true;
27
+ emit('on-vote', {
28
+ name: 'onVote',
29
+ visible:basicStore.isSidebarOpen,
30
+ });
50
31
  }
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
32
  function handleDocumentClick(event: MouseEvent) {
65
33
  if (showMoreContent.value && !moreContentRef.value.contains(event.target)) {
66
34
  showMoreContent.value = false;
@@ -14,6 +14,15 @@
14
14
  v-if="!roomStore.isSpeakAfterTakingSeatMode"
15
15
  v-tap="() => handleControlClick('chatControl')"
16
16
  />
17
+ <vote-control
18
+ v-tap="() => handleControlClick('voteControl')"
19
+ @show-overlay="handleShowOverlay"
20
+ @on-vote="onVote"
21
+ >
22
+ <template #content>
23
+ <slot name="content"></slot>
24
+ </template>
25
+ </vote-control>
17
26
  <AIControl
18
27
  @click="handleControlClick('AIControl')"
19
28
  />
@@ -46,6 +55,7 @@ import ChatControl from '../ChatControl.vue';
46
55
  import MasterApplyControl from '../ManageStageControl.vue';
47
56
  import MemberApplyControl from '../ApplyControl/MemberApplyControl.vue';
48
57
  import MoreControl from '../MoreControl/index';
58
+ import VoteControl from '../VoteControl/index.ts';
49
59
  import AIControl from '../AIControl.vue';
50
60
  import bus from '../../../hooks/useMitt';
51
61
  import vTap from '../../../directives/vTap';
@@ -54,8 +64,10 @@ import useRoomFooter from './useRoomFooterHooks';
54
64
 
55
65
  const { roomStore, isMaster, isAdmin, isAudience } = useRoomFooter();
56
66
 
57
- const emit = defineEmits(['show-overlay']);
58
-
67
+ const emit = defineEmits(['show-overlay','on-vote']);
68
+ const onVote = (data: { name: string; visible: boolean }) => {
69
+ emit('on-vote', { code: data.visible, message: 'vote' });
70
+ };
59
71
  function handleControlClick(name: string) {
60
72
  bus.emit('experience-communication', name);
61
73
  }
@@ -51,6 +51,7 @@
51
51
  class="center-container-item"
52
52
  @click="handleControlClick('MasterApplyControl')"
53
53
  />
54
+ <slot name="content"></slot>
54
55
  <voteControl
55
56
  class="center-container-item"
56
57
  @click="handleControlClick('voteControl')"
@@ -8,7 +8,7 @@
8
8
  :size="400"
9
9
  >
10
10
  <chat v-if="sidebarName == 'chat'" />
11
- <room-vote v-if="sidebarName == 'vote'">
11
+ <room-vote v-if="sidebarName == 'vote'" >
12
12
  <template #content>
13
13
  <slot name="content"></slot>
14
14
  </template>
@@ -28,18 +28,7 @@ import RoomMore from '../RoomMore';
28
28
  import RoomVote from '../RoomVote';
29
29
  import Chat from '../Chat/index';
30
30
  import AITranscription from '../common/widgets/AITools/AITranscription.vue';
31
- import { defineEmits,watch} from 'vue';
32
31
  const { isSidebarOpen, title, handleClose, sidebarName } = useSideBar();
33
- const emit = defineEmits(['on-vote',]);
34
- watch(
35
- () => isSidebarOpen,
36
- (newValue, oldValue) => {
37
- emit('on-vote', {
38
- name: 'onVote',
39
- visible: isSidebarOpen,
40
- });
41
- }
42
- );
43
32
  </script>
44
33
 
45
34
  <style lang="scss"></style>
@@ -1,40 +1,11 @@
1
1
  <template>
2
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>
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
8
 
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
9
  </script>
39
10
 
40
11
  <style lang="scss" scoped>
@@ -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,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,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,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;