TelegramPWA/src/components/middle/message/CommentButton.scss
2023-07-06 09:57:43 +02:00

215 lines
5.0 KiB
SCSS

.CommentButton {
--background-color: var(--color-background);
--hover-color: var(--color-chat-hover);
display: flex;
width: 100%;
align-items: center;
padding: 0.5625rem 0.25rem 0.5625rem 0.625rem;
padding-inline-start: 0.625rem;
padding-inline-end: 0.25rem;
background: var(--background-color);
border-bottom-right-radius: var(--border-bottom-right-radius);
border-bottom-left-radius: var(--border-bottom-left-radius);
font-size: 0.9375rem;
font-weight: 500;
line-height: 2rem;
color: var(--accent-color);
white-space: nowrap;
cursor: var(--custom-cursor, pointer);
transition: background-color 0.15s, color 0.15s;
user-select: none;
.Message .has-appendix &::before {
content: "";
display: block;
position: absolute;
bottom: -0.1875rem;
left: -0.5625rem;
width: 0.5625rem;
height: 1.25rem;
background-position: bottom left;
background-image: url('data:image/svg+xml,%3Csvg width="9" height="20" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"%3E%3Cdefs%3E%3Cfilter x="-50%25" y="-14.7%25" width="200%25" height="141.2%25" filterUnits="objectBoundingBox" id="a"%3E%3CfeOffset dy="1" in="SourceAlpha" result="shadowOffsetOuter1"/%3E%3CfeGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"/%3E%3CfeColorMatrix values="0 0 0 0 0.0621962482 0 0 0 0 0.138574144 0 0 0 0 0.185037364 0 0 0 0.15 0" in="shadowBlurOuter1"/%3E%3C/filter%3E%3Cpath d="M3 17h6V0c-.193 2.84-.876 5.767-2.05 8.782-.904 2.325-2.446 4.485-4.625 6.48A1 1 0 003 17z" id="b"/%3E%3C/defs%3E%3Cg fill="none" fill-rule="evenodd"%3E%3Cuse fill="%23000" filter="url(%23a)" xlink:href="%23b"/%3E%3Cuse fill="%23FFF" xlink:href="%23b"/%3E%3C/g%3E%3C/svg%3E');
opacity: 0;
transition: opacity 0.15s, filter 0.15s;
.theme-dark #root & {
filter: invert(0.83);
}
}
.custom-shape & {
position: absolute;
right: -3rem;
width: 2.25rem;
bottom: 3rem;
height: 3.375rem;
border-radius: 1.375rem;
padding: 0.375rem 0.3125rem 0.25rem;
align-items: flex-start;
color: white;
background-color: var(--pattern-color);
opacity: 0;
transition: opacity 150ms, backdrop-filter 150ms, filter 150ms;
@media (pointer: coarse) {
opacity: 1 !important;
}
&:hover {
background-color: var(--pattern-color);
backdrop-filter: brightness(115%);
@supports not (backdrop-filter: brightness(115%)) {
filter: brightness(115%);
}
}
.Message:hover & {
opacity: 1;
}
&::after {
content: attr(data-cnt);
position: absolute;
bottom: -0.0625rem;
left: 0;
width: 100%;
text-align: center;
font-size: 0.75rem;
display: block;
}
&[data-cnt="0"] {
height: 2.25rem;
&::after {
display: none;
}
}
.icon-comments-sticker {
display: block;
font-size: 1.5rem;
margin: 0 auto;
}
.recent-repliers,
.icon-comments,
.label,
.icon-next {
display: none;
}
}
&:hover {
background: var(--hover-color);
.Message .has-appendix &::before {
opacity: 1;
}
.Avatar {
border-color: var(--hover-color) !important;
}
}
.is-forwarded &,
.document &,
.audio &,
.voice &,
.poll &,
.text & {
border-top: 1px solid var(--color-borders);
}
.message-content.has-solid-background & {
margin: 0.375rem -0.5rem -0.375rem;
}
.message-content.document &,
.message-content.voice & {
margin-bottom: -0.5rem;
}
.message-content.audio & {
margin-bottom: -0.8125rem;
}
.message-content.document &,
.message-content.audio &,
.message-content.voice &,
.message-content.poll &,
.message-content.has-solid-background.text &,
.message-content.has-solid-background.is-forwarded & {
width: calc(100% + 1rem);
}
.icon-comments-sticker {
display: none;
}
.icon-comments {
font-size: 1.5625rem;
line-height: 2rem;
margin-inline-end: 0.875rem;
}
.icon-next {
margin-inline-start: auto;
font-size: 1.5rem;
}
.recent-repliers {
display: inline-flex;
align-items: center;
margin-inline-end: 0.5rem;
margin-inline-start: -0.125rem;
.Avatar {
/* stylelint-disable-next-line plugin/no-low-performance-animation-properties */
transition: border 0.15s;
border: 2px solid var(--color-background);
margin-inline-end: 0;
z-index: 3;
overflow: hidden;
.emoji {
width: 1rem;
background-size: 1rem;
}
+ .Avatar {
z-index: 2;
+ .Avatar {
z-index: 1;
}
}
&:not(:first-child) {
margin-inline-start: -0.75rem;
}
}
}
&.has-unread .label {
position: relative;
&::after {
content: "";
display: inline-block;
width: 0.5rem;
height: 0.5rem;
border-radius: 50%;
background: var(--accent-color);
margin-inline-start: 0.75rem;
}
}
&.disabled {
cursor: var(--custom-cursor, default);
pointer-events: none;
}
}