yangjie #51

Open
yangqiang wants to merge 34 commits from yangjie into master
2 changed files with 101 additions and 71 deletions
Showing only changes of commit 2faafe8647 - Show all commits

View File

@ -1029,40 +1029,72 @@
} }
.modePopover { .modePopover {
display: flex;
flex-direction: column;
align-items: center;
>div { >div {
width: 140px;
height: 30px;
line-height: 30px;
border-radius: 5px;
margin-bottom: 8px;
cursor: pointer;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center;
>span { >div {
color: #EEEEEE; width: 100px;
padding: 10px 0;
line-height: 30px;
border-radius: 5px;
cursor: pointer;
display: flex;
align-items: center;
flex-direction: column;
justify-content: center;
margin-right: 20px;
>span {
color: #EEEEEE;
}
>img {
height: 30px;
margin-bottom: 4px;
}
} }
>img { >div {
height: 16px; background-color: #101418;
margin-right: 10px;
&:hover {
background-color: lighten(#101418, 4%);
}
&:active {
background-color: darken(#101418, 4%);
}
} }
&:last-child { .active {
margin: 0; background-color: lighten(#101418, 8%);
cursor: not-allowed;
&:hover {
background-color: lighten(#101418, 8%);
}
&:active {
background-color: lighten(#101418, 8%);
}
}
:last-child {
margin-right: 0px;
} }
} }
>div { >span {
background-color: #101418; margin-top: 4px;
color: white;
&:hover { >span {
background-color: lighten(#101418, 4%); margin-left: 4px;
}
&:active {
background-color: darken(#101418, 4%);
} }
} }
} }

View File

@ -2642,34 +2642,28 @@ const Meeting: React.FC = () => {
} }
// 设置模式 // 设置模式
const setSyncView = (mode: string) => { const setSyncView = (mode: string) => {
if (isShare && mode === 'FreedomMode') { if (meetingMode === mode) {
message.error('共享中,无法切换模式') setModeOpen(false)
} else { return message.error(`${getMeetingContentBodyLeftModeText(mode)}已开启,请勿重复操作!`)
confirm({
title: '提示',
icon: <ExclamationCircleFilled />,
content: `是否将当前房间切换为${getMeetingContentBodyLeftModeText(mode)}?`,
centered: true,
okText: '确定',
cancelText: '取消',
async onOk() {
await window.electron.onInvoke('sendOper', {
roomNum: state.channelId,
contentString: JSON.stringify({
mode,
type: 'mode',
msg: true,
})
})
setModeOpen(false)
storage.setItem('meetingMode', mode)
},
onCancel() {
setModeOpen(false)
storage.setItem('meetingMode', mode)
}
})
} }
if (isAdmin > 6 && mode === 'FreedomMode') {
setModeOpen(false)
return message.error('发言人数超过6人,无法使用宫格模式!')
}
if (isShare && mode === 'FreedomMode') {
setModeOpen(false)
return message.error('共享中,无法切换模式')
}
window.electron.onInvoke('sendOper', {
roomNum: state.channelId,
contentString: JSON.stringify({
mode,
type: 'mode',
msg: true,
})
})
setModeOpen(false)
storage.setItem('meetingMode', mode)
} }
// 判断是否出现滚动条 // 判断是否出现滚动条
const hasScrollbar = () => { const hasScrollbar = () => {
@ -2700,6 +2694,9 @@ const Meeting: React.FC = () => {
<> <>
<div className={styles.meeting} onClick={() => { <div className={styles.meeting} onClick={() => {
setContextMenu('') setContextMenu('')
if (modeOpen) {
setModeOpen(false)
}
setIsNetworkQuality(false) setIsNetworkQuality(false)
}}> }}>
{isScreenCapture ? <div className={`${styles.meetingAbsolute}`} id='meetingAbsoluteVideo'> {isScreenCapture ? <div className={`${styles.meetingAbsolute}`} id='meetingAbsoluteVideo'>
@ -2872,29 +2869,30 @@ const Meeting: React.FC = () => {
{role.ID.includes(userInfo.roleId) ? <Popover {role.ID.includes(userInfo.roleId) ? <Popover
content={ content={
<div className='modePopover'> <div className='modePopover'>
<div onClick={() => { <div>
setSyncView('FreedomMode') <div className={meetingMode === 'FreedomMode' ? 'active' : ''} onClick={() => {
}}> setSyncView('FreedomMode')
<img src={ImageUrl.icon57} alt="" /> }}>
<span></span> <img src={ImageUrl.icon57} alt="" />
</div> <span></span>
<div onClick={() => { </div>
setSyncView('StandardMode') <div className={meetingMode === 'StandardMode' ? 'active' : ''} onClick={() => {
}}> setSyncView('StandardMode')
<img src={ImageUrl.icon43} alt="" /> }}>
<span></span> <img src={ImageUrl.icon43} alt="" />
</div> <span></span>
<div onClick={() => { </div>
setSyncView('SpeakerMode') <div className={meetingMode === 'SpeakerMode' ? 'active' : ''} onClick={() => {
}}> setSyncView('SpeakerMode')
<img src={ImageUrl.icon44} alt="" /> }}>
<span></span> <img src={ImageUrl.icon44} alt="" />
</div> <span></span>
<div onClick={() => { </div>
setModeOpen(false)
}}>
<span></span>
</div> </div>
<span>
<ExclamationCircleFilled />
<span></span>
</span>
</div> </div>
} }
title="" title=""