play/pause fixed; mark current song in queue
This commit is contained in:
parent
671bcd300f
commit
fbd482d876
3 changed files with 18 additions and 19 deletions
15
static/controls.js
vendored
15
static/controls.js
vendored
|
@ -138,7 +138,7 @@ control_previous.addEventListener("click", e => {
|
|||
});
|
||||
});
|
||||
control_play_pause.addEventListener("click", e => {
|
||||
if (e.target.innerHTML === "⏸︎") { // pause // TODO: check is never true
|
||||
if (e.target.innerHTML === "⏸︎") {
|
||||
fetch(`${API_URL}/pause`).then(async r => {
|
||||
if (r.status >= 400) {
|
||||
console.error(`API returned ${r.status}: ${r.statusText}`);
|
||||
|
@ -279,10 +279,10 @@ socket.addEventListener("message", (e) => {
|
|||
}
|
||||
|
||||
// update play/pause button
|
||||
if ("state" in msg.mpd_status && msg.mpd_status.state === "play") {
|
||||
control_play_pause.innerHTML = "⏸︎"; // Pause
|
||||
} else {
|
||||
if ("state" in msg.mpd_status && msg.mpd_status.state !== "play") { // TODO: only update DOM if necessary
|
||||
control_play_pause.innerHTML = "⏵︎"; // Play
|
||||
} else {
|
||||
control_play_pause.innerHTML = "⏸︎"; // Pause
|
||||
}
|
||||
|
||||
// update playback time
|
||||
|
@ -354,6 +354,13 @@ socket.addEventListener("message", (e) => {
|
|||
const tbody = document.createElement("tbody");
|
||||
msg.mpd_queue.forEach(elem => {
|
||||
const tr = document.createElement("tr");
|
||||
tr.dataset.song_id = elem.Id;
|
||||
if ("songid" in msg.mpd_status && msg.mpd_status.songid === elem.Id) {
|
||||
tr.classList.add("playing");
|
||||
} else {
|
||||
tr.classList.remove("playing");
|
||||
}
|
||||
// TODO: check if current row is currently playing track
|
||||
const pos = document.createElement("td");
|
||||
pos.innerText = elem.Pos;
|
||||
const artist = document.createElement("td");
|
||||
|
|
|
@ -233,6 +233,7 @@ for (let i = 1; i <= 100; i++) {
|
|||
const tr = document.createElement("tr");
|
||||
if (i === 1) {
|
||||
tr.classList.add("playing");
|
||||
tr.dataset.song_id = i;
|
||||
}
|
||||
const pos = document.createElement("td");
|
||||
pos.innerText = i.toString();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue