clone of olivero for island lives
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

234 lines
4.4 KiB

1 year ago
/**
* @file
* Comment section and individual comments.
*/
@import "../base/media-queries.pcss.css";
:root {
--comment-indentation: var(--sp2);
--comment-indentation--md: var(--sp4);
}
.comment--level-1 {
border-block-start: 2px solid var(--color--gray-95);
& ~ .comment--level-1 {
margin-block-start: var(--sp2);
}
}
.comments__title {
display: flex;
align-items: center;
margin-block-start: 0;
}
.comments__count {
position: relative;
display: inline-block;
min-width: 34px;
margin-block-start: 0;
margin-block-end: var(--sp0-5);
margin-inline-start: var(--sp);
margin-inline-end: var(--sp);
padding-block: 0;
padding-inline-start: 5px;
padding-inline-end: 5px;
text-align: center;
color: var(--color--white);
border-radius: 2px;
background-color: var(--color--primary-40);
font-size: 11px;
line-height: 21px;
&::after {
position: absolute;
inset-block-end: -7px;
inset-inline-start: 8px;
width: 0;
height: 0;
content: "";
border-block-start: 7px solid var(--color--primary-40);
border-inline-end: 8px solid transparent;
}
}
.comment-form {
padding-block-end: var(--sp2);
}
.add-comment__form {
padding-inline-start: 0;
}
.comment {
position: relative;
padding-block-start: var(--sp2);
padding-inline-start: var(--sp3);
@media (--grid-md) {
padding-inline-start: 0;
}
}
.comment__text-content {
font-size: 16px;
& blockquote {
font-size: 21px;
line-height: var(--sp2);
}
/* Override for .field:not(:last-child) */
&:not(:last-child) {
margin-block-end: 0;
}
}
.comment__links {
margin-block: var(--sp) 0;
}
.comment__links-link {
text-decoration: none;
font-size: 14px;
font-weight: bold;
line-height: var(--sp);
&:hover {
text-decoration: underline;
}
}
.add-comment__picture-wrapper {
inset-block-start: calc(var(--line-height-base) + var(--sp0-5));
}
.add-comment__picture,
.comment__picture {
position: absolute;
inset-inline-start: 0;
overflow: hidden;
width: var(--sp2);
height: var(--sp2);
border-radius: 50%;
background-color: var(--color--gray-95);
& *:not(img) {
display: inherit;
width: inherit;
height: inherit;
}
& img {
width: 100%;
height: 100%;
object-fit: cover;
/* @TODO: create image-style for profile's avatar to have image squared by default. */
@media all and (-ms-high-contrast: active), (-ms-high-contrast: none) {
position: absolute;
/* stylelint-disable csstools/use-logical */
top: 50%;
left: 50%;
/* stylelint-enable csstools/use-logical */
width: 100%;
height: auto;
transform: translate(-50%, -50%);
}
}
@media (--grid-md) {
inset-inline-start: calc(-1 * var(--sp5));
width: var(--sp3);
height: var(--sp3);
}
}
.indented .comment__picture {
@media (--grid-md) {
inset-inline-start: calc(-1 * var(--sp4));
width: var(--sp2);
height: var(--sp2);
}
}
.comment__meta {
& * {
display: inline;
}
}
.comment__author {
margin-inline-end: var(--sp);
font-family: var(--font-sans);
font-size: 16px;
font-weight: 700;
line-height: var(--sp);
& a {
text-decoration: none;
}
}
.comment__time {
margin: 0;
color: var(--color-text-neutral-soft);
font-family: var(--font-sans);
font-size: 14px;
line-height: var(--sp);
}
.indented {
margin-inline-start: var(--comment-indentation);
& > .comment:not(:last-of-type, .has-children)::before {
position: absolute;
inset-block-start: var(--sp2);
inset-inline-start: calc(-1 * var(--comment-indentation) - var(--sp)); /* Comment's padding-top */
width: 0;
height: 100%;
content: "";
border-inline-start: solid 1px var(--color--gray-95);
@media (--md) {
inset-inline-start: calc(-1 * var(--comment-indentation--md) + var(--sp));
}
}
@media (--md) {
margin-inline-start: var(--comment-indentation--md);
}
}
.show-hide-btn {
margin-block-start: var(--sp2);
margin-block-end: 0;
margin-inline-start: var(--sp3);
margin-inline-end: 0;
padding-block: 0;
padding-inline-start: 0;
padding-inline-end: 0;
cursor: pointer;
color: var(--color-text-neutral-medium);
border: 0;
background: none;
font-size: 14px;
font-weight: 600;
line-height: 18px;
appearance: none;
&[aria-expanded="true"]::after {
content: "\0020 -";
}
&[aria-expanded="false"]::after {
content: "\0020 +";
}
@media (--grid-md) {
margin-inline-start: 0;
}
}