TeaWeb/shared/js/ui/frames/side/MusicBotRenderer.scss

329 lines
5.8 KiB
SCSS

@import "../../../../css/static/mixin";
@import "../../../../css/static/properties";
$color_client_normal: #cccccc;
$client_info_avatar_size: 10em;
$bot_thumbnail_width: 16em;
$bot_thumbnail_height: 9em;
.bodySeek {
* {
@include user-select(none!important);
}
}
.container {
display: flex;
flex-direction: column;
justify-content: stretch;
padding-left: .5em;
padding-right: .5em;
padding-bottom: .5em;
height: 100%;
.playlist {
margin-top: 1.5em;
flex-shrink: 1;
flex-grow: 1;
}
}
.player {
flex-shrink: 0;
flex-grow: 0;
display: flex;
flex-direction: column;
justify-content: stretch;
}
.containerThumbnail {
flex-grow: 0;
flex-shrink: 0;
position: relative;
display: inline-block;
margin: calc(#{$bot_thumbnail_height} / -2) .75em .5em .5em;
align-self: center;
border-radius: .5em;
overflow: hidden;
.thumbnail {
overflow: hidden;
width: $bot_thumbnail_width;
height: $bot_thumbnail_height;
@include transition(opacity $button_hover_animation_time ease-in-out);
img {
position: absolute;
width: 100%;
height: 100%;
}
}
}
.containerTimeline {
margin-left: .5em;
margin-right: .5em;
margin-bottom: .5em;
.timestamps {
display: flex;
flex-direction: row;
justify-content: space-between;
color: #999;
font-size: .75em;
}
$timeline_height: .6em;
.timeline {
width: 100%;
position: relative;
font-size: 0.8em;
margin-top: 0.1em;
height: $timeline_height;
cursor: pointer;
background-color: #242527;
border-radius: 0.2em;
overflow: visible;
.indicator {
position: absolute;
left: 0;
top: 0;
bottom: 0;
border-radius: .2em;
}
.buffered {
background-color: #2f3133;
width: 30%;
}
.playtime {
background-color: #4370a2;
width: 25%;
}
$thumb_width: 1.2em;
$thumb_inner_width: 0.4em;
.thumb {
position: absolute;
height: $thumb_width;
width: $thumb_width;
left: -($thumb_width / 2);
bottom: -$thumb_width / 2 + $timeline_height / 2;
background-color: #a5a5a5;
box-shadow: 0 0 0.5em 1px #a5a5a53d;
display: flex;
flex-direction: column;
justify-content: center;
.dot {
align-self: center;
height: $thumb_inner_width;
width: $thumb_inner_width;
background-color: #4370a2;
box-shadow: 0 0 0.1em 1px hsla(212, 41%, 60%, 1);
border-radius: 50%;
}
border-radius: 50%;
//@include transition(.4s);
margin-left: 25%;
}
}
}
.controlButtons {
display: flex;
flex-direction: row;
justify-content: center;
}
.controlButton {
width: 2em;
height: 2em;
margin-right: .5em;
margin-left: .5em;
cursor: pointer;
svg {
width: 2em;
height: 2em;
fill: #242527;
@include transition($button_hover_animation_time ease-in-out);
}
&:hover {
svg {
fill: #0a0a0a;
}
}
}
.containerSongInfo {
display: flex;
flex-direction: column;
justify-content: flex-start;
flex-shrink: 1;
flex-grow: 1;
margin-left: .5em;
margin-right: .5em;
min-width: 1em;
.songName {
font-size: 1.5em;
min-width: 1em;
max-width: 100%;
flex-shrink: 1;
flex-grow: 0;
align-self: center;
color: #999999;
@include text-dotdotdot();
}
.songDescription {
display: none;
}
}
.containerControl {
position: relative;
margin-top: 1em;
}
.volumeOverlay {
position: absolute;
top: 0;
left: 0;
bottom: 0;
max-width: 100%;
width: 4em;
margin-top: 0;
padding-top: 0;
padding-bottom: 0;
padding-right: .5em;
display: flex;
flex-direction: row;
justify-content: stretch;
border-radius: .2em;
@include transition(all .2s ease-in-out);
&.expended {
width: 100%;
background-color: #2e2e2e;
margin-top: -3em;
margin-bottom: -1em;
padding-top: 1.25em;
padding-bottom: 1.25em;
box-shadow: inset 0 0 5px var(--side-info-shadow);
.content {
min-width: 4em;
width: 100%;
flex-shrink: 1;
}
svg {
fill: #6c6c60!important;
&:hover {
fill: #59594f !important;
}
}
}
.controlButton {
flex-grow: 0;
flex-shrink: 0;
margin-left: .5em;
}
.content {
width: 0;
overflow: hidden;
margin-left: .5em;
display: flex;
flex-direction: column;
justify-content: center;
.containerSlider {
display: flex;
flex-direction: row;
justify-content: stretch;
.name {
flex-shrink: 0;
flex-grow: 0;
width: 9em;
color: var(--text);
a {
width: 2.3em;
text-align: right;
display: inline-block;
}
}
.slider {
flex-shrink: 1;
flex-grow: 1;
min-width: 3em;
}
&:not(:last-child) {
margin-bottom: .5em;
}
}
}
}