2018-11-26 15:00:40 +03:00
|
|
|
#talkChatTabView .call-button {
|
|
|
|
text-align: center;
|
|
|
|
margin-bottom: 10px;
|
2018-12-11 13:23:07 +03:00
|
|
|
|
|
|
|
button {
|
|
|
|
padding-left: 26px;
|
|
|
|
padding-right: 26px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.icon-loading-small {
|
|
|
|
/* Prevent the text from being moved when the icon is shown. */
|
|
|
|
position: absolute;
|
|
|
|
|
|
|
|
margin-left: 5px;
|
|
|
|
margin-top: 1px;
|
|
|
|
|
|
|
|
/* Unset the background image set by the server for loading icons inside
|
|
|
|
* buttons, as in this case the pure CSS icon can be used instead of the
|
|
|
|
* image. */
|
|
|
|
background-image: unset;
|
|
|
|
|
|
|
|
&.hidden {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
}
|
2018-11-06 15:57:52 +03:00
|
|
|
}
|
|
|
|
|
2018-12-06 17:43:11 +03:00
|
|
|
#talkChatTabView .file-not-shared button {
|
|
|
|
margin-top: 15px;
|
|
|
|
}
|
2018-11-06 15:57:52 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.talkCallInfoView #call-container-wrapper {
|
|
|
|
/* Overlap the padding from the sidebar itself to maximize the area of the
|
|
|
|
* video as much as possible */
|
|
|
|
margin-left: -15px;
|
|
|
|
margin-right: -15px;
|
|
|
|
margin-top: -15px;
|
|
|
|
}
|
|
|
|
|
2018-12-06 13:14:30 +03:00
|
|
|
.talkCallInfoView #call-container-wrapper #emptycontent-icon {
|
|
|
|
width: 128px;
|
|
|
|
margin: 0 auto;
|
|
|
|
padding-bottom: 20px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.talkCallInfoView #call-container-wrapper #call-container.incall ~ #emptycontent {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
|
2018-11-06 15:57:52 +03:00
|
|
|
.talkCallInfoView #call-container-wrapper #call-container:not(.incall) {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
.talkCallInfoView #call-container-wrapper #call-container {
|
|
|
|
position: relative;
|
|
|
|
|
|
|
|
/* Show the call container in a 16/9 proportion based on the sidebar
|
|
|
|
* width. This is the same proportion used for previews of images by the
|
|
|
|
* SidebarPreviewManager. */
|
|
|
|
padding-bottom: 56.25%;
|
|
|
|
max-height: 56.25%;
|
|
|
|
|
|
|
|
/* Ensure that the background will be black also in voice only calls. */
|
|
|
|
background-color: #000;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Video in Talk sidebar */
|
|
|
|
.talkCallInfoView #call-container-wrapper #videos {
|
|
|
|
position: absolute;
|
|
|
|
|
|
|
|
flex-grow: 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
.talkCallInfoView #call-container-wrapper .videoContainer {
|
|
|
|
/* The video container has some small padding to prevent the video from
|
|
|
|
* reaching the edges, but it also uses "width: 100%", so the padding should
|
|
|
|
* be included in the full width of the element. */
|
|
|
|
box-sizing: border-box;
|
|
|
|
}
|
|
|
|
|
|
|
|
.talkCallInfoView #call-container-wrapper .videoContainer.promoted video {
|
|
|
|
/* Base the size of the video on its width instead of on its height;
|
|
|
|
* otherwise the video could appear in full height but cropped on the sides
|
|
|
|
* due to the space available in the sidebar being typically larger in
|
|
|
|
* vertical than in horizontal. */
|
|
|
|
width: 100%;
|
|
|
|
height: auto;
|
|
|
|
}
|
|
|
|
|
|
|
|
.talkCallInfoView #call-container-wrapper .nameIndicator {
|
|
|
|
/* The name indicator has some small padding to prevent the name from
|
|
|
|
* reaching the edges, but it also uses "width: 100%", so the padding should
|
|
|
|
* be included in the full width of the element. */
|
|
|
|
box-sizing: border-box;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Screensharing in Talk sidebar */
|
|
|
|
.talkCallInfoView #call-container-wrapper #screens {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.talkCallInfoView #videos .videoContainer:not(.promoted) video {
|
|
|
|
/* Make the unpromoted videos smaller to not overlap too much the promoted
|
|
|
|
* video */
|
|
|
|
max-height: 100px;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* The avatars are requested with a size of 128px, so reduce it to not overlap
|
|
|
|
* too much the promoted video */
|
|
|
|
.talkCallInfoView #videos .videoContainer:not(.promoted) .avatar,
|
|
|
|
.talkCallInfoView #videos .videoContainer:not(.promoted) .avatar img {
|
|
|
|
width: 64px !important;
|
|
|
|
height: 64px !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-11-22 17:22:34 +03:00
|
|
|
.talkCallInfoView .participants-1 .videoView,
|
|
|
|
.talkCallInfoView .participants-2 .videoView {
|
|
|
|
/* Do not force the width to 200px, as otherwise the video is too tall and
|
|
|
|
* overlaps too much with the promoted video. */
|
|
|
|
min-width: initial;
|
|
|
|
/* z-index of 10 would put the video on top of the close button. */
|
|
|
|
z-index: 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-11-06 15:57:52 +03:00
|
|
|
.talkCallInfoView .nameIndicator {
|
|
|
|
/* Reduce padding to bring the name closer to the bottom */
|
|
|
|
padding: 3px;
|
|
|
|
/* Use default font size, as it takes too much space otherwise */
|
|
|
|
font-size: initial;
|
|
|
|
}
|
|
|
|
|
|
|
|
.talkCallInfoView .participants-2 .videoContainer.promoted + .videoContainer-dummy .nameIndicator {
|
|
|
|
/* Reduce padding to bring the name closer to the bottom */
|
|
|
|
padding: 3px 35%;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.talkCallInfoView .mediaIndicator {
|
|
|
|
/* Move the media indicator closer to the bottom */
|
|
|
|
bottom: 16px;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Helper class to hide other info views during a call; this makes possible to
|
|
|
|
* restore their previous visibility once the call stops without having to keep
|
|
|
|
* track of their previous visibility. */
|
|
|
|
#app-sidebar .hidden-by-call {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
|
2019-02-01 15:47:20 +03:00
|
|
|
/* Force the white icon during calls, independent from white/dark mode
|
|
|
|
* selection, because it is shown on the black calling screen. */
|
|
|
|
#app-sidebar .icon-close.force-icon-white-in-call.icon-shadow {
|
|
|
|
background-image: url(icon-color-path('close', 'actions', 'fff', 1, true));
|
|
|
|
filter: drop-shadow(1px 1px 4px var(--color-box-shadow));
|
|
|
|
}
|
|
|
|
|
2018-11-06 15:57:52 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-11-22 16:00:02 +03:00
|
|
|
/**
|
|
|
|
* Cascade parent element height to the chat view in the sidebar to limit the
|
|
|
|
* vertical scroll bar only to the list of messages. Otherwise, the vertical
|
|
|
|
* scroll bar would be shown for the whole sidebar and everything would be
|
|
|
|
* moved when scrolling to see overflown messages.
|
|
|
|
*
|
|
|
|
* The list of messages should stretch to fill the available space at the bottom
|
|
|
|
* of the right sidebar, so the height is cascaded using flex boxes.
|
|
|
|
*
|
|
|
|
* It is horrible, I know (but better than using JavaScript ;-) ). Please
|
|
|
|
* improve it if you know how :-)
|
|
|
|
*/
|
|
|
|
#app-sidebar {
|
|
|
|
/* Override "display: block" set inline by jQuery. */
|
|
|
|
display: flex !important;
|
|
|
|
flex-direction: column;
|
|
|
|
}
|
|
|
|
|
|
|
|
#app-sidebar.disappear {
|
|
|
|
/* Override "display: flex !important" when the sidebar has to be hidden. */
|
|
|
|
display: none !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
#app-sidebar .detailFileInfoContainer {
|
2018-11-06 15:57:52 +03:00
|
|
|
display: flex;
|
|
|
|
flex-direction: column;
|
|
|
|
|
2018-11-22 16:00:02 +03:00
|
|
|
flex-shrink: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
#app-sidebar .tabsContainer {
|
|
|
|
display: flex;
|
|
|
|
flex-direction: column;
|
|
|
|
|
|
|
|
flex-grow: 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
#app-sidebar .tab {
|
|
|
|
display: flex;
|
|
|
|
flex-direction: column;
|
|
|
|
|
|
|
|
flex-grow: 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
#app-sidebar .tabsContainer.with-inner-scroll-bars,
|
|
|
|
#app-sidebar .tabsContainer.with-inner-scroll-bars .tab {
|
|
|
|
overflow: hidden;
|
|
|
|
}
|
|
|
|
|
2018-11-06 15:57:52 +03:00
|
|
|
/* Force a minimum height to ensure that the chat view will be at least 300px
|
|
|
|
* height, even if the info view is large and the screen short; in that case a
|
|
|
|
* scroll bar will be shown for the sidebar, but even if that looks really bad
|
|
|
|
* it is better than an unusable chat view. */
|
|
|
|
#app-sidebar .tabsContainer.force-minimum-height {
|
|
|
|
min-height: 300px;
|
|
|
|
}
|
|
|
|
|
2018-11-22 16:00:02 +03:00
|
|
|
#app-sidebar .tab.hidden {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
#app-sidebar #chatView {
|
|
|
|
display: flex;
|
|
|
|
flex-direction: column;
|
|
|
|
overflow: hidden;
|
|
|
|
|
|
|
|
flex-grow: 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
#app-sidebar #chatView .comments {
|
|
|
|
overflow-y: auto;
|
|
|
|
|
|
|
|
/* Needed for proper calculation of comment positions in the scrolling
|
|
|
|
container (as otherwise the comment position is calculated with respect
|
|
|
|
to the closest ancestor with a relative position) */
|
|
|
|
position: relative;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Place the scroll bar of the message list on the right edge of the sidebar,
|
|
|
|
* but keeping the padding of the tab view.
|
|
|
|
*
|
|
|
|
* The padding must be set on the left too to ensure that the contacts menu
|
|
|
|
* shown when clicking on an author name does not overflow the tab (as it would
|
|
|
|
* be hidden).
|
|
|
|
*
|
|
|
|
* The bottom padding is removed to extend the chat view to the bottom edge of
|
|
|
|
* the sidebar.
|
|
|
|
*/
|
|
|
|
#app-sidebar .tab-chat {
|
|
|
|
padding-left: 0;
|
|
|
|
padding-right: 0;
|
|
|
|
padding-bottom: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Hack needed to overcome the padding of the tab container and move the scroll
|
|
|
|
* bar of the messages list to the right border of the sidebar. */
|
|
|
|
#app-sidebar .tabsContainer.with-inner-scroll-bars .tab {
|
|
|
|
padding-right: 0px;
|
|
|
|
}
|
|
|
|
|
2018-12-12 17:06:28 +03:00
|
|
|
#app-sidebar .tabsContainer .tab .ui-not-ready-placeholder {
|
|
|
|
/* Make the placeholder take the full tab height until the UI is ready. */
|
2018-11-22 16:00:02 +03:00
|
|
|
flex-grow: 1;
|
|
|
|
}
|
|
|
|
|
2018-12-12 17:08:02 +03:00
|
|
|
/* Hide other UI elements when there is a "UI not ready" placeholder. */
|
|
|
|
#app-sidebar .tabsContainer .tab .ui-not-ready-placeholder ~ div,
|
|
|
|
/* #chatView needs to be set explicitly to override the display property of
|
|
|
|
* "#app-sidebar #chatView". */
|
|
|
|
#app-sidebar .tabsContainer .tab .ui-not-ready-placeholder ~ #chatView {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
|
2018-11-22 16:00:02 +03:00
|
|
|
#app-sidebar #chatView .comments {
|
|
|
|
padding-right: 15px;
|
|
|
|
}
|
|
|
|
|
|
|
|
#app-sidebar #chatView .comments .wrapper-background,
|
|
|
|
#app-sidebar #chatView .comments .wrapper {
|
|
|
|
/* Padding is not respected in the comment wrapper due to its absolute
|
|
|
|
* positioning, so it must be set through its position. */
|
|
|
|
right: 15px;
|
|
|
|
}
|
|
|
|
|
|
|
|
#app-sidebar #chatView .newCommentRow {
|
|
|
|
/* The details view in the Files app has a bottom padding of 15px, so the
|
|
|
|
* general bottom margin used for comments should be reduced for the new
|
|
|
|
* comment form. */
|
|
|
|
margin-bottom: 5px;
|
|
|
|
}
|
|
|
|
|
|
|
|
#app-sidebar #chatView .newCommentForm {
|
|
|
|
/* Make room to show the "Add" button when chat is shown in the sidebar. */
|
|
|
|
margin-right: 44px;
|
|
|
|
}
|