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.
244 lines
4.7 KiB
244 lines
4.7 KiB
/* |
|
* https://github.com/morethanwords/tweb |
|
* Copyright (C) 2019-2021 Eduard Kuzmenko |
|
* https://github.com/morethanwords/tweb/blob/master/LICENSE |
|
*/ |
|
|
|
$transition: .2s ease-in-out; |
|
|
|
.preloader { |
|
&-circular { |
|
//animation: rotate 2s linear infinite; |
|
animation: rotate 1s linear infinite; |
|
height: 100%; |
|
transform-origin: center center; |
|
/* width: 100%; */ |
|
position: absolute; |
|
top: 0; |
|
bottom: 0; |
|
left: 0; |
|
right: 0; |
|
margin: auto; |
|
} |
|
|
|
&-path { |
|
//stroke-dasharray: 1, 200; |
|
stroke-dasharray: 93.6375, 124.85; // 75% |
|
stroke-dashoffset: 0; |
|
//animation: dash 1.5s ease-in-out infinite/* , color 6s ease-in-out infinite */; |
|
stroke-linecap: round; |
|
stroke: white; |
|
stroke-width: 3; |
|
} |
|
|
|
&-container { |
|
position: absolute; |
|
top: 0; |
|
bottom: 0; |
|
left: 0; |
|
right: 0; |
|
margin: auto; |
|
width: 54px; |
|
height: 54px; |
|
display: flex; |
|
cursor: pointer; |
|
overflow: hidden; // * fix overflow of rotate |
|
|
|
opacity: 0; |
|
transform: scale(0); |
|
|
|
body:not(.animation-level-0) & { |
|
transition: opacity $transition, transform $transition; |
|
} |
|
|
|
&.is-visible { |
|
&:not(.backwards) { |
|
opacity: 1; |
|
transform: scale(1); |
|
} |
|
} |
|
} |
|
} |
|
|
|
.preloader-container { |
|
--color: #fff; |
|
|
|
.you-spin-me-round { |
|
width: 100%; |
|
height: 100%; |
|
} |
|
|
|
.preloader-circular { |
|
animation: none; |
|
background-color: rgba(0, 0, 0, .3); |
|
border-radius: 50%; |
|
width: 100%; |
|
height: 100%; |
|
} |
|
|
|
.preloader-path-new { |
|
stroke-dasharray: 5, 149.82; |
|
//stroke-dasharray: 112.36, 149.82; |
|
stroke-dashoffset: 0; |
|
|
|
stroke-linecap: round; |
|
stroke: var(--color); |
|
stroke-width: 2; |
|
} |
|
|
|
@include animation-level(2) { |
|
&.is-visible:not(.manual), &.is-visible.animating { |
|
.you-spin-me-round { |
|
animation: rotate 2s linear infinite; |
|
} |
|
|
|
.preloader-path-new { |
|
transition: stroke-dasharray $transition, stroke-width $transition; |
|
} |
|
} |
|
} |
|
|
|
&.preloader-swing { |
|
cursor: default; |
|
|
|
.you-spin-me-round { |
|
animation: rotate 1s linear infinite !important; |
|
} |
|
|
|
.preloader-path-new { |
|
//animation: dashNew 1.5s ease-in-out infinite; |
|
stroke-dasharray: 112.36, 149.82; |
|
} |
|
|
|
&.preloader-streamable .preloader-path-new { |
|
stroke-dasharray: 88.95, 118.61; |
|
} |
|
} |
|
|
|
.preloader-close, .preloader-download { |
|
position: absolute; |
|
top: 0; |
|
left: 0; |
|
bottom: 0; |
|
right: 0; |
|
margin: auto; |
|
color: var(--color); |
|
width: 56%; |
|
height: 56%; |
|
//transform: scale(1); |
|
opacity: 1; |
|
|
|
@include animation-level(2) { |
|
transition: opacity .2s ease-in-out/* , transform .2s ease-in-out */; |
|
} |
|
|
|
path { |
|
fill: var(--color); |
|
} |
|
|
|
@include hover() { |
|
background: none; |
|
} |
|
} |
|
|
|
&:not(.manual) .preloader-download, |
|
&.manual .preloader-close { |
|
opacity: 0; |
|
//transform: scale(.5); |
|
} |
|
|
|
&.manual .preloader-path-new { |
|
stroke-width: 0; |
|
} |
|
|
|
.preloader-download { |
|
width: 1.5rem; |
|
height: 1.5rem; |
|
} |
|
|
|
&.preloader-streamable { |
|
&, svg { |
|
cursor: pointer !important; |
|
} |
|
|
|
circle { |
|
stroke-width: 2.5 !important; |
|
//animation: dashNewStreamable 1.5s ease-in-out infinite !important; |
|
} |
|
|
|
&:after { |
|
content: ""; |
|
position: absolute; |
|
width: .8125rem; |
|
height: .8125rem; |
|
border-radius: .125rem; |
|
background-color: var(--color); |
|
left: 50%; |
|
top: 50%; |
|
transform: translate(-50%, -50%); |
|
} |
|
} |
|
|
|
&.preloader-transparent { |
|
.preloader-circular { |
|
background-color: transparent; |
|
} |
|
} |
|
|
|
&.preloader-bold { |
|
.preloader-path-new { |
|
stroke-width: 3.5; |
|
} |
|
} |
|
} |
|
|
|
@keyframes rotate { |
|
100% { |
|
transform: rotate(360deg); |
|
} |
|
} |
|
|
|
@keyframes dash { |
|
0% { |
|
stroke-dasharray: 1, 200; |
|
stroke-dashoffset: 0; |
|
} |
|
50% { |
|
stroke-dasharray: 89, 200; |
|
stroke-dashoffset: -35px; |
|
} |
|
100% { |
|
stroke-dasharray: 89, 200; |
|
stroke-dashoffset: -124px; |
|
} |
|
} |
|
|
|
@keyframes dashNew { |
|
0% { |
|
stroke-dasharray: 1, 149.82; // 149.82 = getTotalLength |
|
stroke-dashoffset: 0; |
|
} |
|
50% { |
|
stroke-dasharray: 112.36, 149.82; // 112.36 = 149.82 * .75 |
|
stroke-dashoffset: -38; // bruted |
|
} |
|
100% { |
|
stroke-dasharray: 112.36, 149.82; |
|
stroke-dashoffset: -149.82; // totalLength |
|
} |
|
} |
|
|
|
@keyframes dashNewStreamable { |
|
0% { |
|
stroke-dasharray: 1, 200; |
|
stroke-dashoffset: 0; |
|
} |
|
50% { |
|
stroke-dasharray: 89, 200; |
|
stroke-dashoffset: -35px; |
|
} |
|
100% { |
|
stroke-dasharray: 89, 200; |
|
stroke-dashoffset: -237%; |
|
} |
|
}
|
|
|