mirror of
https://github.com/ThaUnknown/miru.git
synced 2026-03-28 13:28:52 +00:00
450 lines
No EOL
9.9 KiB
CSS
450 lines
No EOL
9.9 KiB
CSS
/* yes these are duplicates with framework */
|
|
.torrent-player {
|
|
--download: 0%;
|
|
position: absolute;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
align-content: center;
|
|
color: #ececec;
|
|
user-select: none;
|
|
font-family: Roboto, Arial, Helvetica, sans-serif;
|
|
z-index: 10;
|
|
will-change: width, right, bottom, position, display;
|
|
bottom: 2rem;
|
|
right: 2rem;
|
|
width: 25%;
|
|
height: auto;
|
|
transition: width 0.2s ease;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.torrent-player:target {
|
|
bottom: 0;
|
|
right: 0;
|
|
position: relative;
|
|
width: 100%;
|
|
height: 100%;
|
|
transition: none !important;
|
|
}
|
|
|
|
.torrent-player:target .middle,
|
|
.torrent-player:target .bottom {
|
|
display: flex;
|
|
}
|
|
|
|
.torrent-player video {
|
|
position: relative;
|
|
flex: 0 1 auto;
|
|
z-index: -1;
|
|
width: 100%;
|
|
height: 100%;
|
|
background: #191c209d;
|
|
backdrop-filter: blur(10px);
|
|
}
|
|
|
|
.torrent-player:target video {
|
|
position: absolute;
|
|
background: none;
|
|
}
|
|
|
|
.torrent-player a.miniplayer {
|
|
z-index: 5;
|
|
position: absolute;
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
.torrent-player.pip {
|
|
background: #000;
|
|
}
|
|
|
|
.torrent-player.pip canvas {
|
|
left: 99.9% !important;
|
|
/*hack to hide the canvas but still keep it updating*/
|
|
}
|
|
|
|
.torrent-player .material-icons {
|
|
font-size: 2.2rem;
|
|
padding: 1.2rem;
|
|
transition: all 0.2s ease;
|
|
display: flex;
|
|
}
|
|
|
|
.torrent-player.immersed {
|
|
cursor: none;
|
|
}
|
|
|
|
.torrent-player.immersed .top,
|
|
.torrent-player.immersed .middle .ctrl,
|
|
.torrent-player.immersed .bottom {
|
|
opacity: 0;
|
|
}
|
|
|
|
.torrent-player .ctrl[data-name='downloadFile'] {
|
|
text-decoration: none !important;
|
|
color: #ececec !important;
|
|
justify-self: end;
|
|
}
|
|
|
|
.torrent-player:target a.miniplayer,
|
|
.torrent-player .bottom input[type='range'][data-name='setProgress']+img[src=' '],
|
|
.torrent-player video[src='']:not([poster]),
|
|
.torrent-player .ctrl[disabled],
|
|
.torrent-player .ctrl[href=''],
|
|
.torrent-player:fullscreen .ctrl[data-name='toggleTheatre'],
|
|
.torrent-player:fullscreen .ctrl[data-name='openPlaylist'],
|
|
.torrent-player:fullscreen .ctrl[data-name='togglePopout'] {
|
|
display: none !important;
|
|
}
|
|
|
|
.torrent-player.pip video {
|
|
visibility: hidden;
|
|
}
|
|
|
|
.torrent-player .top {
|
|
background: linear-gradient(to bottom,
|
|
rgba(0, 0, 0, 0.8),
|
|
rgba(0, 0, 0, 0.4) 25%,
|
|
rgba(0, 0, 0, 0.2) 50%,
|
|
rgba(0, 0, 0, 0.1) 75%,
|
|
transparent);
|
|
display: none;
|
|
transition: 0.5s opacity ease;
|
|
border-width: 0;
|
|
border-top-width: 1px;
|
|
border-image-slice: 1;
|
|
border-style: solid;
|
|
border-image-source: linear-gradient(90deg,
|
|
#e5204c var(--download),
|
|
rgba(0, 0, 0, 0.8) var(--download));
|
|
grid-template-columns: 1fr auto 1fr;
|
|
}
|
|
|
|
.torrent-player:target .top {
|
|
display: grid;
|
|
}
|
|
|
|
.torrent-player .stats {
|
|
justify-content: center;
|
|
}
|
|
|
|
.torrent-player .top .stats {
|
|
display: flex;
|
|
}
|
|
|
|
.torrent-player .top span[data-name='peers']::after,
|
|
.torrent-player .top span[data-name='downSpeed']::after,
|
|
.torrent-player .top span[data-name='upSpeed']::after,
|
|
.torrent-player .top div[data-name='nowPlaying'] {
|
|
content: attr(data-value);
|
|
font-size: 1.8rem !important;
|
|
white-space: nowrap;
|
|
align-self: center;
|
|
font-weight: 600;
|
|
font-family: Roboto, Arial, Helvetica, sans-serif;
|
|
padding-left: 1.2rem;
|
|
}
|
|
|
|
.torrent-player .top div[data-name='nowPlaying'] {
|
|
padding-left: 1.2rem !important;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.torrent-player .top span[data-name='downloadFile'][disabled] {
|
|
display: block !important;
|
|
cursor: not-allowed;
|
|
color: rgba(255, 255, 255, 0.4);
|
|
}
|
|
|
|
.torrent-player .middle {
|
|
height: 100%;
|
|
flex: 1;
|
|
display: none;
|
|
flex-direction: row;
|
|
position: relative;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
|
|
.torrent-player .middle div[data-name='bufferingDisplay'] {
|
|
border: 4px solid #ffffff00;
|
|
border-top: 4px solid #fff;
|
|
border-radius: 50%;
|
|
width: 40px;
|
|
height: 40px;
|
|
animation: spin 1s linear infinite;
|
|
opacity: 0;
|
|
transition: 0.5s opacity ease;
|
|
position: absolute;
|
|
filter: drop-shadow(0 0 8px #000);
|
|
}
|
|
|
|
.torrent-player.buffering .middle div[data-name='bufferingDisplay'] {
|
|
opacity: 1 !important;
|
|
}
|
|
|
|
@keyframes spin {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
|
|
.torrent-player .middle .ctrl[data-name="ppToggle"] {
|
|
position: absolute;
|
|
width: 100%;
|
|
height: 100%;
|
|
display: block;
|
|
z-index: 2;
|
|
}
|
|
|
|
.torrent-player .middle .ctrl {
|
|
font-size: 4rem;
|
|
margin: 2rem;
|
|
z-index: 3;
|
|
display: none;
|
|
}
|
|
|
|
@media (pointer:none),
|
|
(pointer:coarse) {
|
|
.torrent-player .middle .ctrl {
|
|
display: flex;
|
|
}
|
|
}
|
|
|
|
.torrent-player .middle .ctrl[data-name='playPause'] {
|
|
font-size: 6rem;
|
|
}
|
|
|
|
.torrent-player .middle .ctrl,
|
|
.torrent-player .bottom .ctrl:hover {
|
|
filter: drop-shadow(0 0 8px #000);
|
|
}
|
|
|
|
.torrent-player .bottom {
|
|
background: linear-gradient(to top,
|
|
rgba(0, 0, 0, 0.8),
|
|
rgba(0, 0, 0, 0.4) 25%,
|
|
rgba(0, 0, 0, 0.2) 50%,
|
|
rgba(0, 0, 0, 0.1) 75%,
|
|
transparent);
|
|
display: none;
|
|
transition: 0.5s opacity ease;
|
|
}
|
|
|
|
.torrent-player .bottom .ctrl {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.torrent-player .bottom input[type='range'] {
|
|
-webkit-appearance: none;
|
|
background: transparent;
|
|
margin: 0;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.torrent-player .bottom input[type='range']:focus {
|
|
outline: none;
|
|
}
|
|
|
|
.torrent-player .bottom input[type='range']::-webkit-slider-runnable-track {
|
|
height: 3px;
|
|
}
|
|
|
|
.torrent-player .bottom input[type='range']::-moz-range-track {
|
|
height: 3px;
|
|
}
|
|
|
|
.torrent-player .bottom input[type='range']::-webkit-slider-thumb {
|
|
height: 0;
|
|
width: 0;
|
|
border-radius: 50%;
|
|
background: #e5204c;
|
|
-webkit-appearance: none;
|
|
appearance: none;
|
|
margin-top: 2px;
|
|
transition: all 0.1s ease;
|
|
}
|
|
|
|
.torrent-player .bottom input[type='range']::-moz-range-thumb {
|
|
height: 0;
|
|
width: 0;
|
|
border-radius: 50%;
|
|
background: #e5204c;
|
|
-moz-appearance: none;
|
|
appearance: none;
|
|
margin-top: 2px;
|
|
transition: all 0.1s ease;
|
|
border: none;
|
|
}
|
|
|
|
.torrent-player .bottom input[type='range']:hover::-webkit-slider-thumb {
|
|
height: 12px;
|
|
width: 12px;
|
|
margin-top: -4px;
|
|
}
|
|
|
|
.torrent-player .bottom input[type='range']:hover::-moz-range-thumb {
|
|
height: 12px;
|
|
width: 12px;
|
|
margin-top: -4px;
|
|
}
|
|
|
|
.torrent-player .bottom input[type='range'][data-name='setProgress']::-webkit-slider-runnable-track {
|
|
background: linear-gradient(90deg,
|
|
#e5204c var(--progress),
|
|
rgba(255, 255, 255, 0.2) var(--progress));
|
|
}
|
|
|
|
.torrent-player .bottom input[type='range'][data-name='setVolume']::-webkit-slider-runnable-track {
|
|
background: linear-gradient(90deg,
|
|
#e5204c var(--volume-level),
|
|
rgba(255, 255, 255, 0.2) var(--volume-level));
|
|
}
|
|
|
|
.torrent-player .bottom input[type='range'][data-name='setProgress']::-moz-range-track {
|
|
background: linear-gradient(90deg,
|
|
#e5204c var(--progress),
|
|
rgba(255, 255, 255, 0.2) var(--progress));
|
|
}
|
|
|
|
.torrent-player .bottom input[type='range'][data-name='setVolume']::-moz-range-track {
|
|
background: linear-gradient(90deg,
|
|
#e5204c var(--volume-level),
|
|
rgba(255, 255, 255, 0.2) var(--volume-level));
|
|
}
|
|
|
|
.torrent-player .bottom .volume {
|
|
display: flex;
|
|
width: auto;
|
|
}
|
|
|
|
.torrent-player .bottom .volume:hover input[type='range'] {
|
|
width: 5vw;
|
|
display: inline-block;
|
|
transition: all 0.1s ease;
|
|
margin-right: 1rem;
|
|
}
|
|
|
|
.torrent-player .bottom .volume input[type='range'] {
|
|
width: 0;
|
|
transition: all 0.1s ease;
|
|
}
|
|
|
|
.torrent-player .bottom div[data-name='progressWrapper'] {
|
|
--progress: 0%;
|
|
}
|
|
|
|
.torrent-player .bottom input[type='range'][data-name='setProgress'],
|
|
.torrent-player .bottom div[data-name='progressWrapper'],
|
|
.torrent-player .bottom div[data-name='progressWrapper'] div {
|
|
display: flex;
|
|
width: 100%;
|
|
height: 100%;
|
|
position: relative;
|
|
}
|
|
|
|
.torrent-player .bottom input[type='range'][data-name='setProgress']+img,
|
|
.torrent-player .bottom input[type='range'][data-name='setProgress']::before {
|
|
pointer-events: none;
|
|
opacity: 0;
|
|
position: absolute;
|
|
transform: translate(-50%, -100%);
|
|
font-family: Roboto, Arial, Helvetica, sans-serif;
|
|
white-space: nowrap;
|
|
align-self: center;
|
|
left: var(--progress);
|
|
font-weight: 600;
|
|
transition: 0.2s opacity ease;
|
|
}
|
|
|
|
.torrent-player .bottom input[type='range'][data-name='setProgress']+img {
|
|
top: -2rem;
|
|
width: 150px;
|
|
}
|
|
|
|
.torrent-player .bottom input[type='range'][data-name='setProgress']::before {
|
|
top: 0.5rem;
|
|
content: attr(data-elapsed);
|
|
color: #ececec;
|
|
}
|
|
|
|
.torrent-player .bottom input[type='range'][data-name='setProgress']:active+img,
|
|
.torrent-player .bottom input[type='range'][data-name='setProgress']:active::before {
|
|
opacity: 1;
|
|
}
|
|
|
|
.torrent-player .bottom div[data-name='progressWrapper']::before,
|
|
.torrent-player .bottom div[data-name='progressWrapper']::after {
|
|
color: #ececec;
|
|
font-size: 1.8rem !important;
|
|
white-space: nowrap;
|
|
align-self: center;
|
|
cursor: default;
|
|
line-height: var(--base-line-height);
|
|
padding: 0 1.2rem;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.torrent-player .bottom div[data-name='progressWrapper']::before {
|
|
content: attr(data-elapsed);
|
|
}
|
|
|
|
.torrent-player .bottom div[data-name='progressWrapper']::after {
|
|
content: attr(data-remaining);
|
|
}
|
|
|
|
.torrent-player .bottom .popup {
|
|
position: relative;
|
|
}
|
|
|
|
.torrent-player .bottom .popup input {
|
|
display: none;
|
|
}
|
|
|
|
.torrent-player .bottom .popup input:checked+label {
|
|
color: white
|
|
}
|
|
|
|
.torrent-player .bottom .popup label {
|
|
cursor: pointer;
|
|
color: rgba(255, 255, 255, 0.6);
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.torrent-player .bottom .popup .popup-menu {
|
|
visibility: hidden;
|
|
position: absolute;
|
|
transform: translateY(-100%);
|
|
text-transform: capitalize;
|
|
top: 0;
|
|
z-index: 10;
|
|
display: flex;
|
|
flex-direction: column;
|
|
min-width: 5rem;
|
|
background: #191c20;
|
|
padding: .8rem;
|
|
border-radius: 3px;
|
|
font-size: 1.6rem
|
|
}
|
|
|
|
.torrent-player .bottom .popup:hover .popup-menu {
|
|
visibility: visible;
|
|
}
|
|
|
|
@media (pointer:none),
|
|
(pointer:coarse) {
|
|
|
|
.torrent-player .bottom .ctrl[data-name='playPause'],
|
|
.torrent-player .bottom .ctrl[data-name='playNext'],
|
|
.torrent-player .bottom .volume,
|
|
.torrent-player .bottom .ctrl[data-name='togglePopout'],
|
|
.torrent-player .bottom .ctrl[data-name='toggleFullscreen'] {
|
|
display: none
|
|
}
|
|
} |