Multiple UI Improvements (#4200)
* Multiple UI Improvements * Adjusting return to call position on mobile
Этот коммит содержится в:
коммит произвёл
Harrison Healey
родитель
d4268cf0d8
Коммит
39eee5e4ec
@@ -206,7 +206,7 @@ export default class EditPostModal extends React.Component {
|
|||||||
tabIndex='-1'
|
tabIndex='-1'
|
||||||
aria-hidden='true'
|
aria-hidden='true'
|
||||||
>
|
>
|
||||||
<div className='modal-dialog modal-push-down'>
|
<div className='modal-dialog modal-push-down modal-xl'>
|
||||||
<div className='modal-content'>
|
<div className='modal-content'>
|
||||||
<div className='modal-header'>
|
<div className='modal-header'>
|
||||||
<button
|
<button
|
||||||
|
|||||||
@@ -97,6 +97,7 @@ export default class WebrtcController extends React.Component {
|
|||||||
isAnswering: false,
|
isAnswering: false,
|
||||||
callInProgress: false,
|
callInProgress: false,
|
||||||
error: null,
|
error: null,
|
||||||
|
errorType: '',
|
||||||
ended: null
|
ended: null
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -155,7 +156,7 @@ export default class WebrtcController extends React.Component {
|
|||||||
|
|
||||||
clearError() {
|
clearError() {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.setState({error: null, ended: null});
|
this.setState({error: null, ended: null, errorType: ''});
|
||||||
}, Constants.WEBRTC_CLEAR_ERROR_DELAY);
|
}, Constants.WEBRTC_CLEAR_ERROR_DELAY);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -296,7 +297,8 @@ export default class WebrtcController extends React.Component {
|
|||||||
id='webrtc.inProgress'
|
id='webrtc.inProgress'
|
||||||
defaultMessage='You have a call in progress. Please hangup first.'
|
defaultMessage='You have a call in progress. Please hangup first.'
|
||||||
/>
|
/>
|
||||||
)
|
),
|
||||||
|
errorType: ' warning'
|
||||||
});
|
});
|
||||||
this.clearError();
|
this.clearError();
|
||||||
break;
|
break;
|
||||||
@@ -381,7 +383,8 @@ export default class WebrtcController extends React.Component {
|
|||||||
id='webrtc.inProgress'
|
id='webrtc.inProgress'
|
||||||
defaultMessage='You have a call in progress. Please hangup first.'
|
defaultMessage='You have a call in progress. Please hangup first.'
|
||||||
/>
|
/>
|
||||||
)
|
),
|
||||||
|
errorType: ' warning'
|
||||||
});
|
});
|
||||||
} else if (this.state.isCalling) {
|
} else if (this.state.isCalling) {
|
||||||
this.handleCancelOffer();
|
this.handleCancelOffer();
|
||||||
@@ -1054,6 +1057,7 @@ export default class WebrtcController extends React.Component {
|
|||||||
let localImage;
|
let localImage;
|
||||||
let localVideoHidden;
|
let localVideoHidden;
|
||||||
let remoteVideoHidden = 'hidden';
|
let remoteVideoHidden = 'hidden';
|
||||||
|
let remoteVideoHiddenLocal = 'full';
|
||||||
let error;
|
let error;
|
||||||
let remoteMute;
|
let remoteMute;
|
||||||
let videoClass = '';
|
let videoClass = '';
|
||||||
@@ -1064,7 +1068,7 @@ export default class WebrtcController extends React.Component {
|
|||||||
error = (
|
error = (
|
||||||
<div className='webrtc__error'>
|
<div className='webrtc__error'>
|
||||||
<div className='form-group has-error'>
|
<div className='form-group has-error'>
|
||||||
<label className='control-label'>{this.state.error}</label>
|
<label className={'control-label' + this.state.errorType}>{this.state.error}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
@@ -1144,9 +1148,11 @@ export default class WebrtcController extends React.Component {
|
|||||||
|
|
||||||
if (this.state.isRemotePaused) {
|
if (this.state.isRemotePaused) {
|
||||||
remoteVideoHidden = 'hidden';
|
remoteVideoHidden = 'hidden';
|
||||||
|
remoteVideoHiddenLocal = 'full';
|
||||||
remoteImageHidden = 'webrtc__remote-image';
|
remoteImageHidden = 'webrtc__remote-image';
|
||||||
} else {
|
} else {
|
||||||
remoteVideoHidden = '';
|
remoteVideoHidden = '';
|
||||||
|
remoteVideoHiddenLocal = '';
|
||||||
remoteImageHidden = 'webrtc__remote-image hidden';
|
remoteImageHidden = 'webrtc__remote-image hidden';
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -1180,7 +1186,7 @@ export default class WebrtcController extends React.Component {
|
|||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
id='local-video'
|
id='local-video'
|
||||||
className={localVideoHidden}
|
className={localVideoHidden + ' ' + remoteVideoHiddenLocal}
|
||||||
>
|
>
|
||||||
<video
|
<video
|
||||||
ref='local-video'
|
ref='local-video'
|
||||||
|
|||||||
@@ -124,10 +124,14 @@
|
|||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
max-width: 95%;
|
max-width: 95%;
|
||||||
|
|
||||||
|
&.modal-xl {
|
||||||
|
width: 800px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-push-down {
|
.modal-push-down {
|
||||||
margin-top: 5%;
|
margin-top: 60px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-next-bar {
|
.modal-next-bar {
|
||||||
|
|||||||
@@ -56,7 +56,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
> span {
|
> span {
|
||||||
@include opacity(.7);
|
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
font-size: .9em;
|
font-size: .9em;
|
||||||
padding: 0 10px 0 5px;
|
padding: 0 10px 0 5px;
|
||||||
|
|||||||
@@ -20,12 +20,18 @@
|
|||||||
.webrtc__notification--rhs {
|
.webrtc__notification--rhs {
|
||||||
background: $button--ready;
|
background: $button--ready;
|
||||||
border-radius: 3px 0 0 3px;
|
border-radius: 3px 0 0 3px;
|
||||||
bottom: -5px;
|
|
||||||
color: $white;
|
color: $white;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
left: 50%;
|
||||||
|
margin-left: -150px;
|
||||||
|
overflow: hidden;
|
||||||
padding: 10px 15px;
|
padding: 10px 15px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 0;
|
text-align: center;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
top: 0;
|
||||||
|
white-space: nowrap;
|
||||||
|
width: 300px;
|
||||||
z-index: 9999;
|
z-index: 9999;
|
||||||
|
|
||||||
&:empty {
|
&:empty {
|
||||||
@@ -41,6 +47,14 @@
|
|||||||
padding: 0 20px;
|
padding: 0 20px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
|
.sidebar--right--expanded & {
|
||||||
|
bottom: 80px;
|
||||||
|
padding: 0 20px;
|
||||||
|
position: absolute;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
.form-group {
|
.form-group {
|
||||||
padding: 0 20px;
|
padding: 0 20px;
|
||||||
position: relative;
|
position: relative;
|
||||||
@@ -55,7 +69,6 @@
|
|||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
margin: 1em 0 -1em;
|
margin: 1em 0 -1em;
|
||||||
padding: .7em 1em;
|
padding: .7em 1em;
|
||||||
width: 100%;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.has-error {
|
.has-error {
|
||||||
@@ -63,6 +76,14 @@
|
|||||||
color: #a94442;
|
color: #a94442;
|
||||||
font-size: .95em;
|
font-size: .95em;
|
||||||
|
|
||||||
|
&.warning {
|
||||||
|
color: #444;
|
||||||
|
|
||||||
|
&:before {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
&:before {
|
&:before {
|
||||||
-moz-osx-font-smoothing: grayscale;
|
-moz-osx-font-smoothing: grayscale;
|
||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
@@ -81,6 +102,7 @@
|
|||||||
#videos {
|
#videos {
|
||||||
background: $black;
|
background: $black;
|
||||||
font-size: 0;
|
font-size: 0;
|
||||||
|
height: 300px;
|
||||||
left: 0;
|
left: 0;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
position: relative;
|
position: relative;
|
||||||
@@ -89,6 +111,10 @@
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
#main-video video {
|
#main-video video {
|
||||||
|
height: 100%;
|
||||||
|
left: 0;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -102,6 +128,16 @@
|
|||||||
transition: opacity 1s;
|
transition: opacity 1s;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
|
|
||||||
|
&.full {
|
||||||
|
background: $black;
|
||||||
|
border: none;
|
||||||
|
height: 80%;
|
||||||
|
max-width: 100% !important;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
video {
|
video {
|
||||||
-moz-transform: scale(-1, 1);
|
-moz-transform: scale(-1, 1);
|
||||||
-ms-transform: scale(-1, 1);
|
-ms-transform: scale(-1, 1);
|
||||||
|
|||||||
@@ -1,6 +1,13 @@
|
|||||||
@charset 'UTF-8';
|
@charset 'UTF-8';
|
||||||
|
|
||||||
@media screen and (max-width: 768px) {
|
@media screen and (max-width: 768px) {
|
||||||
|
.webrtc__notification--rhs {
|
||||||
|
left: auto;
|
||||||
|
right: 0;
|
||||||
|
top: 47px;
|
||||||
|
width: 205px;
|
||||||
|
}
|
||||||
|
|
||||||
.filtered-user-list {
|
.filtered-user-list {
|
||||||
max-height: 65vh !important;
|
max-height: 65vh !important;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -585,7 +585,7 @@ export function applyTheme(theme) {
|
|||||||
changeCss('.app__body .channel-header #member_popover', 'color:' + changeOpacity(theme.centerChannelColor, 0.8), 1);
|
changeCss('.app__body .channel-header #member_popover', 'color:' + changeOpacity(theme.centerChannelColor, 0.8), 1);
|
||||||
changeCss('.app__body .custom-textarea, .app__body .custom-textarea:focus, .app__body .file-preview, .app__body .post-image__details, .app__body .sidebar--right .sidebar-right__body, .app__body .markdown__table th, .app__body .markdown__table td, .app__body .suggestion-list__content, .app__body .modal .modal-content, .app__body .modal .settings-modal .settings-table .settings-content .divider-light, .app__body .webhooks__container, .app__body .dropdown-menu, .app__body .modal .modal-header, .app__body .popover', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2), 1);
|
changeCss('.app__body .custom-textarea, .app__body .custom-textarea:focus, .app__body .file-preview, .app__body .post-image__details, .app__body .sidebar--right .sidebar-right__body, .app__body .markdown__table th, .app__body .markdown__table td, .app__body .suggestion-list__content, .app__body .modal .modal-content, .app__body .modal .settings-modal .settings-table .settings-content .divider-light, .app__body .webhooks__container, .app__body .dropdown-menu, .app__body .modal .modal-header, .app__body .popover', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2), 1);
|
||||||
changeCss('.app__body .popover.bottom>.arrow', 'border-bottom-color:' + changeOpacity(theme.centerChannelColor, 0.25), 1);
|
changeCss('.app__body .popover.bottom>.arrow', 'border-bottom-color:' + changeOpacity(theme.centerChannelColor, 0.25), 1);
|
||||||
changeCss('.app__body .search-help-popover .search-autocomplete__divider span', 'color:' + changeOpacity(theme.centerChannelColor, 0.7), 1);
|
changeCss('.app__body .search-help-popover .search-autocomplete__divider span, .app__body .suggestion-list__divider > span', 'color:' + changeOpacity(theme.centerChannelColor, 0.7), 1);
|
||||||
changeCss('.app__body .popover.right>.arrow', 'border-right-color:' + changeOpacity(theme.centerChannelColor, 0.25), 1);
|
changeCss('.app__body .popover.right>.arrow', 'border-right-color:' + changeOpacity(theme.centerChannelColor, 0.25), 1);
|
||||||
changeCss('.app__body .popover.left>.arrow', 'border-left-color:' + changeOpacity(theme.centerChannelColor, 0.25), 1);
|
changeCss('.app__body .popover.left>.arrow', 'border-left-color:' + changeOpacity(theme.centerChannelColor, 0.25), 1);
|
||||||
changeCss('.app__body .popover.top>.arrow', 'border-top-color:' + changeOpacity(theme.centerChannelColor, 0.25), 1);
|
changeCss('.app__body .popover.top>.arrow', 'border-top-color:' + changeOpacity(theme.centerChannelColor, 0.25), 1);
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user