Add partymode to webui
This commit is contained in:
parent
4dfa7a87a3
commit
ff73ab88ee
|
@ -25,6 +25,7 @@ COLOR_LIGHT = "#f8f9fa"
|
||||||
COLOR_DARK = "#343a40"
|
COLOR_DARK = "#343a40"
|
||||||
|
|
||||||
# Font Awesome
|
# Font Awesome
|
||||||
|
ICON_PARTY = '<i class="fas fa-hat-wizard"></i>'
|
||||||
ICON_PREV = '<i class="fas fa-step-backward"></i>'
|
ICON_PREV = '<i class="fas fa-step-backward"></i>'
|
||||||
ICON_NEXT = '<i class="fas fa-step-forward"></i>'
|
ICON_NEXT = '<i class="fas fa-step-forward"></i>'
|
||||||
ICON_PLAY = '<i class="fas fa-play"></i>'
|
ICON_PLAY = '<i class="fas fa-play"></i>'
|
||||||
|
|
|
@ -25,6 +25,9 @@ class RemiApp(App):
|
||||||
|
|
||||||
self.playback.playing = gui.Label("Now playing: None")# (TODO): update this
|
self.playback.playing = gui.Label("Now playing: None")# (TODO): update this
|
||||||
|
|
||||||
|
self.playback.party = gui.Button(ICON_PARTY)
|
||||||
|
self.playback.party.attributes["onclick"] = "document.body.classList.toggle('dancing');"
|
||||||
|
self.playback.party.attributes["title"] = "ENABLE PARTY MODE" # hover text
|
||||||
self.playback.previous = gui.Button(ICON_PREV)
|
self.playback.previous = gui.Button(ICON_PREV)
|
||||||
self.playback.previous.set_on_click_listener(self.playback_previous)
|
self.playback.previous.set_on_click_listener(self.playback_previous)
|
||||||
self.playback.play = gui.Button(ICON_PLAY)
|
self.playback.play = gui.Button(ICON_PLAY)
|
||||||
|
@ -64,14 +67,18 @@ class RemiApp(App):
|
||||||
def make_gui_container(self):#placement and styling
|
def make_gui_container(self):#placement and styling
|
||||||
# Logo image:
|
# Logo image:
|
||||||
self.logo_image.style["width"] = f"100%"
|
self.logo_image.style["width"] = f"100%"
|
||||||
for i in (self.playback.previous, self.playback.play, self.playback.next):
|
for i in (self.playback.previous, self.playback.play, self.playback.next, self.playback.party):
|
||||||
i.style["margin"] = "3px"
|
i.style["margin"] = "3px"
|
||||||
i.style["width"] = "2.8em"
|
i.style["width"] = "2.8em"
|
||||||
|
|
||||||
# Playback:
|
# Playback:
|
||||||
|
self.playback.party.style["background"] \
|
||||||
|
= f"linear-gradient(40deg,{COLOR_PINK},{COLOR_TEAL})"
|
||||||
|
|
||||||
self.playback.play.style["background"] \
|
self.playback.play.style["background"] \
|
||||||
= f"linear-gradient(40deg,{COLOR_BLUE},{COLOR_PURPLE})"
|
= f"linear-gradient(40deg,{COLOR_BLUE},{COLOR_PURPLE})"
|
||||||
|
|
||||||
|
|
||||||
self.playback.volume_label.style["font-size"] = "0.8em"
|
self.playback.volume_label.style["font-size"] = "0.8em"
|
||||||
|
|
||||||
self.playback.volume_slider.style["width"] = "150px"
|
self.playback.volume_slider.style["width"] = "150px"
|
||||||
|
@ -128,6 +135,7 @@ class RemiApp(App):
|
||||||
left_container.append(self.playback.playing)
|
left_container.append(self.playback.playing)
|
||||||
|
|
||||||
playback_container = gui.HBox()
|
playback_container = gui.HBox()
|
||||||
|
playback_container.append(self.playback.party)
|
||||||
playback_container.append(self.playback.previous)
|
playback_container.append(self.playback.previous)
|
||||||
playback_container.append(self.playback.play)
|
playback_container.append(self.playback.play)
|
||||||
playback_container.append(self.playback.next)
|
playback_container.append(self.playback.next)
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 1.1 MiB |
Binary file not shown.
After Width: | Height: | Size: 263 KiB |
|
@ -1,5 +1,5 @@
|
||||||
@charset "UTF-8";
|
@charset "UTF-8";
|
||||||
@import url("https://use.fontawesome.com/releases/v5.0.7/css/all.css");
|
@import url("https://use.fontawesome.com/releases/v5.7.2/css/all.css");
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Roboto';
|
font-family: 'Roboto';
|
||||||
|
@ -658,3 +658,44 @@ ul.TreeView{
|
||||||
.TreeItem[has-subtree='true'][treeopen='true']:hover {
|
.TreeItem[has-subtree='true'][treeopen='true']:hover {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* document.body.classList.toggle("dancing"); */
|
||||||
|
body.dancing::before,
|
||||||
|
body.dancing::after {
|
||||||
|
position: fixed !important;
|
||||||
|
display: block;
|
||||||
|
z-index: 1;
|
||||||
|
bottom:-0.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.dancing::before {
|
||||||
|
left:0;
|
||||||
|
content: url('/res/dance2.gif');
|
||||||
|
}
|
||||||
|
|
||||||
|
body.dancing::after {
|
||||||
|
right:0;
|
||||||
|
content: url('/res/dance1.gif');
|
||||||
|
transform: scale(0.5);
|
||||||
|
transform-origin: 100% 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.dancing {
|
||||||
|
animation-name: party_colors;
|
||||||
|
animation-duration: 2s;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
|
||||||
|
}
|
||||||
|
@keyframes party_colors {
|
||||||
|
0%{background-color: red;}
|
||||||
|
10%{background-color: blue;}
|
||||||
|
20%{background-color: green;}
|
||||||
|
30%{background-color: yellow;}
|
||||||
|
40%{background-color: pink;}
|
||||||
|
50%{background-color: white;}
|
||||||
|
60%{background-color: cyan;}
|
||||||
|
70%{background-color: purple;}
|
||||||
|
80%{background-color: lime;}
|
||||||
|
90%{background-color: #a0aaff;}
|
||||||
|
100%{background-color: red;}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue