278 lines
4.8 KiB
CSS
278 lines
4.8 KiB
CSS
/*Canopy - The next generation of stoner streaming software
|
|
Copyright (C) 2024-2025 Rainbownapkin and the TTN Community
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU Affero General Public License as
|
|
published by the Free Software Foundation, either version 3 of the
|
|
License, or (at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU Affero General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Affero General Public License
|
|
along with this program. If not, see <https://www.gnu.org/licenses/>.*/
|
|
#queue-panel-layout-controller{
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow-y: auto;
|
|
height: 100%;
|
|
}
|
|
|
|
#queue-controls{
|
|
position: absolute;
|
|
left: 0;
|
|
right: 0;
|
|
z-index: 4;
|
|
}
|
|
|
|
#queue-control-offset{
|
|
height: 2.15em;
|
|
flex-shrink: 0
|
|
}
|
|
|
|
#queue-control-buttons{
|
|
height: 2em;
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: space-between;
|
|
margin: 0.15em 0.3em;
|
|
}
|
|
|
|
|
|
#queue-control-buttons button{
|
|
width: 4em;
|
|
}
|
|
|
|
#queue{
|
|
display: flex;
|
|
flex: 1;
|
|
flex-direction: row;
|
|
position: relative;
|
|
}
|
|
|
|
#queue-container{
|
|
position: relative;
|
|
flex-grow: 1;
|
|
overflow: hidden;
|
|
}
|
|
|
|
#queue-marker-container{
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: space-between;
|
|
flex-grow: 0.1;
|
|
}
|
|
|
|
div.queue-marker{
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
z-index: 2;
|
|
}
|
|
|
|
span.queue-marker{
|
|
height: 1px;
|
|
min-width: 5px;
|
|
flex: 1;
|
|
margin: 0.8em 0;
|
|
}
|
|
|
|
.queue-marker p{
|
|
margin: 0
|
|
}
|
|
|
|
div.queue-marker-first span{
|
|
margin: 0 0 0.8em 0;
|
|
}
|
|
|
|
div.queue-marker-last span{
|
|
margin: 0.8em 0 0 0;
|
|
}
|
|
|
|
div.queue-entry{
|
|
overflow: hidden;
|
|
position: absolute;
|
|
margin: 0 1em;
|
|
right: 0;
|
|
left: 0;
|
|
cursor:grab;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
user-select: none;
|
|
}
|
|
|
|
div.queue-entry p{
|
|
z-index: 2;
|
|
pointer-events: none;
|
|
}
|
|
|
|
div.dragging-queue-entry{
|
|
z-index: 3;
|
|
}
|
|
|
|
#time-marker{
|
|
position: absolute;
|
|
height: 1px;
|
|
width: 100%;
|
|
z-index: 1;
|
|
}
|
|
|
|
#queue-marker-scale-label{
|
|
position: absolute;
|
|
top: 25%;
|
|
left: 0;
|
|
right: 0;
|
|
text-align: center;
|
|
font-size: 3em;
|
|
}
|
|
|
|
.media-tooltip p{
|
|
margin: 0;
|
|
}
|
|
|
|
/* queue controls */
|
|
/* media prompts */
|
|
#queue-media-prompts{
|
|
margin: 0.15em 0.3em;
|
|
}
|
|
|
|
/* playlist manager */
|
|
.queue-playlist-label-span{
|
|
display: flex;
|
|
flex-direction: row;
|
|
width: fit-content;
|
|
margin-left: 0.15em;
|
|
}
|
|
|
|
.queue-playlist-label-span p{
|
|
margin: 0;
|
|
}
|
|
|
|
.queue-playlists-div{
|
|
margin: 0;
|
|
}
|
|
|
|
.queue-playlist-span, .queue-playlist-labels-span{
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: baseline;
|
|
text-wrap: nowrap;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.queue-playlist-span{
|
|
justify-content: space-between;
|
|
padding: 0 0.2em;
|
|
margin: 0 0.15em;
|
|
}
|
|
|
|
.queue-playlist-control{
|
|
border-radius: 0;
|
|
padding: 0.2em 0.1em;
|
|
font-size: 0.8em;
|
|
}
|
|
|
|
.queue-playlist-span p{
|
|
margin: 0 0.15em;
|
|
user-select: none;
|
|
}
|
|
|
|
.queue-playlist-title-span{
|
|
text-wrap: nowrap;
|
|
display: flex;
|
|
flex-direction: row;
|
|
}
|
|
|
|
/* Pass these up to the span to prevent moar dot-drawling */
|
|
.queue-playlist-title-span p, .queue-playlist-title-span i{
|
|
pointer-events: none;
|
|
}
|
|
|
|
.queue-playlist-count{
|
|
font-size: 0.8em;
|
|
}
|
|
|
|
.queue-playlist-media-container-div{
|
|
resize: vertical;
|
|
overflow: scroll;
|
|
height: 5em;
|
|
}
|
|
|
|
.queue-playlist-media-container-div p{
|
|
margin: 0;
|
|
font-size: 0.8em;
|
|
}
|
|
|
|
#queue-create-playlist-popup-div{
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
#queue-create-playlist-popup-div span{
|
|
display: flex;
|
|
justify-content: space-around;
|
|
text-wrap: nowrap;
|
|
}
|
|
|
|
#queue-create-playlist-popup-div span select{
|
|
width: 100%;
|
|
}
|
|
|
|
|
|
#queue-create-playlist-popup-div *{
|
|
margin: 0.1em;
|
|
}
|
|
|
|
#queue-create-playlist-popup-default-titles{
|
|
resize: vertical;
|
|
}
|
|
|
|
.queue-playlist-media-div{
|
|
margin: 0 0.15em;
|
|
padding: 0 0.15em;
|
|
}
|
|
|
|
.queue-playlist-add-url-button i.bi-link-45deg{
|
|
margin-right: 0.5em;
|
|
}
|
|
|
|
.queue-playlist-add-url-button i{
|
|
display: inline-block;
|
|
margin: 0;
|
|
padding: 0;
|
|
width: 0.5em;
|
|
}
|
|
|
|
.queue-playlist-media-div{
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: space-between;
|
|
text-wrap: nowrap;
|
|
}
|
|
|
|
.queue-playlist-media-title{
|
|
overflow: hidden;
|
|
}
|
|
|
|
.queue-playlist-media-control-span{
|
|
display: flex;
|
|
flex-direction: row;
|
|
height: 0.8em;
|
|
}
|
|
|
|
/* date */
|
|
#queue-control-date{
|
|
display: flex;
|
|
justify-content: center;
|
|
margin: 0.3em 20%;
|
|
}
|
|
|
|
#queue-control-date input{
|
|
width: 100%;
|
|
min-width: fit-content;
|
|
padding: 0 0.2em;
|
|
text-align: center;
|
|
} |