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.
 
 
 
 
 

420 lines
7.8 KiB

/*
* https://github.com/morethanwords/tweb
* Copyright (C) 2019-2021 Eduard Kuzmenko
* https://github.com/morethanwords/tweb/blob/master/LICENSE
*/
.btn, .btn-icon {
background: none;
outline: none;
border: none;
cursor: pointer;
body.animation-level-0 & {
transition: none;
}
@include btn-hoverable();
}
.btn-icon {
text-align: center;
font-size: 1.5rem;
line-height: 1;
border-radius: 50% !important;
color: var(--secondary-text-color);
background-color: transparent;
border: none;
padding: .5rem;
position: relative;
overflow: hidden;
transition: color .15s ease-in-out, opacity .15s ease-in-out, background-color .15s ease-in-out;
/* kostil */
display: flex;
align-items: center;
justify-content: center;
&.active {
color: var(--primary-color);
}
&:disabled {
pointer-events: none !important;
opacity: var(--disabled-opacity);
}
}
.btn-corner {
--offset: 1.25rem;
--translateY: calc(54px + var(--offset));
position: absolute !important;
bottom: var(--offset);
right: var(--offset);
//transition: .2s ease;
transition: transform var(--btn-corner-transition) !important;
transform: translate3d(0, var(--translateY), 0);
z-index: 3;
user-select: none;
background-color: var(--primary-color);
text-align: center;
font-size: 1.5rem;
color: #fff;
border: none;
outline: none;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
padding: 0 !important;
&.is-visible {
--translateY: 0;
}
body.animation-level-0 & {
transition: none !important;
}
&:disabled {
opacity: 1 !important;
pointer-events: all !important;
}
.preloader-circular {
width: 2.5rem;
height: 2.5rem;
}
}
.btn-menu {
visibility: hidden;
position: absolute;
background-color: var(--surface-color);
box-shadow: 0px 2px 8px 1px rgba(0, 0, 0, .24);
z-index: 3;
top: 100%;
padding: .5rem 0;
border-radius: $border-radius-medium;
opacity: 0;
transform: scale(.8);
transition: opacity var(--btn-menu-transition), transform var(--btn-menu-transition), visibility var(--btn-menu-transition);
font-size: 16px;
body.animation-level-0 & {
transition: none;
}
-webkit-user-select: none; /* disable selection/Copy of UIWebView */
-webkit-touch-callout: none; /* disable the IOS popup when long-press on a link */
&.active {
visibility: visible;
opacity: 1;
transform: scale3d(1, 1, 1); // * scale3d (NOT scale) will fix jumping text
}
&:not(.active) {
&, .btn-menu-item {
pointer-events: none !important;
}
}
&.bottom-left {
right: 0;
top: 100%;
transform-origin: top right;
}
&.bottom-right {
left: 0;
top: 100%;
transform-origin: top left;
}
&.bottom-center {
transform-origin: top center;
}
&.top-left {
top: initial;
right: 0;
bottom: 100%;
transform-origin: bottom right;
}
&.top-right {
top: initial;
left: 0;
bottom: 100%;
transform-origin: bottom left;
}
&.center-left {
transform-origin: center right;
}
&.center-right {
transform-origin: center left;
}
&-item {
display: flex;
position: relative;
padding: 0 40px 0 1rem;
height: 56px;
cursor: pointer !important;
pointer-events: all !important;
color: var(--primary-text-color);
text-transform: none;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
align-items: center;
text-align: left;
line-height: var(--line-height);
@include hover-background-effect();
&.danger {
@include hover-background-effect(danger);
}
&:before {
color: var(--secondary-text-color);
font-size: 1.5rem;
margin-right: 2rem;
}
@include respond-to(handhelds) {
padding: 0 30px 0 16px;
height: 50px;
}
&-text {
flex: 1 1 auto;
}
}
/* &-overlay {
position: fixed !important;
left: -100vw;
right: -100vw;
top: -100vh;
bottom: -100vh;
z-index: 1;
background-color: rgba(0, 0, 0, .2);
} */
&-overlay {
position: fixed !important;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: 1;
cursor: default;
user-select: none;
//background-color: rgba(0, 0, 0, .2);
}
/* &-toggle */&-overlay {
left: -100vw;
right: -100vw;
top: -100vh;
bottom: -100vh;
width: auto !important;
max-width: none !important;
}
&.has-footer {
padding-bottom: 0;
}
&-footer {
height: 2.5rem;
background: var(--background-color-true);
display: flex;
align-items: center;
justify-content: center;
border-bottom-left-radius: inherit;
border-bottom-right-radius: inherit;
font-size: .875rem;
cursor: default;
/* &-text {
margin-top: -.125rem;
} */
}
}
.btn-primary {
border-radius: $border-radius-medium;
width: 100%;
text-align: center;
height: 54px;
border: none;
font-weight: 500;
cursor: pointer;
overflow: hidden;
position: relative;
padding: 0; // new
transition: .2s opacity;
@include hover() {
transition: .2s background-color, .2s opacity;
background: var(--dark-primary-color);
}
&-transparent {
color: var(--primary-color);
background-color: transparent;
@include hover() {
background: var(--light-primary-color);
}
&.danger {
@include hover-background-effect(red, false);
}
.preloader-circular .preloader-path {
stroke: var(--primary-color);
}
}
body.animation-level-0 & {
transition: none;
}
> svg, use {
height: calc(100% - 20px);
right: 15px;
left: auto;
}
&:disabled {
pointer-events: none !important;
opacity: var(--disabled-opacity);
}
}
.btn-control {
width: auto;
height: 40px;
align-items: center;
margin: 15px auto 1rem;
border-radius: 20px;
padding: 0 24px 0 12px;
display: flex;
&.tgico:before {
font-size: 1.5rem;
margin-right: .375rem;
}
}
// ! example: multiselect input, button in pinned messages chat, settings, chat background tab
.btn-transparent {
color: var(--primary-text-color);
background-color: transparent;
display: flex;
align-items: center;
padding: 0 1rem;
height: 3.5rem;
//width: auto;
//text-transform: capitalize;
font-weight: normal;
line-height: 1.3125; // * it centers the text
@include respond-to(handhelds) {
height: 3rem;
}
@include hover-background-effect();
&.danger {
@include hover-background-effect(red);
}
// * tgico
&:before {
color: var(--secondary-text-color);
font-size: 1.5rem;
margin-right: 2rem;
}
&.btn-short:before {
margin-right: 1rem;
}
}
.btn-primary.btn-circle {
.preloader-circular {
height: calc(100% - 20px);
right: auto;
left: auto;
margin: 0;
top: 10px;
.preloader-path {
stroke: #fff;
}
}
}
.btn-menu-toggle {
position: relative;
overflow: visible !important;
font-weight: normal !important;
cursor: pointer !important;
pointer-events: all !important;
&:not(.btn-primary):not(.btn-corner).menu-open {
background-color: var(--light-secondary-text-color);
}
.btn-menu {
margin-top: .5rem;
}
}
.btn-circle {
--size: 54px;
border-radius: 50%;
height: var(--size);
width: var(--size);
line-height: var(--size);
@include respond-to(handhelds) {
--size: 46px;
}
path {
fill: white;
}
}
.btn-disabled {
pointer-events: none !important;
cursor: default !important;
color: var(--secondary-text-color) !important;
&:before {
color: inherit !important;
}
}
.btn-secondary:not(:first-child) {
margin-top: .5rem !important;
}
.btn-color-primary {
background: var(--primary-color);
color: #fff;
/* .c-ripple__circle {
background-color: var(--light-primary-color);
} */
}