signal-desktop/stylesheets/components/CallControls.scss

184 lines
3.8 KiB
SCSS
Raw Normal View History

2023-10-25 13:40:22 +00:00
// Copyright 2023 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
.CallControls {
position: relative;
2023-10-25 13:40:22 +00:00
bottom: 0;
display: flex;
flex-grow: 1;
2023-10-25 13:40:22 +00:00
flex-shrink: 0;
flex-basis: $CallControls__initial-width;
2023-10-25 13:40:22 +00:00
align-items: center;
justify-content: space-between;
max-width: $CallControls__max-width;
2023-11-16 19:55:35 +00:00
height: $CallControls__height;
2023-10-25 13:40:22 +00:00
background-color: $color-gray-78;
2023-10-30 20:31:54 +00:00
box-shadow: 0px 4px 14px 0px $color-black-alpha-40;
2023-10-25 13:40:22 +00:00
border-radius: 18px;
margin-block-end: 16px;
margin-inline: 16px;
2023-10-25 13:40:22 +00:00
padding-block: 22px;
padding-inline: 24px;
text-align: center;
}
.CallControls__InfoDisplay {
display: flex;
flex-direction: column;
flex: 1;
text-align: start;
}
.CallControls__CallTitle {
display: flex;
max-height: 40px;
margin-block-end: 2px;
2023-10-25 13:40:22 +00:00
color: $color-gray-15;
font-size: 14px;
font-weight: bold;
line-height: 20px;
overflow: hidden;
}
.CallControls__Status {
display: flex;
min-height: 18px;
max-height: 36px;
color: $color-gray-20;
font-size: 13px;
line-height: 18px;
overflow: hidden;
@include keyboard-mode {
&:focus-within {
outline: 2px solid $color-ultramarine;
outline-offset: 2px;
}
}
}
.CallControls__Status--ParticipantCount {
@include button-reset;
display: flex;
flex-basis: 100%;
align-items: center;
&::after {
content: '';
display: flex;
width: 14px;
height: 14px;
margin-inline-start: 1px;
@include color-svg(
'../images/icons/v3/chevron/chevron-right.svg',
$color-gray-20
);
}
}
.CallControls__ButtonContainer {
display: flex;
}
.CallControls__JoinLeaveButtonContainer {
display: flex;
flex: 1;
justify-content: end;
}
.CallControls__JoinLeaveButton {
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 12px;
line-height: 17px;
padding-block: 7px;
padding-inline: 16px;
border-radius: 40px;
@include keyboard-mode {
&:focus {
box-shadow: 0 0 0 1px $color-gray-80, 0 0 0 3px $color-ultramarine !important;
}
}
}
.CallControls__JoinLeaveButton--hangup {
background-color: $color-accent-red;
}
.CallControls__JoinLeaveButton .module-spinner__container {
margin-block: -5px;
}
2023-12-06 21:52:29 +00:00
.CallControls__MoreOptionsButtonContainer--menu-shown .module-tooltip {
opacity: 0;
}
.CallControls__OuterSpacer {
// Defined in _modules but duplicated here for ease of refactor
$local-preview-width: 108px;
flex-basis: calc($local-preview-width + 16px);
}
2023-11-16 19:55:35 +00:00
.CallControls__MoreOptionsContainer {
position: absolute;
inset-inline-start: min(48%, 40vw);
inset-block-end: 70px;
2023-12-06 21:52:29 +00:00
z-index: $z-index-toast;
2023-11-16 19:55:35 +00:00
}
.CallControls__MoreOptionsMenu {
display: flex;
flex-direction: column;
max-height: calc(var(--window-height) - 155px);
2023-12-06 21:52:29 +00:00
font-size: 13px;
2023-11-16 19:55:35 +00:00
filter: drop-shadow(0px 4px 3px $color-black-alpha-20);
pointer-events: auto;
}
.CallControls__MoreOptionsMenu .module-emoji-picker {
margin-bottom: auto;
max-width: calc(var(--window-width) / 2 + 20px);
}
2023-12-06 21:52:29 +00:00
.CallControls__MoreOptionsMenu
.module-emoji-picker
+ .CallControls__MenuItemRaiseHand {
display: none;
}
.CallControls__MoreOptionsMenu .module-ReactionPickerPicker {
@media (prefers-reduced-motion: no-preference) {
animation-duration: 200ms;
}
}
.CallControls__MenuItemRaiseHand {
@include button-reset;
display: flex;
min-width: 290px;
padding-block: 12px;
padding-inline: 12px;
margin-block-start: 8px;
border-radius: 10px;
align-items: center;
text-align: start;
background-color: $color-gray-75;
color: $color-white;
filter: drop-shadow(0px 4px 3px $color-black-alpha-20);
}
.CallControls__MenuItemRaiseHand:hover {
background-color: $color-gray-65;
}
.CallControls__MenuItemRaiseHandIcon {
@include color-svg(
'../images/icons/v3/raise_hand/raise_hand-light.svg',
$color-gray-15
);
height: 16px;
width: 16px;
margin-inline: 2px 12px;
}