webapp/src/styles/Inbox.scss
ilya-bkv a0a7a5146a WIP
2022-11-16 22:39:50 +03:00

368 lines
5.6 KiB
SCSS

main {
display: flex;
height: 100vh;
flex-direction: column;
position: relative;
}
.messages {
display: none;
//top: 74px;
//height: calc(100% - 74px);
//left: 0;
//right: 0;
//padding-left: 42px;
//padding-right: 26px;
//background: #fff;
//display: flex;
//flex: 1;
//flex-direction: column;
//position: fixed;
//z-index: 9;
> .row {
flex: 1;
}
.author__name {
font-weight: 500;
}
.author {
position: relative;
}
}
// список диалогов и юзеров
.chat-list {
display: flex;
flex-direction: column;
padding: 10px;
height: calc(100% - 10px);
$fade-height: 10px;
.holder {
overflow: hidden;
flex: 1;
position: relative;
padding: $fade-height 0;
&::before,
&::after {
content: '';
position: absolute;
width: 100%;
right: 10px;
z-index: 1;
height: $fade-height;
}
&::before {
top: 0;
background: linear-gradient(white, transparent $fade-height);
}
&::after {
bottom: 0;
background: linear-gradient(transparent, white $fade-height);
}
.dialogs {
scroll-behavior: smooth;
display: flex;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
height: 100%;
overflow: auto;
flex-direction: column;
box-sizing: border-box;
}
}
}
.chat-list__search,
.interlocutor {
border-bottom: 3px solid #141414;
padding: 1em 0;
}
// табы выбора списка
.chat-list__types {
@include font-size(1.7rem);
margin: 16px 0;
ul {
display: flex;
flex-wrap: wrap;
list-style: none;
margin: 0;
padding: 0;
}
li {
margin-right: 1em;
}
strong {
border-bottom: 3px solid;
font-weight: normal;
}
}
.interlocutor {
height: 56px;
box-sizing: content-box;
.circlewrap {
height: 56px;
max-width: 56px;
width: 56px;
}
.author {
margin-bottom: 0;
&::before {
left: 40px !important;
height: 8px !important;
width: 8px !important;
}
}
.author__name {
@include font-size(1.7rem);
margin: 0.4em 0 0;
}
.author__details,
.user-status {
margin-left: 6.8rem;
}
.user-status {
@include font-size(1.2rem);
color: #ccc;
}
}
.conversation {
display: flex;
flex-direction: column;
}
.conversation__messages {
flex: 1;
overflow: auto;
position: relative;
}
.message-form {
background: #fff;
padding: 2px 0 12px 0;
> .wrapper {
border: 2px solid #cccccc;
border-radius: 16px;
padding: 4px;
display: flex;
flex-direction: row;
align-items: center;
> .grow-wrap {
display: grid;
width: 100%;
&::after {
content: attr(data-replicated-value) ' ';
white-space: pre-wrap;
visibility: hidden;
transition: height 1.3s ease-in-out;
}
& > textarea {
margin-bottom: 0;
font-family: inherit;
border: none;
resize: none;
overflow: hidden;
&:focus,
&:focus-visible,
&:active {
border: none;
outline: none;
box-shadow: none;
}
}
&::after,
& > textarea {
/* Identical styling required!! */
font-weight: 400;
font-size: 14px;
line-height: 20px;
padding: 8px;
grid-area: 1 / 1 / 2 / 2;
width: 100%;
}
}
> button {
border: none;
cursor: pointer;
text-align: center;
width: 20px;
height: 20px;
margin: auto 8px 8px 0;
&:hover {
.icon {
opacity: 0.5;
}
}
> .icon {
width: 100%;
height: 100%;
opacity: 0.2;
transition: opacity 0.3s;
}
}
}
}
.conversation__messages-container {
left: 0;
height: 100%;
overflow: auto;
position: absolute;
top: 0;
width: 100%;
scroll-behavior: smooth;
}
.conversation__date {
position: relative;
text-align: center;
&::before {
background: #141414;
content: '';
height: 1px;
left: 0;
position: absolute;
top: 0.8em;
width: 100%;
z-index: -1;
}
time {
background: #fff;
@include font-size(1.5rem);
color: #9fa1a7;
padding: 0 0.5em;
}
}
.conversation__message-container {
display: flex;
margin: 3.2rem 0;
}
.conversation__message {
font-size: 14px;
max-width: 60%;
border-radius: 16px;
padding: 12px 16px;
position: relative;
p {
margin: 0;
}
a {
color: inherit;
text-decoration: underline;
&:hover {
color: inherit;
}
}
&:hover {
.conversation__context-popup-control {
opacity: 1;
}
}
}
.conversation__message-details {
color: #9fa1a7;
@include font-size(1rem);
left: 0;
padding-top: 0.2em;
position: absolute;
top: 100%;
}
.conversation__message-container--other {
.conversation__message {
background: #f6f6f6;
}
.conversation__context-popup-control {
left: 100%;
margin-left: 0.3em;
}
}
.conversation__message-container--own {
justify-content: flex-end;
.conversation__message {
background: #000;
color: #fff;
}
.conversation__context-popup-control {
margin-right: 0.3em;
right: 100%;
}
}
.conversation__context-popup-control {
background: #f6f6f6;
border: none;
cursor: pointer;
height: 2.4rem;
margin-top: -1.2rem;
opacity: 0;
top: 50%;
position: absolute;
transition: opacity 0.3s;
width: 2.4rem;
&:hover {
.icon {
opacity: 0.5;
}
}
.icon {
opacity: 0.3;
transition: opacity 0.2s;
}
img {
vertical-align: middle;
}
}