WGShare.Client.Electron/src/page/Meeting/index.module.scss

730 lines
15 KiB
SCSS

@mixin meetingContent () {
.meetingContentUser {
position: absolute;
left: 20px;
bottom: 16px;
display: flex;
align-items: center;
z-index: 2;
.meetingContentUserRole {
background: #FDC229;
border-radius: 6px;
width: 34px;
height: 24px;
display: flex;
justify-content: center;
align-items: center;
margin-right: 6px;
>img {
width: 14px;
}
}
.meetingContentUserName {
display: flex;
align-items: center;
background-color: #0000009E;
border-radius: 6px;
height: 24px;
padding: 0 4px;
box-sizing: border-box;
>img {
width: 18px;
}
>span {
font-size: 16px;
color: #EEEEEE;
margin-left: 4px;
}
}
}
.meetingContentError {
position: absolute;
justify-content: center;
display: flex;
align-items: center;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
width: calc(100% - 20px);
height: calc(100% - 20px);
z-index: 1;
background-color: black;
cursor: pointer;
>div {
transform: scale(2);
}
}
}
.meeting {
width: 100%;
height: 100%;
background-color: rgba(16, 19, 23);
display: flex;
flex-direction: column;
.meetingHeader {
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid #2C2C2C;
padding: 4px 0 4px 52px;
box-sizing: border-box;
flex-shrink: 0;
>div:nth-child(1) {
display: flex;
align-items: center;
>div:nth-child(1) {
margin-right: 20px;
display: flex;
}
>div:nth-child(2) {
font-size: 16px;
color: #EEEEEE;
}
}
>div:nth-child(2) {
color: #EEEEEE;
font-size: 16px;
}
>div:nth-child(3) {
display: flex;
align-items: center;
.meetingGrayButton {
cursor: pointer;
background-color: #31353A;
color: #EEEEEE;
width: 140px;
height: 36px;
line-height: 36px;
text-align: center;
border-radius: 5px;
margin-right: 20px;
font-size: 16px;
&:hover {
background-color: lighten(#31353A, 4%);
}
&:active {
background-color: darken(#31353A, 4%);
}
}
>div:nth-child(2) {
margin: -10px 0 0;
}
}
}
.meetingContent {
flex-grow: 1;
display: flex;
flex-direction: column;
.meetingContentBody {
flex-grow: 1;
height: 0;
display: flex;
align-items: flex-start;
.meetingContentBodyLeft {
width: 0px;
flex-grow: 1;
height: 100%;
box-sizing: border-box;
position: relative;
// 自由者模式
.meetingContentBodyLeftFreedomMode {
width: 100%;
height: 100%;
display: flex;
flex-wrap: wrap;
overflow-y: auto;
}
// 标准模式
.meetingContentBodyLeftStandardMode {
display: flex;
overflow-x: auto;
}
// 演讲者模式
.meetingContentBodyLeftSpeakerMode {
width: 18%;
overflow-y: auto;
height: 100%;
.meetingContentSwiperCard {
width: 100%;
}
}
// 单画面模式
.meetingContentBodyLeftSingleScreenMode {
width: 100%;
height: 100%;
display: flex;
flex-wrap: wrap;
overflow-y: auto;
.meetingContentSwiperCard {
width: 100% !important;
height: 100% !important;
}
}
// 二分屏模式
.meetingContentBodyLeftDualScreenMode {
width: 100%;
height: 100%;
display: flex;
flex-wrap: wrap;
overflow-y: auto;
.meetingContentSwiperCard {
width: 50% !important;
height: 100% !important;
}
}
// 四分屏模式
.meetingContentBodyLeftFourScreenMode {
width: 100%;
height: 100%;
display: flex;
flex-wrap: wrap;
overflow-y: auto;
.meetingContentSwiperCard {
width: 50% !important;
height: 50% !important;
}
}
// 标准模式视频
.meetingContentSwiperCardStandardMode {
position: absolute !important;
bottom: 0;
left: 0;
height: calc(100% - 160px) !important;
width: 100% !important;
}
// 演讲者模式视频
.meetingContentSwiperCardSpeakerMode {
position: absolute !important;
right: 0;
bottom: 0;
height: 100% !important;
width: calc(100% - 18%) !important;
}
.meetingContentSwiperCard {
height: 160px;
width: calc(100% / 4);
border-radius: 10px;
overflow: hidden;
position: relative;
flex-shrink: 0;
padding: 10px;
box-sizing: border-box;
.active {
border: 1px solid rgb(106, 106, 106);
box-sizing: border-box;
}
.meetingContentSwiperCardVdeio {
width: 100%;
height: 100%;
cursor: pointer;
background: black;
position: relative;
.meetingContentSwiperCardVdeioLoading {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%) scale(2);
}
}
}
@include meetingContent()
}
.meetingContentBodyRight {
width: 300px;
flex-shrink: 0;
height: 100%;
.meetingUserList {
height: 100%;
padding: 10px 0 20px;
box-sizing: border-box;
background-color: #16191E;
display: flex;
flex-direction: column;
.meetingUserListTitle {
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 10px;
padding: 0 20px;
box-sizing: border-box;
>span {
color: #EEEEEE;
font-size: 18px;
}
>img {
cursor: pointer;
}
}
.meetingUserListContent {
flex-grow: 1;
height: 0px;
overflow-y: auto;
margin: 20px 0;
>div {
display: flex;
align-items: center;
justify-content: space-between;
position: relative;
padding: 10px 20px;
box-sizing: border-box;
cursor: pointer;
>div:nth-child(1) {
display: flex;
align-items: center;
>span {
font-size: 14px;
color: #F3F3F5;
margin-left: 4px;
}
>div {
flex-shrink: 0;
}
}
>div:nth-child(2) {
display: flex;
align-items: center;
>img {
width: 20px;
margin-left: 4px;
}
}
>div:nth-child(3) {
position: absolute;
top: 50px;
left: 50%;
transform: translate(-50%, 0);
width: 160px;
z-index: 1;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
display: none;
background-color: rgb(16, 19, 23);
padding: 20px 0;
>div {
margin: 0 auto;
}
&::after {
content: "";
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
border-width: 0 10px 10px;
border-style: solid;
border-color: transparent transparent #333;
}
}
&:hover {
background-color: rgb(52, 52, 52);
>div:nth-child(3) {
display: flex;
}
}
}
}
.meetingUserListFooter {
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 20px;
box-sizing: border-box;
>div {
font-size: 14px;
cursor: pointer;
background-color: #31353A;
color: #EEEEEE;
width: 104px;
height: 30px;
line-height: 30px;
text-align: center;
border-radius: 5px;
&:hover {
background-color: lighten(#31353A, 4%);
}
&:active {
background-color: darken(#31353A, 4%);
}
}
}
}
.meetingUserChat {
height: 100%;
background-color: #16191E;
display: flex;
flex-direction: column;
.meetingUserChatTitle {
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px 20px;
box-sizing: border-box;
border-bottom: 1px solid #23272E;
>span {
color: #EEEEEE;
font-size: 18px;
}
>img {
cursor: pointer;
}
}
.meetingUserChatContent {
flex-grow: 1;
height: 0px;
overflow-y: auto;
padding: 20px;
box-sizing: border-box;
border-bottom: 1px solid #23272E;
.meetingUserChatContentLeft {
display: flex;
flex-direction: column;
align-items: flex-start;
>div:nth-child(1) {
display: flex;
align-items: center;
>span {
font-size: 14px;
color: #F3F3F5;
margin-left: 4px;
}
>div {}
}
>div:nth-child(2) {
background-color: #5575F2;
color: #F3F3F5;
max-width: 266px;
padding: 10px;
box-sizing: border-box;
border-radius: 0 25px 25px 25px;
margin: 10px 0 10px 40px;
font-size: 14px;
}
}
.meetingUserChatContentRight {
display: flex;
flex-direction: column;
align-items: flex-end;
>div:nth-child(1) {
display: flex;
align-items: center;
flex-direction: row-reverse;
>span {
font-size: 14px;
color: #F3F3F5;
}
>div {
margin-left: 4px;
}
}
>div:nth-child(2) {
background-color: #464E6B;
color: #F3F3F5;
max-width: 266px;
padding: 10px;
box-sizing: border-box;
border-radius: 25px 0 25px 25px;
margin: 10px 40px 10px 0;
font-size: 14px;
}
}
}
.meetingUserChatInput {
flex-shrink: 0;
padding: 10px 20px;
box-sizing: border-box;
height: 160px;
display: flex;
flex-direction: column;
align-items: flex-end;
}
}
}
}
.meetingContentFooter {
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: space-between;
background-color: #07090B;
padding: 10px 50px;
box-sizing: border-box;
>div {
display: flex;
align-items: center;
>div {
display: flex;
flex-direction: column;
align-items: center;
margin-right: 30px;
cursor: pointer;
&:last-child {
margin: 0;
}
>img {
height: 30px;
}
>span {
color: #EEEEEE;
font-size: 14px;
}
&:hover {
>span {
color: #4096ff;
}
}
&:active {
>span {
color: darken(#4096ff, 10%) !important;
;
}
}
}
}
}
}
}
:global {
.meetingContentFooterPopover {
>div {
width: 140px;
height: 30px;
line-height: 30px;
border-radius: 5px;
color: #EEEEEE;
text-align: center;
margin-bottom: 8px;
cursor: pointer;
&:last-child {
margin: 0;
}
}
>div:nth-child(1) {
background-color: #FF5219;
&:hover {
background-color: lighten(#FF5219, 4%);
}
&:active {
background-color: darken(#FF5219, 4%);
}
}
>div:nth-child(2) {
background-color: #31353A;
&:hover {
background-color: lighten(#31353A, 4%);
}
&:active {
background-color: darken(#31353A, 4%);
}
}
>div:nth-child(3) {
background-color: #101418;
&:hover {
background-color: lighten(#101418, 4%);
}
&:active {
background-color: darken(#101418, 4%);
}
}
}
}
// 共享屏幕
.sharedScreenModal {
display: flex;
flex-direction: column;
>div:nth-child(1) {
display: flex;
flex-wrap: wrap;
align-content: flex-start;
padding: 50px 0 0;
max-height: 40vh;
overflow-y: auto;
>div {
display: flex;
flex-direction: column;
align-items: center;
width: calc(100% / 4);
box-sizing: border-box;
margin-bottom: 20px;
cursor: pointer;
position: relative;
>span {
color: #EEEEEE;
font-size: 14px;
margin-top: 4px;
width: 144px;
text-align: center;
}
>div {
width: 144px;
height: 94px;
box-sizing: border-box;
>img {
width: 100%;
height: 100%;
}
}
>img {
position: absolute;
top: -20px;
left: 0;
width: 40px;
}
&:hover {
>div {
border: 1px solid #EBEBEB;
}
}
}
.active {
>div {
border: 1px solid #EBEBEB;
}
}
}
>div:nth-child(2) {
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: space-between;
margin-top: 20px;
}
}
// 共享文件
.sharedFilesModel {
>div:nth-child(1) {
display: flex;
align-items: center;
justify-content: space-between;
>span {
color: #EEEEEE;
font-size: 16px;
}
>div {
display: flex;
align-items: center;
>span {
margin-right: 20px;
cursor: pointer;
font-size: 16px;
}
}
}
>div:nth-child(2) {
margin: 20px 0;
}
}