@ndscnj/roomkit-web-vue3 25.12.24161 → 25.12.24163

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 (43) hide show
  1. package/es/assets/imgs/vote-icon.png.mjs +4 -0
  2. package/es/components/RoomFooter/VoteControl/MoreControlH5.vue.d.ts +0 -2
  3. package/es/components/RoomFooter/VoteControl/MoreControlH5.vue.mjs +1 -1
  4. package/es/components/RoomFooter/VoteControl/MoreControlH5.vue2.mjs +53 -14
  5. package/es/components/RoomFooter/VoteControl/MoreControlPC.vue.mjs +5 -53
  6. package/es/components/RoomFooter/VoteControl/MoreControlPC.vue2.mjs +59 -1
  7. package/es/components/RoomFooter/VoteControl/index.d.ts +0 -2
  8. package/es/components/RoomFooter/VoteControl/index.mjs +2 -2
  9. package/es/components/RoomFooter/index/index.d.ts +1 -6
  10. package/es/components/RoomFooter/index/indexH5.vue.d.ts +1 -3
  11. package/es/components/RoomFooter/index/indexH5.vue.mjs +1 -1
  12. package/es/components/RoomFooter/index/indexH5.vue2.mjs +5 -19
  13. package/es/components/RoomFooter/index/indexPC.vue.mjs +1 -1
  14. package/es/components/RoomFooter/index/indexPC.vue2.mjs +1 -2
  15. package/es/conference.vue.d.ts +1 -0
  16. package/es/conference.vue.mjs +1 -1
  17. package/es/conference.vue2.mjs +3 -0
  18. package/es/index.mjs +55 -52
  19. package/lib/assets/imgs/vote-icon.png.js +4 -0
  20. package/lib/components/RoomFooter/VoteControl/MoreControlH5.vue.d.ts +0 -2
  21. package/lib/components/RoomFooter/VoteControl/MoreControlH5.vue.js +1 -1
  22. package/lib/components/RoomFooter/VoteControl/MoreControlH5.vue2.js +52 -13
  23. package/lib/components/RoomFooter/VoteControl/MoreControlPC.vue.js +5 -53
  24. package/lib/components/RoomFooter/VoteControl/MoreControlPC.vue2.js +60 -2
  25. package/lib/components/RoomFooter/VoteControl/index.d.ts +0 -2
  26. package/lib/components/RoomFooter/VoteControl/index.js +2 -2
  27. package/lib/components/RoomFooter/index/index.d.ts +1 -6
  28. package/lib/components/RoomFooter/index/indexH5.vue.d.ts +1 -3
  29. package/lib/components/RoomFooter/index/indexH5.vue.js +1 -1
  30. package/lib/components/RoomFooter/index/indexH5.vue2.js +4 -18
  31. package/lib/components/RoomFooter/index/indexPC.vue.js +1 -1
  32. package/lib/components/RoomFooter/index/indexPC.vue2.js +0 -1
  33. package/lib/conference.vue.d.ts +1 -0
  34. package/lib/conference.vue.js +1 -1
  35. package/lib/conference.vue2.js +3 -0
  36. package/lib/index.js +55 -52
  37. package/package.json +1 -1
  38. package/src/TUIRoom/assets/imgs/vote-icon.png +0 -0
  39. package/src/TUIRoom/components/RoomFooter/VoteControl/MoreControlH5.vue +42 -10
  40. package/src/TUIRoom/components/RoomFooter/VoteControl/MoreControlPC.vue +7 -1
  41. package/src/TUIRoom/components/RoomFooter/index/indexH5.vue +3 -14
  42. package/src/TUIRoom/components/RoomFooter/index/indexPC.vue +0 -1
  43. package/src/TUIRoom/conference.vue +5 -2
@@ -1,14 +1,28 @@
1
1
  <template>
2
2
  <div>
3
- <div v-if="voteControlConfig.visible" class="more-control-container">
3
+ <div v-if="moreControlConfig.visible" class="more-control-container">
4
4
  <icon-button
5
5
  v-tap="showMore"
6
- :is-active="sidebarName === 'vote'"
7
- :title="t('Vote')"
6
+ :is-active="sidebarName === 'more'"
7
+ :title="t('More')"
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>
12
26
  </div>
