@ndscnj/roomkit-web-vue3 25.12.2417 → 25.12.2418
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.
- package/es/components/RoomFooter/VoteControl/MoreControlH5.vue.d.ts +2 -2
- package/es/components/RoomFooter/VoteControl/MoreControlH5.vue.mjs +1 -1
- package/es/components/RoomFooter/VoteControl/MoreControlH5.vue2.mjs +77 -31
- package/es/components/RoomFooter/VoteControl/MoreControlPC.vue.d.ts +1 -5
- package/es/components/RoomFooter/VoteControl/MoreControlPC.vue.mjs +47 -5
- package/es/components/RoomFooter/VoteControl/MoreControlPC.vue2.mjs +1 -56
- package/es/components/RoomFooter/VoteControl/index.d.ts +3 -3
- package/es/components/RoomFooter/VoteControl/index.mjs +2 -2
- package/es/components/RoomFooter/VoteControl/useMoreControlHooks.mjs +1 -3
- package/es/components/RoomFooter/index/index.d.ts +4 -31
- package/es/components/RoomFooter/index/indexH5.vue.d.ts +1 -12
- package/es/components/RoomFooter/index/indexH5.vue.mjs +1 -1
- package/es/components/RoomFooter/index/indexH5.vue2.mjs +5 -20
- package/es/components/RoomSidebar/index.d.ts +1 -17
- package/es/components/RoomSidebar/indexH5.vue.d.ts +1 -10
- package/es/components/RoomSidebar/indexH5.vue.mjs +1 -1
- package/es/components/RoomSidebar/indexH5.vue2.mjs +3 -10
- package/es/components/RoomVote/index.d.ts +6 -2
- package/es/components/RoomVote/indexH5.vue.d.ts +5 -10
- package/es/components/RoomVote/indexH5.vue.mjs +2 -9
- package/es/components/RoomVote/indexH5.vue2.mjs +51 -0
- package/es/components/RoomVote/useRoomMoreHooks.mjs +43 -0
- package/es/conference.vue.mjs +1 -1
- package/es/conference.vue2.mjs +7 -2
- package/es/index.mjs +118 -61
- package/lib/components/Chat/index/indexH5.vue.js +1 -1
- package/lib/components/ManageMember/MemberItem/indexH5.vue.js +1 -1
- package/lib/components/ManageMember/indexH5.vue.js +1 -1
- package/lib/components/RoomFooter/VoteControl/MoreControlH5.vue.d.ts +2 -2
- package/lib/components/RoomFooter/VoteControl/MoreControlH5.vue.js +1 -1
- package/lib/components/RoomFooter/VoteControl/MoreControlH5.vue2.js +76 -30
- package/lib/components/RoomFooter/VoteControl/MoreControlPC.vue.d.ts +1 -5
- package/lib/components/RoomFooter/VoteControl/MoreControlPC.vue.js +47 -5
- package/lib/components/RoomFooter/VoteControl/MoreControlPC.vue2.js +2 -57
- package/lib/components/RoomFooter/VoteControl/index.d.ts +3 -3
- package/lib/components/RoomFooter/VoteControl/index.js +2 -2
- package/lib/components/RoomFooter/VoteControl/useMoreControlHooks.js +1 -3
- package/lib/components/RoomFooter/index/index.d.ts +4 -31
- package/lib/components/RoomFooter/index/indexH5.vue.d.ts +1 -12
- package/lib/components/RoomFooter/index/indexH5.vue.js +2 -2
- package/lib/components/RoomFooter/index/indexH5.vue2.js +4 -19
- package/lib/components/RoomInvite/indexH5.vue.js +1 -1
- package/lib/components/RoomMore/indexH5.vue.js +1 -1
- package/lib/components/RoomSidebar/index.d.ts +1 -17
- package/lib/components/RoomSidebar/indexH5.vue.d.ts +1 -10
- package/lib/components/RoomSidebar/indexH5.vue.js +2 -2
- package/lib/components/RoomSidebar/indexH5.vue2.js +2 -9
- package/lib/components/RoomVote/index.d.ts +6 -2
- package/lib/components/RoomVote/indexH5.vue.d.ts +5 -10
- package/lib/components/RoomVote/indexH5.vue.js +2 -9
- package/lib/components/RoomVote/indexH5.vue2.js +51 -0
- package/lib/components/RoomVote/useRoomMoreHooks.js +43 -0
- package/lib/conference.vue.js +1 -1
- package/lib/conference.vue2.js +7 -2
- package/lib/index.js +118 -61
- package/package.json +1 -1
- package/src/TUIRoom/components/RoomFooter/VoteControl/MoreControlH5.vue +108 -26
- package/src/TUIRoom/components/RoomFooter/VoteControl/MoreControlPC.vue +4 -13
- package/src/TUIRoom/components/RoomFooter/VoteControl/useMoreControlHooks.ts +1 -2
- package/src/TUIRoom/components/RoomFooter/index/indexH5.vue +2 -15
- package/src/TUIRoom/components/RoomSidebar/indexH5.vue +0 -5
- package/src/TUIRoom/components/RoomVote/indexH5.vue +118 -61
- package/src/TUIRoom/conference.vue +4 -1
- package/es/assets/imgs/vote-icon.png.mjs +0 -4
- package/lib/assets/imgs/vote-icon.png.js +0 -4
package/lib/index.js
CHANGED
|
@@ -3664,13 +3664,7 @@ to {
|
|
|
3664
3664
|
.tool-box .tool-box-item[data-v-34681937]:hover {
|
|
3665
3665
|
border-radius: 8px;
|
|
3666
3666
|
background-color: var(--list-color-hover);
|
|
3667
|
-
}.
|
|
3668
|
-
width: 24px;
|
|
3669
|
-
height: 24px;
|
|
3670
|
-
}.ndsc-img-box[data-v-997feff9] {
|
|
3671
|
-
width: 24px;
|
|
3672
|
-
height: 24px;
|
|
3673
|
-
}.footer-container[data-v-df7f3346] {
|
|
3667
|
+
}.footer-container[data-v-f3bbac91] {
|
|
3674
3668
|
position: absolute;
|
|
3675
3669
|
bottom: 0;
|
|
3676
3670
|
display: flex;
|
|
@@ -3934,6 +3928,44 @@ to {
|
|
|
3934
3928
|
}
|
|
3935
3929
|
.footer .mirror-container .mirror-text[data-v-21a63691] {
|
|
3936
3930
|
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);
|
|
3937
3969
|
}.footer-container[data-v-4afcea78] {
|
|
3938
3970
|
position: absolute;
|
|
3939
3971
|
bottom: 0;
|
|
@@ -4948,76 +4980,101 @@ to {
|
|
|
4948
4980
|
justify-content: space-around;
|
|
4949
4981
|
margin: 20px 0;
|
|
4950
4982
|
cursor: pointer;
|
|
4951
|
-
}.sidebar-container-mobile[data-v-
|
|
4983
|
+
}.sidebar-container-mobile[data-v-e545b2de] {
|
|
4952
4984
|
position: fixed;
|
|
4953
4985
|
top: 0;
|
|
4954
4986
|
right: 0;
|
|
4955
4987
|
z-index: 101;
|
|
4956
4988
|
height: 100%;
|
|
4957
|
-
}
|
|
4958
|
-
padding:
|
|
4989
|
+
}span[data-v-939000cb] {
|
|
4990
|
+
padding-right: 5px;
|
|
4991
|
+
font-size: 12px;
|
|
4992
|
+
font-weight: 500;
|
|
4993
|
+
line-height: 17px;
|
|
4959
4994
|
}
|
|
4960
|
-
.
|
|
4995
|
+
.contact-container-main[data-v-939000cb] {
|
|
4996
|
+
position: fixed;
|
|
4997
|
+
bottom: 0;
|
|
4961
4998
|
display: flex;
|
|
4962
|
-
|
|
4999
|
+
flex-direction: column;
|
|
5000
|
+
width: 100%;
|
|
5001
|
+
padding-bottom: 4vh;
|
|
5002
|
+
border-radius: 15px 15px 0 0;
|
|
5003
|
+
animation-name: popup-939000cb;
|
|
5004
|
+
animation-duration: 200ms;
|
|
5005
|
+
background-color: var(--bg-color-operate);
|
|
4963
5006
|
}
|
|
4964
|
-
|
|
4965
|
-
|
|
5007
|
+
@keyframes popup-939000cb {
|
|
5008
|
+
from {
|
|
5009
|
+
transform: scaleY(0);
|
|
5010
|
+
transform-origin: bottom;
|
|
4966
5011
|
}
|
|
4967
|
-
|
|
4968
|
-
|
|
4969
|
-
|
|
4970
|
-
padding-left: 8px;
|
|
4971
|
-
font-size: 14px;
|
|
4972
|
-
font-weight: 400;
|
|
4973
|
-
line-height: 22px;
|
|
4974
|
-
color: var(--text-color-primary);
|
|
5012
|
+
to {
|
|
5013
|
+
transform: scaleY(1);
|
|
5014
|
+
transform-origin: bottom;
|
|
4975
5015
|
}
|
|
4976
|
-
|
|
4977
|
-
|
|
5016
|
+
}
|
|
5017
|
+
.contact-container-main .contact-title-main[data-v-939000cb] {
|
|
4978
5018
|
display: flex;
|
|
4979
|
-
flex-direction:
|
|
5019
|
+
flex-direction: row;
|
|
5020
|
+
align-items: center;
|
|
5021
|
+
padding: 30px 0 20px 25px;
|
|
5022
|
+
font-family: "PingFang SC";
|
|
5023
|
+
font-size: 20px;
|
|
5024
|
+
font-style: normal;
|
|
5025
|
+
font-weight: 500;
|
|
5026
|
+
line-height: 24px;
|
|
5027
|
+
color: var(--text-color-primary);
|
|
4980
5028
|
}
|
|
4981
|
-
.
|
|
4982
|
-
|
|
5029
|
+
.contact-container-main .contact-content-main[data-v-939000cb] {
|
|
5030
|
+
display: flex;
|
|
5031
|
+
flex-direction: row;
|
|
5032
|
+
align-items: center;
|
|
5033
|
+
width: 90%;
|
|
5034
|
+
height: 15%;
|
|
5035
|
+
padding: 0 0 0 25px;
|
|
5036
|
+
margin-bottom: 10px;
|
|
4983
5037
|
}
|
|
4984
|
-
.
|
|
4985
|
-
|
|
4986
|
-
|
|
5038
|
+
.contact-container-main .contact-title[data-v-939000cb],
|
|
5039
|
+
.contact-container-main .contact-content[data-v-939000cb] {
|
|
5040
|
+
width: 28%;
|
|
5041
|
+
font-family: "PingFang SC";
|
|
4987
5042
|
font-size: 14px;
|
|
5043
|
+
font-style: normal;
|
|
4988
5044
|
font-weight: 400;
|
|
4989
|
-
line-height:
|
|
5045
|
+
line-height: 20px;
|
|
5046
|
+
white-space: nowrap;
|
|
4990
5047
|
color: var(--text-color-primary);
|
|
4991
5048
|
}
|
|
4992
|
-
.
|
|
4993
|
-
|
|
4994
|
-
box-sizing: border-box;
|
|
4995
|
-
display: inline-block;
|
|
4996
|
-
flex: 1;
|
|
4997
|
-
height: 42px;
|
|
4998
|
-
padding: 10px 30px 10px 16px;
|
|
5049
|
+
.contact-container-main .contact-content[data-v-939000cb] {
|
|
5050
|
+
width: 62%;
|
|
4999
5051
|
overflow: hidden;
|
|
5000
5052
|
font-size: 14px;
|
|
5001
|
-
font-weight: 500;
|
|
5002
|
-
line-height: 22px;
|
|
5003
5053
|
text-overflow: ellipsis;
|
|
5004
5054
|
white-space: nowrap;
|
|
5005
|
-
|
|
5006
|
-
outline: none;
|
|
5007
|
-
transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
|
|
5008
|
-
color: var(--text-color-primary);
|
|
5009
|
-
background-color: var(--bg-color-input);
|
|
5010
|
-
border: 1px solid var(--stroke-color-module);
|
|
5055
|
+
color: var(--text-color-secondary);
|
|
5011
5056
|
}
|
|
5012
|
-
.
|
|
5013
|
-
|
|
5014
|
-
|
|
5015
|
-
|
|
5016
|
-
|
|
5017
|
-
|
|
5018
|
-
|
|
5019
|
-
|
|
5057
|
+
.contact-container-main .contact-bottom[data-v-939000cb] {
|
|
5058
|
+
width: 90%;
|
|
5059
|
+
padding-left: 40px;
|
|
5060
|
+
font-family: "PingFang SC";
|
|
5061
|
+
font-size: 12px;
|
|
5062
|
+
font-style: normal;
|
|
5063
|
+
font-weight: 400;
|
|
5064
|
+
line-height: 17px;
|
|
5065
|
+
text-align: center;
|
|
5066
|
+
color: var(--text-color-secondary);
|
|
5067
|
+
}
|
|
5068
|
+
.contact-container-main .copy[data-v-939000cb] {
|
|
5069
|
+
margin-left: 30px;
|
|
5020
5070
|
color: var(--text-color-link);
|
|
5071
|
+
}
|
|
5072
|
+
.cancel[data-v-939000cb] {
|
|
5073
|
+
flex: 1;
|
|
5074
|
+
padding-right: 30px;
|
|
5075
|
+
font-size: 16px;
|
|
5076
|
+
font-weight: 400;
|
|
5077
|
+
text-align: end;
|
|
5021
5078
|
}.more-container[data-v-41107c5f] {
|
|
5022
5079
|
padding: 20px;
|
|
5023
5080
|
}
|
|
@@ -9111,7 +9168,7 @@ body, html {
|
|
|
9111
9168
|
}
|
|
9112
9169
|
.tui-room :not([class|=el]) {
|
|
9113
9170
|
transition: background-color 0.3s, color 0.3s, box-shadow 0.3s;
|
|
9114
|
-
}.tui-room[data-v-
|
|
9171
|
+
}.tui-room[data-v-b4d71215] {
|
|
9115
9172
|
position: relative;
|
|
9116
9173
|
display: flex;
|
|
9117
9174
|
flex-direction: column;
|
|
@@ -9123,7 +9180,7 @@ body, html {
|
|
|
9123
9180
|
text-align: left;
|
|
9124
9181
|
background-color: var(--bg-color-topbar);
|
|
9125
9182
|
}
|
|
9126
|
-
.tui-room .header[data-v-
|
|
9183
|
+
.tui-room .header[data-v-b4d71215] {
|
|
9127
9184
|
position: absolute;
|
|
9128
9185
|
top: 0;
|
|
9129
9186
|
left: 0;
|
|
@@ -9134,20 +9191,20 @@ body, html {
|
|
|
9134
9191
|
border-bottom: 1px solid var(--stroke-color-primary);
|
|
9135
9192
|
box-shadow: 0 1px 0 var(--uikit-color-black-8);
|
|
9136
9193
|
}
|
|
9137
|
-
.tui-room .content[data-v-
|
|
9194
|
+
.tui-room .content[data-v-b4d71215] {
|
|
9138
9195
|
position: absolute;
|
|
9139
9196
|
top: 0;
|
|
9140
9197
|
width: 100%;
|
|
9141
9198
|
height: 100%;
|
|
9142
9199
|
background-color: var(--bg-color-topbar);
|
|
9143
9200
|
}
|
|
9144
|
-
.tui-room.tui-room-h5[data-v-
|
|
9201
|
+
.tui-room.tui-room-h5[data-v-b4d71215] {
|
|
9145
9202
|
width: 100%;
|
|
9146
9203
|
min-width: 350px;
|
|
9147
9204
|
height: 100%;
|
|
9148
9205
|
min-height: 525px;
|
|
9149
9206
|
}
|
|
9150
|
-
#roomContainer.chat-room[data-v-
|
|
9207
|
+
#roomContainer.chat-room[data-v-b4d71215] {
|
|
9151
9208
|
position: absolute;
|
|
9152
9209
|
top: 0;
|
|
9153
9210
|
right: 0;
|
|
@@ -9159,8 +9216,8 @@ body, html {
|
|
|
9159
9216
|
margin: auto;
|
|
9160
9217
|
border-radius: 10px;
|
|
9161
9218
|
}
|
|
9162
|
-
#roomContainer.tui-room-h5[data-v-
|
|
9163
|
-
#roomContainer .chat-room[data-v-
|
|
9219
|
+
#roomContainer.tui-room-h5[data-v-b4d71215],
|
|
9220
|
+
#roomContainer .chat-room[data-v-b4d71215] {
|
|
9164
9221
|
width: 100%;
|
|
9165
9222
|
height: 100%;
|
|
9166
9223
|
}.user-info-container[data-v-9e9aff53] {
|
package/package.json
CHANGED
|
@@ -1,40 +1,122 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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>
|
|
10
26
|
</div>
|
|
11
27
|
</template>
|
|
12
28
|
<script setup lang="ts">
|
|
13
|
-
import {
|
|
29
|
+
import { ref, onMounted, onUnmounted, defineEmits } from 'vue';
|
|
30
|
+
import { IconExtension } from '@tencentcloud/uikit-base-component-vue3';
|
|
14
31
|
import IconButton from '../../common/base/IconButton.vue';
|
|
15
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';
|
|
16
39
|
import { roomService } from '../../../services';
|
|
17
|
-
|
|
40
|
+
|
|
18
41
|
const moreControlConfig = roomService.getComponentConfig('MoreControl');
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
42
|
+
const showMoreContent = ref(false);
|
|
43
|
+
const moreContentRef = ref();
|
|
44
|
+
|
|
45
|
+
const { t, sidebarName } = userMoreControl();
|
|
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;
|
|
26
67
|
}
|
|
27
|
-
basicStore.setSidebarOpenStatus(true);
|
|
28
|
-
basicStore.setSidebarName('vote');
|
|
29
|
-
emit('on-vote', {
|
|
30
|
-
name: 'onVote',
|
|
31
|
-
visible:basicStore.isSidebarOpen,
|
|
32
|
-
});
|
|
33
68
|
}
|
|
69
|
+
|
|
70
|
+
onMounted(() => {
|
|
71
|
+
document?.addEventListener('click', handleDocumentClick, true);
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
onUnmounted(() => {
|
|
75
|
+
document?.removeEventListener('click', handleDocumentClick, true);
|
|
76
|
+
});
|
|
34
77
|
</script>
|
|
35
78
|
<style lang="scss" scoped>
|
|
36
|
-
.
|
|
37
|
-
|
|
38
|
-
|
|
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);
|
|
39
121
|
}
|
|
40
122
|
</style>
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
:title="t('Vote')"
|
|
6
6
|
@click-icon="toggleMoreSidebar"
|
|
7
7
|
>
|
|
8
|
-
<
|
|
8
|
+
<IconMore size="24" />
|
|
9
9
|
</icon-button>
|
|
10
10
|
</div>
|
|
11
11
|
</template>
|
|
@@ -14,10 +14,10 @@ import { IconMore } from '@tencentcloud/uikit-base-component-vue3';
|
|
|
14
14
|
import IconButton from '../../common/base/IconButton.vue';
|
|
15
15
|
import userMoreControl from './useMoreControlHooks';
|
|
16
16
|
import { roomService } from '../../../services';
|
|
17
|
-
|
|
17
|
+
|
|
18
18
|
const moreControlConfig = roomService.getComponentConfig('MoreControl');
|
|
19
19
|
const { t, basicStore, sidebarName } = userMoreControl();
|
|
20
|
-
|
|
20
|
+
|
|
21
21
|
function toggleMoreSidebar() {
|
|
22
22
|
if (basicStore.setSidebarOpenStatus && basicStore.sidebarName === 'vote') {
|
|
23
23
|
basicStore.setSidebarOpenStatus(false);
|
|
@@ -26,15 +26,6 @@ function toggleMoreSidebar() {
|
|
|
26
26
|
}
|
|
27
27
|
basicStore.setSidebarOpenStatus(true);
|
|
28
28
|
basicStore.setSidebarName('vote');
|
|
29
|
-
emit('on-vote', {
|
|
30
|
-
name: 'onVote',
|
|
31
|
-
visible:basicStore.isSidebarOpen,
|
|
32
|
-
});
|
|
33
29
|
}
|
|
34
30
|
</script>
|
|
35
|
-
<style lang="scss" scoped>
|
|
36
|
-
.ndsc-img-box{
|
|
37
|
-
width: 24px;
|
|
38
|
-
height: 24px
|
|
39
|
-
}
|
|
40
|
-
</style>
|
|
31
|
+
<style lang="scss" scoped></style>
|
|
@@ -9,7 +9,7 @@ export default function useControl() {
|
|
|
9
9
|
|
|
10
10
|
const basicStore = useBasicStore();
|
|
11
11
|
const { sidebarName } = storeToRefs(basicStore);
|
|
12
|
-
|
|
12
|
+
|
|
13
13
|
const iconName = computed(() =>
|
|
14
14
|
sidebarName.value === 'vote' ? ICON_NAME.MoreActive : ICON_NAME.More
|
|
15
15
|
);
|
|
@@ -19,6 +19,5 @@ export default function useControl() {
|
|
|
19
19
|
basicStore,
|
|
20
20
|
iconName,
|
|
21
21
|
sidebarName,
|
|
22
|
-
isSidebarOpen
|
|
23
22
|
};
|
|
24
23
|
}
|
|
@@ -10,15 +10,6 @@
|
|
|
10
10
|
:display-mode="MediaSettingDisplayMode.Icon"
|
|
11
11
|
v-tap="() => handleControlClick('videoControl')"
|
|
12
12
|
/>
|
|
13
|
-
<voteControl
|
|
14
|
-
class="center-container-item"
|
|
15
|
-
@click="handleControlClick('voteControl')"
|
|
16
|
-
@on-vote="onVote"
|
|
17
|
-
>
|
|
18
|
-
<template #content>
|
|
19
|
-
<slot name="content"></slot>
|
|
20
|
-
</template>
|
|
21
|
-
</voteControl>
|
|
22
13
|
<chat-control
|
|
23
14
|
v-if="!roomStore.isSpeakAfterTakingSeatMode"
|
|
24
15
|
v-tap="() => handleControlClick('chatControl')"
|
|
@@ -56,7 +47,6 @@ import MasterApplyControl from '../ManageStageControl.vue';
|
|
|
56
47
|
import MemberApplyControl from '../ApplyControl/MemberApplyControl.vue';
|
|
57
48
|
import MoreControl from '../MoreControl/index';
|
|
58
49
|
import AIControl from '../AIControl.vue';
|
|
59
|
-
import voteControl from '../VoteControl';
|
|
60
50
|
import bus from '../../../hooks/useMitt';
|
|
61
51
|
import vTap from '../../../directives/vTap';
|
|
62
52
|
|
|
@@ -64,11 +54,8 @@ import useRoomFooter from './useRoomFooterHooks';
|
|
|
64
54
|
|
|
65
55
|
const { roomStore, isMaster, isAdmin, isAudience } = useRoomFooter();
|
|
66
56
|
|
|
67
|
-
const emit = defineEmits(['show-overlay'
|
|
68
|
-
|
|
69
|
-
console.log(data,"data111")
|
|
70
|
-
emit('on-vote', { code: data.visible, message: 'vote' });
|
|
71
|
-
};
|
|
57
|
+
const emit = defineEmits(['show-overlay']);
|
|
58
|
+
|
|
72
59
|
function handleControlClick(name: string) {
|
|
73
60
|
bus.emit('experience-communication', name);
|
|
74
61
|
}
|
|
@@ -5,11 +5,6 @@
|
|
|
5
5
|
<chat v-if="sidebarName === 'chat'" />
|
|
6
6
|
<manage-member v-if="sidebarName === 'manage-member'" />
|
|
7
7
|
<master-apply v-if="sidebarName === 'apply'" />
|
|
8
|
-
<room-vote v-if="sidebarName == 'vote'" >
|
|
9
|
-
<template #content>
|
|
10
|
-
<slot name="content"></slot>
|
|
11
|
-
</template>
|
|
12
|
-
</room-vote>
|
|
13
8
|
</div>
|
|
14
9
|
</template>
|
|
15
10
|
<template #sidebarFooter>
|