Telegram Web K with changes to work inside I2P
https://web.telegram.i2p/
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.
758 lines
14 KiB
758 lines
14 KiB
/* |
|
* https://github.com/morethanwords/tweb |
|
* Copyright (C) 2019-2021 Eduard Kuzmenko |
|
* https://github.com/morethanwords/tweb/blob/master/LICENSE |
|
*/ |
|
|
|
.pinned-message { |
|
&-border { |
|
position: relative; |
|
height: 2rem; |
|
width: .125rem; |
|
flex: 0 0 auto; |
|
// padding: .125rem 0; |
|
|
|
&-wrapper-1 { |
|
position: relative; |
|
top: 50%; |
|
transform: translateY(-50%); |
|
height: 2rem; |
|
width: .125rem; |
|
border-radius: 1px; |
|
background: var(--primary-color); |
|
} |
|
|
|
&-mask { |
|
--mask-height: .375rem; |
|
--height: 2.5rem; |
|
height: var(--height); |
|
overflow: hidden; |
|
/* mask-image: linear-gradient(to bottom, transparent 0, black var(--mask-height), black calc(var(--height) - var(--mask-height)), transparent var(--height)); |
|
|
|
&.mask-top { |
|
mask-image: linear-gradient(to bottom, transparent 0, black var(--mask-height)); |
|
} |
|
|
|
&.mask-bottom { |
|
mask-image: linear-gradient(to bottom, black calc(var(--height) - var(--mask-height)), transparent var(--height)); |
|
} */ |
|
|
|
&:before, |
|
&:after { |
|
position: absolute; |
|
left: 0; |
|
right: 0; |
|
content: " "; |
|
display: block; |
|
z-index: 1; |
|
height: var(--mask-height); |
|
opacity: 0; |
|
|
|
@include animation-level(2) { |
|
transition: opacity .2s ease-in-out; |
|
} |
|
} |
|
|
|
&:before { |
|
top: 0; |
|
background: linear-gradient(var(--surface-color), transparent); |
|
} |
|
|
|
&:after { |
|
bottom: 0; |
|
background: linear-gradient(transparent, var(--surface-color)); |
|
} |
|
|
|
&.mask-top:before, |
|
&.mask-bottom:after { |
|
opacity: 1; |
|
} |
|
} |
|
|
|
&-wrapper { |
|
color: var(--primary-color); |
|
position: relative; |
|
|
|
&:before { |
|
position: absolute; |
|
content: " "; |
|
left: 0; |
|
top: 0; |
|
right: 0; |
|
bottom: 0; |
|
display: block; |
|
background: var(--primary-color); |
|
opacity: .4; |
|
} |
|
} |
|
|
|
&-bars { |
|
stroke: currentColor; |
|
stroke-width: 2px; |
|
stroke-linecap: round; |
|
stroke-linejoin: round; |
|
} |
|
|
|
&-mark { |
|
position: absolute; |
|
left: 0; |
|
top: 0; |
|
width: 2px; |
|
background: currentColor; |
|
border-radius: 1px; |
|
} |
|
|
|
body:not(.animation-level-0) & { |
|
&-wrapper, |
|
&-mark { |
|
will-change: transform; |
|
transition: transform .25s ease-in-out; |
|
} |
|
} |
|
} |
|
|
|
&-content { |
|
--height: 32px; |
|
height: var(--height); |
|
} |
|
|
|
&-media { |
|
border-radius: .1875rem; |
|
} |
|
} |
|
|
|
.pinned-message, |
|
.reply { |
|
cursor: pointer; |
|
display: flex; |
|
align-items: center; |
|
overflow: hidden; |
|
position: relative; |
|
user-select: none; |
|
|
|
/* &.is-media { |
|
.emoji:first-child { |
|
margin: 0 .25rem 0 0; |
|
} |
|
} */ |
|
|
|
&-content { |
|
flex-grow: 1; |
|
flex-shrink: 1; |
|
overflow: hidden; |
|
pointer-events: none; |
|
position: relative; |
|
margin-left: .5rem; |
|
} |
|
|
|
&-title { |
|
color: var(--primary-color); |
|
} |
|
|
|
&-title, |
|
&-subtitle { |
|
font-size: var(--font-size-14); |
|
line-height: var(--line-height-14); |
|
position: relative; // ! WARNING (for custom emoji) |
|
|
|
@include text-overflow(); |
|
} |
|
|
|
&-media { |
|
height: 2rem !important; |
|
width: 2rem !important; |
|
overflow: hidden; |
|
position: absolute; |
|
left: 0; |
|
top: .125rem; |
|
|
|
&.is-round { |
|
border-radius: 50%; |
|
} |
|
|
|
// sticker |
|
/* > img { |
|
object-fit: contain !important; |
|
max-width: 100%; |
|
max-height: 100%; |
|
} */ |
|
> img, |
|
> video { |
|
object-fit: cover; |
|
width: 100%; |
|
height: 100%; |
|
} |
|
} |
|
|
|
i { |
|
font-style: normal; |
|
//color: var(--primary-color); |
|
color: var(--secondary-text-color); |
|
} |
|
|
|
img.emoji { |
|
height: 1rem; |
|
width: 1rem; |
|
vertical-align: top; |
|
} |
|
|
|
/* span.emoji { |
|
font-size: 1rem; |
|
vertical-align: unset; |
|
} */ |
|
} |
|
|
|
.reply { |
|
&.is-media { |
|
.reply-content { |
|
padding-left: 2.5rem; |
|
} |
|
} |
|
|
|
/* html.no-touch &:hover { |
|
background-color: var(--light-secondary-text-color); |
|
} */ |
|
|
|
&-border { |
|
height: 2rem; |
|
border-radius: 1px; |
|
min-width: 2px; |
|
background: var(--primary-color); |
|
} |
|
|
|
/* &-content { |
|
height: 2rem; |
|
} */ |
|
|
|
&-content { |
|
margin-left: .625rem; |
|
} |
|
|
|
&-media { |
|
border-radius: .25rem; |
|
} |
|
|
|
&-cancel { |
|
margin-bottom: 0 !important; |
|
} |
|
|
|
&-title { |
|
margin: -1px 0 1px; |
|
} |
|
|
|
.peer-title { |
|
font-weight: var(--font-weight-bold); |
|
} |
|
} |
|
|
|
.pinned-container { |
|
--container-height: 3.25rem; |
|
display: flex; |
|
justify-content: space-between; |
|
align-items: center; |
|
flex: 0 0 auto; |
|
overflow: visible; |
|
cursor: pointer; |
|
|
|
&.is-floating { |
|
position: absolute !important; |
|
top: var(--topbar-height); |
|
right: 0; |
|
left: 0; |
|
margin: 0; |
|
width: auto; |
|
height: var(--container-height); |
|
max-height: var(--container-height); |
|
background-color: var(--surface-color) !important; |
|
// box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, .15); |
|
// box-shadow: 0px 2px 3px 0px rgb(0 0 0 / 10%); |
|
|
|
.pinned-container-wrapper { |
|
order: 0; |
|
padding: 0 1rem; |
|
height: 100%; |
|
border-radius: 0; |
|
z-index: 0; |
|
max-width: 100%; |
|
|
|
@include respond-to(handhelds) { |
|
padding: 0 .5rem; |
|
} |
|
|
|
/* &-utils { |
|
position: relative; |
|
z-index: 0; |
|
} */ |
|
} |
|
|
|
.pinned-container-content { |
|
margin-right: .5rem; |
|
|
|
@include respond-to(medium-screens) { |
|
body.is-right-column-shown & { |
|
padding-right: var(--right-column-width); |
|
} |
|
} |
|
} |
|
|
|
/* &:before { |
|
content: " "; |
|
height: 1px; |
|
background-color: var(--border-color); |
|
top: 0; |
|
right: 0; |
|
left: 0; |
|
position: absolute; |
|
} */ |
|
|
|
&:before { |
|
content: " "; |
|
border-top: 1px solid var(--border-color); |
|
border-bottom: 1px solid var(--border-color); |
|
position: absolute; |
|
top: 0; |
|
right: 0; |
|
bottom: 0; |
|
left: 0; |
|
} |
|
|
|
// &:before { |
|
// width: 100%; |
|
// content: " "; |
|
// height: 52px; |
|
// left: 0; |
|
// top: 0; |
|
// position: absolute; |
|
// /* box-shadow: inset 0px 2px 3px 0px rgba(0, 0, 0, .15); */ |
|
// box-shadow: inset 0px 1px 2px 0px rgba(0, 0, 0, .15); |
|
// } |
|
} |
|
|
|
&-content { |
|
flex: 1 1 auto; |
|
overflow: hidden; |
|
position: relative; |
|
pointer-events: none; |
|
} |
|
|
|
.btn-icon { |
|
font-size: 1.5rem; |
|
display: flex; |
|
justify-content: center; |
|
// z-index: 1; |
|
flex: 0 0 auto; |
|
} |
|
|
|
&-wrapper { |
|
display: flex; |
|
flex: 1 1 auto; |
|
overflow: hidden; |
|
align-items: center; |
|
padding: .25rem; |
|
border-radius: .25rem; |
|
order: 1; |
|
|
|
&-utils { |
|
flex: 0 0 auto; |
|
display: flex; |
|
align-items: center; |
|
position: relative; |
|
} |
|
|
|
/* html.no-touch &:hover { |
|
background-color: var(--light-secondary-text-color); |
|
} */ |
|
} |
|
} |
|
|
|
.pinned-message { |
|
// display: none; |
|
display: flex; |
|
width: auto; |
|
|
|
&-content { |
|
overflow: visible !important; // * fix blinking in Safari iOS, transform overflow |
|
} |
|
|
|
&-media-container { |
|
width: 2rem; |
|
height: 2rem; |
|
position: absolute; |
|
margin-left: -.25rem; |
|
|
|
@include animation-level(2) { |
|
transition: transform var(--pm-transition)/* , opacity var(--pm-transition) */; |
|
} |
|
} |
|
|
|
/* &-media { |
|
transform: none !important; |
|
|
|
&.is-hiding { |
|
&.backwards { |
|
|
|
} |
|
} |
|
} */ |
|
|
|
// * fix blink in safari, can't add translateX from nowhere... |
|
&-title, |
|
&-subtitle { |
|
transform: translateX(0); |
|
} |
|
|
|
&.is-media { |
|
.pinned-message-title, |
|
.pinned-message-subtitle { |
|
transform: translateX(2.25rem); |
|
//overflow: hidden !important; |
|
} |
|
} |
|
|
|
&:not(.is-media) &-media-container { |
|
transform: scale(0); |
|
//opacity: 0; |
|
} |
|
|
|
.pinned-container-wrapper { |
|
min-width: 16rem; |
|
} |
|
|
|
&:not(.is-floating) { |
|
margin-right: 1rem; |
|
//width: 15.5rem; |
|
|
|
/* .pinned-message-content { |
|
margin-right: 2.25rem; |
|
} */ |
|
|
|
.pinned-container-wrapper-utils { |
|
display: none; |
|
} |
|
|
|
> .pinned-message-close { |
|
display: flex; |
|
margin-right: .75rem; |
|
order: 0; |
|
} |
|
} |
|
|
|
&.is-media { |
|
.pinned-message-title, |
|
.pinned-message-subtitle { |
|
width: calc(100% - 2.25rem); |
|
} |
|
} |
|
|
|
&.is-floating { |
|
--container-height: var(--pinned-message-height); |
|
/* .chat:not(.type-discussion) & { |
|
.pinned-container-wrapper { |
|
padding-right: 3rem; |
|
} |
|
} */ |
|
|
|
> .btn-icon { |
|
display: none; |
|
} |
|
|
|
.pinned-container-wrapper { |
|
padding-left: 1rem; |
|
} |
|
|
|
.pinned-container-content { |
|
margin-right: 0; |
|
} |
|
} |
|
|
|
&-content { |
|
.pinned-message-title, |
|
.pinned-message-subtitle { |
|
position: relative; |
|
height: calc(var(--height) / 2); |
|
min-height: calc(var(--height) / 2); |
|
overflow: visible; |
|
|
|
@include animation-level(2) { |
|
transition: transform var(--pm-transition); |
|
} |
|
} |
|
} |
|
|
|
&-title { |
|
margin-top: -.125rem; |
|
margin-bottom: .25rem; |
|
} |
|
|
|
&-subtitle { |
|
.animated-super-row { |
|
font-size: var(--font-size-14); |
|
line-height: 16px; |
|
overflow: hidden; |
|
white-space: nowrap; |
|
text-overflow: ellipsis; |
|
} |
|
} |
|
|
|
.animated-counter { |
|
transition: transform var(--pm-transition), opacity var(--pm-transition); |
|
|
|
body.animation-level-0 & { |
|
transition: none; |
|
} |
|
|
|
&:before { |
|
content: "#"; |
|
} |
|
|
|
&.is-last { |
|
&:not(.backwards) { |
|
transform: scale(0.68); |
|
opacity: 0; |
|
} |
|
|
|
/* .animated-super-row { |
|
transition: none !important; |
|
} */ |
|
} |
|
} |
|
|
|
.animated-super-row { |
|
--translateY: 16px; |
|
} |
|
|
|
.pinned-message-media { |
|
--translateY: 32px; |
|
} |
|
|
|
/* .animated-super-row.is-hiding { |
|
&.from-top { |
|
transform: translateY(-16px); |
|
} |
|
|
|
&.from-bottom { |
|
transform: translateY(16px); |
|
} |
|
} |
|
|
|
.pinned-message-media.is-hiding { |
|
&.from-top { |
|
transform: translateY(-32px); |
|
} |
|
|
|
&.from-bottom { |
|
transform: translateY(32px); |
|
} |
|
} */ |
|
|
|
|
|
&.hide ~ .tgico-pinlist, |
|
&:not(.is-many) ~ .tgico-pinlist { |
|
display: none; |
|
} |
|
|
|
&.is-many { |
|
.pinned-message-close { |
|
display: none; |
|
} |
|
|
|
&:not(.is-floating) { |
|
.pinned-message-pinlist { |
|
display: none; |
|
} |
|
} |
|
|
|
&.is-floating { |
|
.pinned-message-close { |
|
display: none; |
|
} |
|
} |
|
} |
|
|
|
&:not(.is-many) { |
|
.pinned-message-pinlist { |
|
display: none; |
|
} |
|
} |
|
|
|
&-pinlist { |
|
order: 2; |
|
} |
|
|
|
.chat.type-discussion & { |
|
.pinned-container-close { |
|
display: none !important; |
|
} |
|
} |
|
} |
|
|
|
.pinned-audio { |
|
--progress-height: .25rem; |
|
|
|
&.is-floating { |
|
--container-height: var(--pinned-audio-height); |
|
// z-index: 1; // fix z-index for volume selector |
|
} |
|
|
|
&:not(.is-floating) { |
|
padding-right: 1.75rem; |
|
max-width: 210px; |
|
position: relative; |
|
} |
|
|
|
/* &.is-floating .pinned-audio-ico { |
|
margin-left: -.25rem; |
|
} */ |
|
|
|
.pinned-container-wrapper { |
|
overflow: visible !important; |
|
|
|
> .btn-icon { |
|
margin-left: 0 !important; |
|
} |
|
} |
|
|
|
&-ico { |
|
&:before { |
|
content: $tgico-play; |
|
} |
|
|
|
&.flip-icon:before { |
|
content: $tgico-pause; |
|
} |
|
} |
|
|
|
&-title { |
|
font-weight: var(--font-weight-bold); |
|
} |
|
|
|
&-subtitle { |
|
color: var(--secondary-text-color); |
|
} |
|
|
|
&-title, |
|
&-subtitle { |
|
font-size: var(--font-size-14); |
|
line-height: var(--line-height-14); |
|
width: 100%; |
|
max-width: 100%; |
|
|
|
@include text-overflow(); |
|
} |
|
|
|
&-content { |
|
margin-left: .75rem; |
|
} |
|
|
|
&-progress { |
|
--border-radius: 0; |
|
--height: var(--progress-height); |
|
--translateY: .125rem; |
|
position: absolute; |
|
right: 0; |
|
bottom: 0; |
|
left: 0; |
|
transform: scaleX(var(--topbar-floating-scaleX)) translateY(var(--translateY)); |
|
transform-origin: left center; |
|
|
|
@include sidebar-transform(false, false); |
|
|
|
&:before { |
|
@include animation-level(2) { |
|
transition: opacity .2s ease-in-out; |
|
} |
|
} |
|
|
|
&:not(:hover):before { |
|
opacity: 0; |
|
} |
|
|
|
@include hover() { |
|
--translateY: 0; |
|
} |
|
|
|
.progress-line { |
|
&__filled { |
|
&:after { |
|
display: none !important; |
|
} |
|
} |
|
|
|
&__seek { |
|
top: -1rem; |
|
} |
|
} |
|
|
|
&-wrapper { |
|
position: absolute; |
|
height: .5rem; |
|
right: 0; |
|
bottom: 0; |
|
left: 0; |
|
overflow: hidden; |
|
} |
|
} |
|
|
|
&-volume { |
|
align-items: center; |
|
position: relative; |
|
width: 2.5rem; |
|
height: 2.5rem; |
|
|
|
html.is-touch & { |
|
display: none; |
|
} |
|
|
|
&-tunnel { |
|
position: absolute; |
|
top: 100%; |
|
left: 0; |
|
right: 0; |
|
bottom: -1rem; |
|
content: " "; |
|
} |
|
|
|
.player-volume__icon { |
|
display: flex; |
|
cursor: pointer; |
|
} |
|
|
|
.progress-line { |
|
&-container { |
|
position: absolute; |
|
top: 100%; |
|
width: 5rem; |
|
padding: .75rem 1rem; |
|
margin-top: 2.25rem; |
|
transform: rotate(270deg); |
|
border-radius: $border-radius-medium; |
|
background-color: var(--surface-color); |
|
box-shadow: 0px 1px 5px 0px rgb(0 0 0 / 15%); |
|
opacity: 0; |
|
visibility: hidden; |
|
transition: opacity .2s ease-in-out, visibility 0s .2s; |
|
|
|
// make a tunnel so volume won't hide during moving the cursor |
|
/* &:before { |
|
position: absolute; |
|
top: -50%; |
|
left: 0; |
|
right: -1rem; |
|
content: " "; |
|
} */ |
|
|
|
@include animation-level(0) { |
|
transition: none !important; |
|
} |
|
} |
|
} |
|
|
|
&:hover, &:active { |
|
.progress-line-container { |
|
opacity: 1; |
|
visibility: visible; |
|
transition: opacity .2s ease-in-out, visibility 0s 0s; |
|
} |
|
} |
|
} |
|
}
|
|
|