async function removeSongFromRoom(event) {
// first make the request
- let changeId = event.target.parentElement.id.replace("song:", "")
+ let changeId = event.target.parentElement.parentElement.id.replace("song:", "")
console.log(changeId)
let response = await fetch("/api/rooms/remove/" + currentRoom, {
}
// then we just manually move elements
- outRoomList.appendChild(event.target.parentElement)
+ event.target.src = "/img/add-song-button.png"
+ event.target.removeEventListener("click", removeSongFromRoom)
+ event.target.addEventListener("click", addSongToRoom)
+ outRoomList.appendChild(event.target.parentElement.parentElement)
}
async function addSongToRoom(event) {
// first make the request
- let changeId = event.target.parentElement.id.replace("song:", "")
+ let changeId = event.target.parentElement.parentElement.id.replace("song:", "")
let response = await fetch("/api/rooms/add/" + currentRoom, {
method: "PUT",
}
// then we just manually move elements
- inRoomList.appendChild(event.target.parentElement)
+ event.target.src = "/img/remove-button.png"
+ event.target.removeEventListener("click", addSongToRoom)
+ event.target.addEventListener("click", removeSongFromRoom)
+ inRoomList.appendChild(event.target.parentElement.parentElement)
}
/**
**/
function makeInListElementWithSong(song) {
- let el = document.createElement("div")
- el.id = song.Key // should be unique on page
+ let wrapper = document.createElement("div")
+ wrapper.classList = "songElementRooms"
+ wrapper.id = song.Key
- let text = document.createElement("p")
- text.innerText = song.DisplayTrackName + " by " + song.DisplayArtistNames
-
- let removeButton = document.createElement("button")
- removeButton.addEventListener("click", (e) => { removeSongFromRoom(e) })
- removeButton.innerText = "Remove"
+ let borderWrapper = document.createElement("div")
+ borderWrapper.classList = "songElementBorder"
+
+ let presentImage = document.createElement("img")
+ presentImage.classList = "presentImage"
+ presentImage.src = "/img/remove-button.png"
+ borderWrapper.appendChild(presentImage)
+
+ let artwork = document.createElement("img")
+ artwork.src = song.ArtworkURL60
+
+ let titleWrapper = document.createElement("div")
+ let songTitle = document.createElement("p")
+ songTitle.classList = "songElementTitle"
+ songTitle.innerText = song.DisplayTrackName
+
+ let songArtist = document.createElement("p")
+ songArtist.classList = "songElementArtist"
+ songArtist.innerText = song.DisplayArtistNames
+
+ titleWrapper.appendChild(songTitle)
+ titleWrapper.appendChild(songArtist)
- el.appendChild(text)
- el.appendChild(removeButton)
+ wrapper.appendChild(borderWrapper)
+ wrapper.appendChild(artwork)
+ wrapper.appendChild(titleWrapper)
- return el
+ presentImage.addEventListener("click", removeSongFromRoom)
+
+ return wrapper
}
function makeOutListElementWithSong(song) {
- let el = document.createElement("div")
- el.id = song.Key // should be unique on page
+ let wrapper = document.createElement("div")
+ wrapper.classList = "songElementRooms"
+ wrapper.id = song.Key
+
+ let borderWrapper = document.createElement("div")
+ borderWrapper.classList = "songElementBorder"
+
+ let presentImage = document.createElement("img")
+ presentImage.classList = "presentImage"
+ presentImage.src = "/img/add-song-button.png"
+ borderWrapper.appendChild(presentImage)
+
+ let artwork = document.createElement("img")
+ artwork.src = song.ArtworkURL60
+
+ let titleWrapper = document.createElement("div")
+ let songTitle = document.createElement("p")
+ songTitle.classList = "songElementTitle"
+ songTitle.innerText = song.DisplayTrackName
+
+ let songArtist = document.createElement("p")
+ songArtist.classList = "songElementArtist"
+ songArtist.innerText = song.DisplayArtistNames
- let text = document.createElement("p")
- text.innerText = song.DisplayTrackName + " by " + song.DisplayArtistNames
+ titleWrapper.appendChild(songTitle)
+ titleWrapper.appendChild(songArtist)
- let addButton = document.createElement("button")
- addButton.addEventListener("click", (e) => { addSongToRoom(e) })
- addButton.innerText = "Add"
+ wrapper.appendChild(borderWrapper)
+ wrapper.appendChild(artwork)
+ wrapper.appendChild(titleWrapper)
- el.appendChild(text)
- el.appendChild(addButton)
+ presentImage.addEventListener("click", addSongToRoom)
- return el
+ return wrapper
}