432 lines
7.4 KiB
SCSS
432 lines
7.4 KiB
SCSS
// scss-lint:disable MergeableSelector
|
|
|
|
@mixin bubble-with-types {
|
|
padding: $space-small $space-normal;
|
|
margin: 0;
|
|
background: $color-woot;
|
|
border-radius: $space-one;
|
|
color: var(--white);
|
|
font-size: $font-size-small;
|
|
font-weight: $font-weight-normal;
|
|
position: relative;
|
|
|
|
.message-text__wrap {
|
|
position: relative;
|
|
|
|
.link {
|
|
color: var(--white);
|
|
text-decoration: underline;
|
|
}
|
|
}
|
|
|
|
.image,
|
|
.video {
|
|
cursor: pointer;
|
|
position: relative;
|
|
|
|
.modal-container {
|
|
text-align: center;
|
|
}
|
|
|
|
.modal-image {
|
|
max-height: 90%;
|
|
max-width: 90%;
|
|
}
|
|
|
|
.modal-video {
|
|
max-height: 75vh;
|
|
max-width: 100%;
|
|
}
|
|
|
|
&::before {
|
|
background-image: linear-gradient(
|
|
-180deg,
|
|
transparent 3%,
|
|
$color-heading 130%
|
|
);
|
|
bottom: 0;
|
|
content: '';
|
|
height: 20%;
|
|
left: 0;
|
|
opacity: 0.8;
|
|
position: absolute;
|
|
width: 100%;
|
|
}
|
|
}
|
|
|
|
.video {
|
|
.modal-container {
|
|
width: auto;
|
|
|
|
.modal--close {
|
|
z-index: var(--z-index-low);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.conversations-list-wrap {
|
|
@include flex;
|
|
flex-direction: column;
|
|
|
|
.load-more-conversations {
|
|
font-size: $font-size-small;
|
|
margin: 0;
|
|
padding: $space-normal;
|
|
width: 100%;
|
|
}
|
|
|
|
.end-of-list-text {
|
|
padding: $space-normal;
|
|
}
|
|
|
|
.conversations-list {
|
|
@include scroll-on-hover;
|
|
flex: 1 1;
|
|
}
|
|
|
|
.chat-list__top {
|
|
@include flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: $zero $zero $space-micro;
|
|
|
|
.page-title {
|
|
margin-bottom: $zero;
|
|
margin-left: $space-normal;
|
|
}
|
|
|
|
.status--filter {
|
|
background-color: $color-background-light;
|
|
border: 1px solid $color-border;
|
|
float: right;
|
|
font-size: $font-size-mini;
|
|
height: $space-medium;
|
|
margin: 0;
|
|
padding: $zero $space-medium $zero $space-normal;
|
|
width: auto;
|
|
}
|
|
}
|
|
|
|
.content-box {
|
|
text-align: center;
|
|
}
|
|
}
|
|
|
|
.conversation-panel {
|
|
@include flex;
|
|
flex: 1 1 1px;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
margin: 0;
|
|
overflow-y: auto;
|
|
padding-bottom: var(--space-normal);
|
|
position: relative;
|
|
}
|
|
|
|
.conversation-panel > li {
|
|
@include flex;
|
|
@include flex-shrink;
|
|
margin: $zero $zero $space-micro;
|
|
position: relative;
|
|
|
|
&:first-child {
|
|
margin-top: auto;
|
|
}
|
|
|
|
&:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
&.unread--toast {
|
|
+ .right {
|
|
margin-bottom: var(--space-micro);
|
|
}
|
|
|
|
+ .left {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
span {
|
|
@include elegant-card;
|
|
@include round-corner;
|
|
background: $color-woot;
|
|
color: var(--white);
|
|
font-size: $font-size-mini;
|
|
font-weight: $font-weight-medium;
|
|
margin: $space-one auto;
|
|
padding: $space-smaller $space-two;
|
|
}
|
|
}
|
|
|
|
.bubble {
|
|
@include bubble-with-types;
|
|
text-align: left;
|
|
word-wrap: break-word;
|
|
|
|
.aplayer {
|
|
box-shadow: none;
|
|
font-family: inherit;
|
|
}
|
|
}
|
|
|
|
&.left {
|
|
.bubble {
|
|
@include border-normal;
|
|
background: $white;
|
|
border-bottom-left-radius: $space-smaller;
|
|
border-top-left-radius: $space-smaller;
|
|
color: $color-body;
|
|
margin-right: auto;
|
|
word-break: break-word;
|
|
|
|
&.is-image {
|
|
border-radius: var(--border-radius-large);
|
|
}
|
|
|
|
.link {
|
|
color: $color-primary-dark;
|
|
}
|
|
|
|
.file {
|
|
.text-block-title {
|
|
color: $color-body;
|
|
}
|
|
|
|
.icon-wrap {
|
|
color: $color-woot;
|
|
}
|
|
|
|
.download {
|
|
color: $color-primary-dark;
|
|
}
|
|
}
|
|
}
|
|
|
|
+ .right {
|
|
margin-top: $space-one;
|
|
|
|
.bubble {
|
|
border-top-right-radius: $space-one;
|
|
}
|
|
}
|
|
|
|
+ .unread--toast {
|
|
+ .right {
|
|
margin-top: $space-one;
|
|
|
|
.bubble {
|
|
border-top-right-radius: $space-one;
|
|
}
|
|
}
|
|
|
|
+ .left {
|
|
margin-top: 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
&.right {
|
|
@include flex-align(right, null);
|
|
|
|
.wrap {
|
|
align-items: flex-end;
|
|
display: flex;
|
|
margin-right: $space-normal;
|
|
text-align: right;
|
|
|
|
.sender--info {
|
|
padding: var(--space-small) 0 var(--space-smaller) var(--space-small);
|
|
}
|
|
}
|
|
|
|
.bubble {
|
|
border-bottom-right-radius: $space-smaller;
|
|
border-top-right-radius: $space-smaller;
|
|
margin-left: auto;
|
|
word-break: break-word;
|
|
|
|
&.is-private {
|
|
background: lighten($warning-color, 32%);
|
|
border: 1px solid lighten($warning-color, 15%);
|
|
color: $color-heading;
|
|
position: relative;
|
|
|
|
&::before {
|
|
bottom: 0;
|
|
color: $medium-gray;
|
|
position: absolute;
|
|
right: $space-one;
|
|
top: $space-smaller + $space-micro;
|
|
}
|
|
}
|
|
|
|
&.is-image {
|
|
border-radius: var(--border-radius-large);
|
|
}
|
|
}
|
|
|
|
+ .left {
|
|
margin-top: $space-one;
|
|
|
|
.bubble {
|
|
border-top-left-radius: $space-one;
|
|
}
|
|
}
|
|
|
|
+ .unread--toast {
|
|
+ .left {
|
|
margin-top: $space-one;
|
|
|
|
.bubble {
|
|
border-top-left-radius: $space-one;
|
|
}
|
|
}
|
|
|
|
+ .right {
|
|
margin-top: 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
&.center {
|
|
justify-content: center;
|
|
}
|
|
|
|
.wrap {
|
|
--bubble-max-width: 49.6rem;
|
|
margin: $zero $space-normal;
|
|
max-width: Min(var(--bubble-max-width), 84%);
|
|
|
|
.sender--name {
|
|
font-size: $font-size-mini;
|
|
margin-bottom: $space-smaller;
|
|
}
|
|
}
|
|
|
|
.sender--thumbnail {
|
|
@include round-corner();
|
|
height: $space-slab;
|
|
margin-right: $space-one;
|
|
margin-top: $space-micro;
|
|
width: $space-slab;
|
|
}
|
|
|
|
.activity-wrap {
|
|
background: var(--s-50);
|
|
border: 1px solid var(--s-100);
|
|
border-radius: var(--border-radius-medium);
|
|
display: flex;
|
|
font-size: var(--font-size-small);
|
|
justify-content: center;
|
|
margin: var(--space-smaller) 0;
|
|
padding: var(--space-smaller) var(--space-micro) var(--space-smaller)
|
|
var(--space-one);
|
|
|
|
.is-text {
|
|
display: inline-flex;
|
|
text-align: start;
|
|
|
|
@include breakpoint(xxxlarge up) {
|
|
display: flex;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.activity-wrap .message-text__wrap {
|
|
.text-content p {
|
|
margin-bottom: 0;
|
|
}
|
|
}
|
|
|
|
.conversation-footer {
|
|
display: flex;
|
|
flex-direction: column;
|
|
position: relative;
|
|
}
|
|
|
|
.typing-indicator-wrap {
|
|
align-items: center;
|
|
display: flex;
|
|
height: 0;
|
|
position: absolute;
|
|
top: -$space-large;
|
|
width: 100%;
|
|
|
|
.typing-indicator {
|
|
@include elegant-card;
|
|
@include round-corner;
|
|
background: var(--white);
|
|
color: $color-light-gray;
|
|
font-size: $font-size-mini;
|
|
font-weight: $font-weight-bold;
|
|
margin: $space-one auto;
|
|
padding: $space-small $space-normal $space-small $space-two;
|
|
|
|
.gif {
|
|
margin-left: $space-small;
|
|
width: $space-medium;
|
|
}
|
|
}
|
|
}
|
|
|
|
.left .bubble .text-content {
|
|
h1,
|
|
h2,
|
|
h3,
|
|
h4,
|
|
h5,
|
|
h6 {
|
|
color: var(--color-body);
|
|
}
|
|
|
|
a {
|
|
color: var(--color-woot);
|
|
text-decoration: underline;
|
|
}
|
|
|
|
blockquote {
|
|
border-left-color: var(--s-300);
|
|
|
|
p {
|
|
color: var(--s-300);
|
|
}
|
|
}
|
|
|
|
p:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
}
|
|
|
|
.right .bubble .text-content {
|
|
h1,
|
|
h2,
|
|
h3,
|
|
h4,
|
|
h5,
|
|
h6 {
|
|
color: var(--white);
|
|
}
|
|
|
|
a {
|
|
color: var(--white);
|
|
text-decoration: underline;
|
|
}
|
|
|
|
blockquote {
|
|
border-left-color: var(--w-100);
|
|
|
|
p {
|
|
color: var(--w-100);
|
|
}
|
|
}
|
|
|
|
pre code {
|
|
background: var(--color-background);
|
|
}
|
|
|
|
p:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
}
|