|
|
|
$composition-container-height: 60px;
|
|
|
|
|
|
|
|
@keyframes fadein {
|
|
|
|
from {
|
|
|
|
opacity: 0;
|
|
|
|
}
|
|
|
|
to {
|
|
|
|
opacity: 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@keyframes toShadow {
|
|
|
|
from {
|
|
|
|
opacity: 1;
|
|
|
|
}
|
|
|
|
to {
|
|
|
|
opacity: 0.25;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@keyframes fromShadow {
|
|
|
|
from {
|
|
|
|
opacity: 0.25;
|
|
|
|
}
|
|
|
|
to {
|
|
|
|
opacity: 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@keyframes pulseLight {
|
|
|
|
0% {
|
|
|
|
box-shadow: 0px 0px 0px 0px $session-color-danger-alt;
|
|
|
|
}
|
|
|
|
50% {
|
|
|
|
box-shadow: 0px 0px 12px 0px rgba($session-color-danger-alt, 1);
|
|
|
|
}
|
|
|
|
100% {
|
|
|
|
box-shadow: 0px 0px 0px 0px rgba($session-color-danger-alt, 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.conversation-item {
|
|
|
|
display: flex;
|
|
|
|
flex-grow: 1;
|
|
|
|
height: 100%;
|
|
|
|
outline: none;
|
|
|
|
|
|
|
|
.selection-mode {
|
|
|
|
.messages-container > *:not(.message-selected) {
|
|
|
|
animation: toShadow $session-transition-duration;
|
|
|
|
opacity: 0.25;
|
|
|
|
}
|
|
|
|
|
|
|
|
.conversation-header {
|
|
|
|
.conversation-header {
|
|
|
|
&--items-wrapper {
|
|
|
|
.session-icon {
|
|
|
|
opacity: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
user-select: none;
|
|
|
|
pointer-events: none;
|
|
|
|
opacity: 0.25;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
&__content {
|
|
|
|
display: flex;
|
|
|
|
flex-direction: column;
|
|
|
|
width: 100%;
|
|
|
|
outline: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
&__options-pane {
|
|
|
|
position: absolute;
|
|
|
|
height: 100%;
|
|
|
|
right: 0vw;
|
|
|
|
|
|
|
|
transition: transform 1.5 * $session-transition-duration ease-in-out;
|
|
|
|
transform: translateX(100%);
|
|
|
|
will-change: transform;
|
|
|
|
|
|
|
|
&.show {
|
|
|
|
transform: none;
|
|
|
|
transition: transform $session-transition-duration ease-in-out;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.conversation-header {
|
|
|
|
&--items-wrapper {
|
|
|
|
display: flex;
|
|
|
|
flex-grow: 1;
|
|
|
|
align-items: center;
|
|
|
|
justify-content: center;
|
|
|
|
}
|
|
|
|
|
|
|
|
.message-selection-overlay {
|
|
|
|
position: absolute;
|
|
|
|
display: flex;
|
|
|
|
left: 0px;
|
|
|
|
right: 0px;
|
|
|
|
margin: 0px $session-margin-md;
|
|
|
|
align-items: center;
|
|
|
|
justify-content: space-between;
|
|
|
|
height: $main-view-header-height;
|
|
|
|
|
|
|
|
.close-button {
|
|
|
|
float: left;
|
|
|
|
}
|
|
|
|
|
|
|
|
.session-button.default.danger {
|
|
|
|
display: flex;
|
|
|
|
width: 80px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.message-selection-overlay div[role='button'] {
|
|
|
|
display: inline-block;
|
|
|
|
}
|
|
|
|
|
|
|
|
.message-selection-overlay .button-group {
|
|
|
|
float: right;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.session-conversation-wrapper {
|
|
|
|
position: absolute;
|
|
|
|
width: 100%;
|
|
|
|
height: 100%;
|
|
|
|
background-color: $session-shade-2;
|
|
|
|
}
|
|
|
|
|
|
|
|
.messages-wrapper {
|
|
|
|
display: flex;
|
|
|
|
flex-grow: 1;
|
|
|
|
flex-direction: column;
|
|
|
|
position: relative;
|
|
|
|
height: 0px;
|
|
|
|
|
|
|
|
&--blocking-overlay {
|
|
|
|
background-color: rgba(0, 0, 0, 0.8);
|
|
|
|
position: absolute;
|
|
|
|
top: 0px;
|
|
|
|
bottom: 0px;
|
|
|
|
left: 0px;
|
|
|
|
right: 0px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.messages-container {
|
|
|
|
display: flex;
|
|
|
|
flex-grow: 1;
|
|
|
|
flex-direction: column;
|
|
|
|
position: relative;
|
|
|
|
overflow-y: auto;
|
|
|
|
scrollbar-width: 4px;
|
|
|
|
padding: $session-margin-sm $session-margin-lg;
|
|
|
|
|
|
|
|
&__loading {
|
|
|
|
position: absolute;
|
|
|
|
top: 0px;
|
|
|
|
right: 0px;
|
|
|
|
left: 0px;
|
|
|
|
bottom: 0px;
|
|
|
|
z-index: 100;
|
|
|
|
background-color: $session-shade-2;
|
|
|
|
display: flex;
|
|
|
|
flex-grow: 1;
|
|
|
|
align-items: center;
|
|
|
|
justify-content: center;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.composition-container {
|
|
|
|
display: flex;
|
|
|
|
justify-content: center;
|
|
|
|
align-items: center;
|
|
|
|
background-color: $session-shade-4;
|
|
|
|
padding: 0px $session-margin-md;
|
|
|
|
min-height: min-content;
|
|
|
|
|
|
|
|
& > .session-icon-button {
|
|
|
|
margin-right: $session-margin-sm;
|
|
|
|
}
|
|
|
|
.session-icon-button {
|
|
|
|
display: flex;
|
|
|
|
justify-content: center;
|
|
|
|
align-items: center;
|
|
|
|
opacity: 0.8;
|
|
|
|
|
|
|
|
.send {
|
|
|
|
background-color: $session-shade-14;
|
|
|
|
padding: $session-margin-xs;
|
|
|
|
border-radius: 50%;
|
|
|
|
height: 30px;
|
|
|
|
width: 30px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.send-message-input {
|
|
|
|
display: flex;
|
|
|
|
flex-grow: 1;
|
|
|
|
min-height: $composition-container-height;
|
|
|
|
padding: 16px 0px;
|
|
|
|
|
|
|
|
textarea {
|
|
|
|
font-family: 'SF Pro Text';
|
|
|
|
min-height: $composition-container-height / 3;
|
|
|
|
max-height: 2 * $composition-container-height;
|
|
|
|
margin-right: $session-margin-md;
|
|
|
|
color: $session-color-white;
|
|
|
|
resize: none;
|
|
|
|
display: flex;
|
|
|
|
flex-grow: 1;
|
|
|
|
background: transparent;
|
|
|
|
outline: none;
|
|
|
|
border: none;
|
|
|
|
font-size: $session-font-md;
|
|
|
|
line-height: $session-font-h2;
|
|
|
|
letter-spacing: 0.5px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.session-emoji-panel {
|
|
|
|
position: absolute;
|
|
|
|
bottom: 68px;
|
|
|
|
right: 0px;
|
|
|
|
padding: $session-margin-lg;
|
|
|
|
|
|
|
|
z-index: 5;
|
|
|
|
opacity: 0;
|
|
|
|
visibility: hidden;
|
|
|
|
transition: $session-transition-duration;
|
|
|
|
|
|
|
|
button:focus {
|
|
|
|
outline: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.show {
|
|
|
|
opacity: 1;
|
|
|
|
visibility: visible;
|
|
|
|
}
|
|
|
|
|
|
|
|
& > section.emoji-mart {
|
|
|
|
background-color: $session-shade-4;
|
|
|
|
border: 1px solid $session-shade-6-alt;
|
|
|
|
border-radius: 8px;
|
|
|
|
padding-bottom: $session-margin-sm;
|
|
|
|
|
|
|
|
|
|
|
|
.emoji-mart-category-label {
|
|
|
|
top: -2px;
|
|
|
|
|
|
|
|
span {
|
|
|
|
font-family: 'SF Pro Text';
|
|
|
|
padding-top: $session-margin-sm;
|
|
|
|
background-color: $session-shade-4;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.emoji-mart-bar:last-child {
|
|
|
|
border: none;
|
|
|
|
|
|
|
|
.emoji-mart-preview {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
&:after{
|
|
|
|
content: '';
|
|
|
|
position: absolute;
|
|
|
|
top: calc(100% - 40px);
|
|
|
|
left: calc(100% - 79px);
|
|
|
|
width: 22px;
|
|
|
|
height: 22px;
|
|
|
|
background-color: $session-shade-4;
|
|
|
|
transform: rotate(45deg);
|
|
|
|
border-radius: 3px;
|
|
|
|
transform: scaleY(1.4) rotate(45deg);
|
|
|
|
border: 0.7px solid $session-shade-6-alt;
|
|
|
|
clip-path: polygon(100% 100%, 7.2px 100%, 100% 7.2px);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.session-progress {
|
|
|
|
position: relative;
|
|
|
|
z-index: 100;
|
|
|
|
|
|
|
|
&__progress {
|
|
|
|
will-change: transform;
|
|
|
|
|
|
|
|
width: 100%;
|
|
|
|
position: absolute;
|
|
|
|
left: 0px;
|
|
|
|
font-size: 0px;
|
|
|
|
height: 1px;
|
|
|
|
|
|
|
|
background-color: $session-color-green;
|
|
|
|
|
|
|
|
&.fade {
|
|
|
|
opacity: 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.session-recording {
|
|
|
|
height: $composition-container-height;
|
|
|
|
display: flex;
|
|
|
|
justify-content: space-between;
|
|
|
|
align-items: center;
|
|
|
|
flex-grow: 1;
|
|
|
|
outline: none;
|
|
|
|
|
|
|
|
$actions-element-size: 45px;
|
|
|
|
|
|
|
|
&--actions {
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
justify-content: center;
|
|
|
|
background-color: $session-shade-5;
|
|
|
|
width: $actions-element-size;
|
|
|
|
height: $actions-element-size;
|
|
|
|
border-radius: 50%;
|
|
|
|
|
|
|
|
.session-icon-button {
|
|
|
|
animation: fadein $session-transition-duration;
|
|
|
|
opacity: 1;
|
|
|
|
border-radius: 50%;
|
|
|
|
width: $actions-element-size;
|
|
|
|
height: $actions-element-size;
|
|
|
|
|
|
|
|
.play {
|
|
|
|
margin-left: 4px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
&--visualisation {
|
|
|
|
z-index: 1000;
|
|
|
|
width: 100%;
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
justify-content: center;
|
|
|
|
position: relative;
|
|
|
|
|
|
|
|
canvas {
|
|
|
|
position: absolute;
|
|
|
|
width: 100%;
|
|
|
|
padding: 0px $session-margin-lg;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
&--status {
|
|
|
|
display: flex;
|
|
|
|
justify-content: center;
|
|
|
|
position: absolute;
|
|
|
|
left: 0;
|
|
|
|
right: 0;
|
|
|
|
bottom: $composition-container-height + $session-margin-md;
|
|
|
|
|
|
|
|
.session-button {
|
|
|
|
display: flex;
|
|
|
|
justify-content: center;
|
|
|
|
align-items: center;
|
|
|
|
width: 173px;
|
|
|
|
font-weight: 300;
|
|
|
|
font-family: 'SF Pro Text';
|
|
|
|
|
|
|
|
&.primary {
|
|
|
|
cursor: default;
|
|
|
|
user-select: none;
|
|
|
|
&:hover {
|
|
|
|
filter: brightness(100%);
|
|
|
|
border: 2px solid #161819;
|
|
|
|
}
|
|
|
|
background-color: $session-shade-1-alt;
|
|
|
|
border: 2px solid #161819;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
&--timer {
|
|
|
|
display: inline-flex;
|
|
|
|
align-items: center;
|
|
|
|
font-family: 'SF Pro Text';
|
|
|
|
font-weight: bold;
|
|
|
|
font-size: 14px;
|
|
|
|
|
|
|
|
&.playback-timer {
|
|
|
|
margin-right: $session-margin-sm;
|
|
|
|
}
|
|
|
|
|
|
|
|
&-light {
|
|
|
|
height: $session-margin-sm;
|
|
|
|
width: $session-margin-sm;
|
|
|
|
border-radius: 50%;
|
|
|
|
background-color: $session-color-danger-alt;
|
|
|
|
margin-left: $session-margin-sm;
|
|
|
|
|
|
|
|
animation: pulseLight 4s infinite;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|