signal-desktop/stylesheets/components/CallControls.scss
2024-07-23 17:31:40 -07:00

142 lines
2.9 KiB
SCSS

// Copyright 2023 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
.CallControls {
position: relative;
bottom: 0;
display: flex;
flex-grow: 1;
flex-shrink: 0;
flex-basis: $CallControls__initial-width;
align-items: center;
justify-content: space-between;
max-width: $CallControls__max-width;
height: $CallControls__height;
background-color: $color-gray-78;
box-shadow: 0px 4px 14px 0px $color-black-alpha-40;
border-radius: 18px;
margin-block-end: 16px;
margin-inline: 16px;
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;
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;
}
.CallControls__OuterSpacer {
flex-basis: calc($calling-local-preview-width + 16px);
}
.CallControls__ReactionPickerContainer {
position: absolute;
inset-inline-start: min(44%, 32vw);
inset-block-end: 70px;
z-index: $z-index-toast;
display: flex;
flex-direction: column;
max-height: calc(100vh - 155px);
font-size: 13px;
filter: drop-shadow(0px 4px 3px $color-black-alpha-20);
pointer-events: auto;
}
.CallControls__ReactionPickerContainer .module-emoji-picker {
margin-bottom: auto;
max-width: calc(100vw / 2 + 20px);
}
.CallControls__ReactionPickerContainer .module-ReactionPickerPicker {
@media (prefers-reduced-motion: no-preference) {
animation-duration: 200ms;
}
}