13
27
  </template>
14
28
  <script setup lang="ts">
@@ -16,19 +30,37 @@ import { ref, onMounted, onUnmounted, defineEmits } from 'vue';
16
30
  import { IconExtension } from '@tencentcloud/uikit-base-component-vue3';
17
31
  import IconButton from '../../common/base/IconButton.vue';
18
32
  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';
19
39
  import { roomService } from '../../../services';
20
- const voteControlConfig = roomService.getComponentConfig('MoreControl');
40
+
41
+ const moreControlConfig = roomService.getComponentConfig('MoreControl');
21
42
  const showMoreContent = ref(false);
22
43
  const moreContentRef = ref();
23
- const { t, sidebarName,basicStore } = userMoreControl();
24
- const emit = defineEmits(['show-overlay','on-vote']);
44
+
45
+ const { t, sidebarName } = userMoreControl();
46
+ const roomStore = useRoomStore();
47
+ const emit = defineEmits(['show-overlay']);
25
48
  function showMore() {
26
49
  showMoreContent.value = true;
27
- emit('on-vote', {
28
- name: 'onVote',
29
- visible:basicStore.isSidebarOpen,
30
- });
31
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
+
32
64
  function handleDocumentClick(event: MouseEvent) {
33
65
  if (showMoreContent.value && !moreContentRef.value.contains(event.target)) {
34
66
  showMoreContent.value = false;
@@ -7,6 +7,7 @@
7
7
  >
8
8
  <IconMore size="24" />
9
9
  </icon-button>
10
+ <img class="ndsc-img-box" src="../../../assets/imgs/vote-icon.png" alt="" click="toggleMoreSidebar"/>
10
11
  </div>
11
12
  </template>
12
13
  <script setup lang="ts">
@@ -32,4 +33,9 @@ function toggleMoreSidebar() {
32
33
  });
33
34
  }
34
35
  </script>
35
- <style lang="scss" scoped></style>
36
+ <style lang="scss" scoped>
37
+ .ndsc-img-box{
38
+ width: 50px;
39
+ height: 50px
40
+ }
41
+ </style>
@@ -14,15 +14,7 @@
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
+ <slot name="contentH5"></slot>
26
18
  <AIControl
27
19
  @click="handleControlClick('AIControl')"
28
20
  />
@@ -55,7 +47,6 @@ import ChatControl from '../ChatControl.vue';
55
47
  import MasterApplyControl from '../ManageStageControl.vue';
56
48
  import MemberApplyControl from '../ApplyControl/MemberApplyControl.vue';
57
49
  import MoreControl from '../MoreControl/index';
58
- import VoteControl from '../VoteControl/index.ts';
59
50
  import AIControl from '../AIControl.vue';
60
51
  import bus from '../../../hooks/useMitt';
61
52
  import vTap from '../../../directives/vTap';
@@ -64,10 +55,8 @@ import useRoomFooter from './useRoomFooterHooks';
64
55
 
65
56
  const { roomStore, isMaster, isAdmin, isAudience } = useRoomFooter();
66
57
 
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
- };
58
+ const emit = defineEmits(['show-overlay']);
59
+
71
60
  function handleControlClick(name: string) {
72
61
  bus.emit('experience-communication', name);
73
62
  }
@@ -51,7 +51,6 @@
51
51
  class="center-container-item"
52
52
  @click="handleControlClick('MasterApplyControl')"
53
53
  />
54
- <slot name="content"></slot>
55
54
  <voteControl
56
55
  class="center-container-item"
57
56
  @click="handleControlClick('voteControl')"
@@ -21,11 +21,14 @@
21
21
  <template #content>
22
22
  <slot name="content"></slot>
23
23
  </template>
24
+ <template #contentH5>
25
+ <slot name="contentH5"></slot>
26
+ </template>
24
27
  </room-footer>
25
28
  <room-sidebar @on-vote="onVote">
26
29
  <template #content>
27
- <slot name="content"></slot>
28
- </template>
30
+ <slot name="content"></slot>
31
+ </template>
29
32
  </room-sidebar>
30
33
  <room-setting />
31
34
  <room-overlay />