mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2024-11-11 18:21:04 +08:00
304 lines
5.7 KiB
SCSS
304 lines
5.7 KiB
SCSS
// scss-lint:disable SelectorDepth NestingDepth
|
|
|
|
.comments-sidebar {
|
|
--comments-sidebar-width: 280px;
|
|
animation-timing-function: $timing-function-sharp;
|
|
height: calc(100vh - var(--navbar-height));
|
|
position: fixed;
|
|
right: 0;
|
|
top: var(--navbar-height);
|
|
transition: width .3s;
|
|
width: 0;
|
|
z-index: 1000;
|
|
|
|
&.open {
|
|
width: var(--comments-sidebar-width);
|
|
}
|
|
|
|
.sidebar-content {
|
|
background: $color-concrete;
|
|
border-left: 1px solid $color-white;
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
position: relative;
|
|
width: var(--comments-sidebar-width);
|
|
|
|
.sidebar-header {
|
|
align-items: center;
|
|
border-bottom: $border-default;
|
|
display: flex;
|
|
flex-basis: 5em;
|
|
flex-shrink: 0;
|
|
flex-wrap: wrap;
|
|
padding: 1em;
|
|
|
|
.comments-subject-title {
|
|
@include font-h3;
|
|
flex-basis: calc(100% - 36px);
|
|
flex-grow: 1;
|
|
height: 2em;
|
|
line-height: 2em;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.comments-subject-url {
|
|
flex-basis: 100%;
|
|
}
|
|
|
|
.close-btn {
|
|
flex-shrink: 0;
|
|
}
|
|
}
|
|
|
|
.sidebar-body {
|
|
flex-basis: calc(100% - 10em);
|
|
flex-grow: 1;
|
|
overflow: auto;
|
|
padding: 1em;
|
|
|
|
.no-comments-placeholder {
|
|
display: none;
|
|
padding: 1em;
|
|
|
|
.no-comments-image {
|
|
display: block;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
.description {
|
|
@include font-main;
|
|
color: $color-silver-chalice;
|
|
}
|
|
}
|
|
|
|
.comments-list:empty + .no-comments-placeholder {
|
|
display: block;
|
|
}
|
|
}
|
|
|
|
.sidebar-footer {
|
|
border-top: $border-default;
|
|
flex-basis: 5em;
|
|
flex-grow: 1;
|
|
flex-shrink: 0;
|
|
padding: 1em;
|
|
|
|
.comment-input-container {
|
|
background: $color-white;
|
|
border-radius: $border-radius-tag;
|
|
padding-right: 2.5em;
|
|
position: relative;
|
|
|
|
.comment-input-field {
|
|
animation-timing-function: $timing-function-sharp;
|
|
border: 0;
|
|
display: block;
|
|
line-height: 1.25em;
|
|
max-height: 160px;
|
|
outline: none;
|
|
padding: .5em;
|
|
transition: height .3s;
|
|
width: 100%;
|
|
}
|
|
|
|
.send-comment {
|
|
color: $brand-primary;
|
|
cursor: pointer;
|
|
display: inline-block;
|
|
line-height: 2.5em;
|
|
position: absolute;
|
|
right: 0;
|
|
text-align: center;
|
|
top: 0;
|
|
width: 2.5em;
|
|
}
|
|
}
|
|
|
|
.update-buttons {
|
|
display: none;
|
|
margin-top: .5em;
|
|
}
|
|
|
|
.error-container {
|
|
@include font-small;
|
|
color: $brand-danger;
|
|
}
|
|
|
|
&.update {
|
|
.update-buttons {
|
|
display: block;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.comment-container {
|
|
margin: 0 1em .25em 0;
|
|
|
|
.comment-header {
|
|
align-items: center;
|
|
display: flex;
|
|
margin-bottom: .5em;
|
|
margin-top: 2em;
|
|
min-height: 1.75em;
|
|
|
|
.user-name {
|
|
margin: 0 .5em;
|
|
order: 2;
|
|
}
|
|
|
|
.user-avatar {
|
|
border-radius: 50%;
|
|
max-width: 1.75em;
|
|
}
|
|
}
|
|
|
|
.comment-body {
|
|
background: $color-white;
|
|
border-radius: $border-radius-default;
|
|
|
|
.comment-message {
|
|
@include font-main;
|
|
color: $color-volcano;
|
|
padding: .5em 1em;
|
|
}
|
|
}
|
|
|
|
.comment-footer {
|
|
align-items: center;
|
|
display: flex;
|
|
padding: 0 1em .5em;
|
|
|
|
.comment-menu-container {
|
|
margin-left: auto;
|
|
|
|
.open-dropdown-btn {
|
|
cursor: pointer;
|
|
line-height: 2em;
|
|
text-align: center;
|
|
width: 2em;
|
|
}
|
|
|
|
.comment-dropdown-menu {
|
|
@include font-button;
|
|
|
|
a {
|
|
padding: .5em 1em;
|
|
}
|
|
|
|
.fas {
|
|
margin-right: .5em;
|
|
}
|
|
}
|
|
}
|
|
|
|
.comment-create-date {
|
|
@include font-small;
|
|
color: $color-volcano;
|
|
opacity: .5;
|
|
}
|
|
}
|
|
|
|
&.current-user {
|
|
margin: 0 0 .25em 1em;
|
|
|
|
.comment-body {
|
|
background: $color-alto;
|
|
}
|
|
|
|
.comment-header {
|
|
justify-content: flex-end;
|
|
|
|
.user-avatar {
|
|
border-radius: 50%;
|
|
order: 3;
|
|
overflow: hidden;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.loading-placeholder {
|
|
display: none;
|
|
|
|
@mixin placeholder-avatar {
|
|
@include pulse-animation;
|
|
background: $color-alto;
|
|
border-radius: 50%;
|
|
content: "";
|
|
display: inline-block;
|
|
height: 1.5em;
|
|
width: 1.5em;
|
|
}
|
|
|
|
@mixin placeholder-name {
|
|
@include pulse-animation;
|
|
background: $color-alto;
|
|
content: "";
|
|
display: inline-block;
|
|
height: 1em;
|
|
margin: .25em;
|
|
width: 6em;
|
|
}
|
|
|
|
.comment-placeholder {
|
|
padding-bottom: 1em;
|
|
|
|
.comment-body-placeholder {
|
|
@include pulse-animation;
|
|
background: $color-alto;
|
|
height: 5em;
|
|
}
|
|
|
|
&.left {
|
|
margin-right: 1em;
|
|
|
|
.comment-user-placeholder {
|
|
&::before {
|
|
@include placeholder-avatar;
|
|
}
|
|
|
|
&::after {
|
|
@include placeholder-name;
|
|
}
|
|
}
|
|
}
|
|
|
|
&.right {
|
|
margin-left: 1em;
|
|
|
|
.comment-user-placeholder {
|
|
text-align: right;
|
|
|
|
&::before {
|
|
@include placeholder-name;
|
|
}
|
|
|
|
&::after {
|
|
@include placeholder-avatar;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&.loading {
|
|
.comments-subject-title {
|
|
@include pulse-animation;
|
|
background: $color-alto;
|
|
}
|
|
|
|
.loading-placeholder {
|
|
display: initial;
|
|
}
|
|
.sidebar-body {
|
|
.comments-list:empty + .no-comments-placeholder {
|
|
display: none;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|