.songElement {
display: flex;
+ background-color: var(--lighter-background);
+ margin: 20px 15px 20px 15px;
+ padding: 20px 0 20px 0;
+ border-radius: 10px;
+
+ .songElementBorder {
+ border-right: 5px solid var(--green-background);
+ }
+
+ .presentImage {
+ padding: 0 50px 0 50px;
+ }
+
+ .songElementTitle {
+ font-size: 24px;
+ color: var(--green-foreground);
+ }
+
+ .songElementArtist {
+ font-size: 16px;
+ color: var(--green-background);
+ }
* {
- margin: auto 10px auto 10px;
+ margin: auto 15px auto 15px;
}
p {
width: 60px;
}
- .songElementBy, .songElementId {
- font-size: 12px;
- }
}
+button {
+ font-family: "Sansita", sans-serif;
+ font-size: 16px;
+}
+
+.songElement:hover{
+ box-shadow: 0 0 8px var(--green-foreground);
+}
+
+#songFileFilterInputs {
+ margin: 10px 0 20px 0;
+}
+
+#songFileFilterName {
+ width: 30%;
+}
+
.songFileElement {
display: flex;
- margin: 10px;
- max-width: 40vw;
- border-radius: 5px;
- box-shadow: grey 3px 3px 2px;
- border: 1px solid grey;
- padding: 4px;
+ background-color: var(--lighter-background);
+ margin: 20px 15px 20px 15px;
+ padding: 20px 0 20px 0;
+ border-radius: 10px;
+
+ * {
+ margin: auto 15px auto 15px;
+ }
+
+ p {
+ font-size: 24px;
+ color: var(--green-foreground);
+ }
+
}
.success {
#editMenu {
top: 10vh;
- left: 25vw;
- border-radius: 5px;
+ left: 60vw;
+ border-radius: 10px;
+ border: 4px solid var(--green-background);
position: absolute;
- border: 2px solid gray;
- background-color: rgb(240, 240, 240);
- width: 50vw;
+ background-color: var(--darker-background);
+ width: 30vw;
+ color: var(--green-background);
display: none;
input {
margin: 5px;
+ color: var(--green-foreground);
}
+}
- #editMenuUpdateButton {
- }
-
+#editMenuCloseButton, #editMenuUpdateButton {
+ background-color: var(--lighter-background);
+ color: var(--green-background);
+ outline: none;
+ border: none;
+ padding: 12px;
+ margin: 20px 10px 20px 0px;
+ border-radius: 4px;
+}
+#editMenuUpdateButton {
+ color: var(--green-foreground);
}
#songCreationMenu {
width: 50vw;
display: none;
}
+
+#filler {
+ height: 200px;
+}
let songFileNameP = document.createElement("p")
songFileNameP.innerText = songFileName
- let renameButtonSongFiles = document.createElement("button")
- renameButtonSongFiles.innerText = "Rename"
- renameButtonSongFiles.addEventListener("click", (_) => { renameSongFile(songFileName) })
+ songFileElement.addEventListener("click", (_) => { renameSongFile(songFileName) })
songFileElement.appendChild(songFileNameP)
- songFileElement.appendChild(renameButtonSongFiles)
return songFileElement
}
* MAIN SONG ELEMENT
**/
/*
-<div songId="[ID OF SONG (just number)]" id="SONG:XX" class="songElement">
- <p class="songElementCheck">✅</p> // or false
- <img></img> // HERE WOULD GO THE IMAGE
- <button onclick="openEditMenu(this.parentElement.songId)">EDIT</button>
- <p class="songElementName">SONG NAME</p>
- <p class="songElementBy">by</p>
- <p class="songElementArtist">ARTIST NAME</p>
- <p class="songElementId">ID: []</p>
-</div>
+</div songId="[ID OF SONG, NUMBER]" id="SONG:XX" class="songElement"> // event listener on this
+ <div class="songElementBorder">
+ <img class="presentImage" src="[IF PRESENT OR NOT]"></img>
+ </div> // this should have a border on the right
+ <img src="artwork60URL"></img>
+ <div>
+ <p class="songElementTitle">Title</p>
+ <p class="songElementArtist">Artist</p>
+ </div>
+
+<div>
*/
function NewSongElement(exists, songName, artistName, imageUrl, id) {
let wrapper = document.createElement("div")
wrapper.id = id
wrapper.songId = id.replace("song:", "")
- let check = document.createElement("p")
- check.innerText = "❌"
- if (exists) {
- check.innerText = "✅"
+ let borderWrapper = document.createElement("div")
+ borderWrapper.classList = "songElementBorder"
+
+ let presentImage = document.createElement("img")
+ presentImage.classList = "presentImage"
+ presentImage.src = "/img/music-present.png"
+ if (!exists) {
+ presentImage.src = "/img/music-not-present.png"
}
- check.classList = "songElementCheck"
+ borderWrapper.appendChild(presentImage)
- let songNameP = document.createElement("p")
- songNameP.innerText = songName
- songNameP.classList = "songElementName"
+ let artwork = document.createElement("img")
+ artwork.src = imageUrl
- let byP = document.createElement("p")
- byP.innerText = "by"
- byP.classList = "songElementBy"
+ let titleWrapper = document.createElement("div")
+ let songTitle = document.createElement("p")
+ songTitle.classList = "songElementTitle"
+ songTitle.innerText = songName
- let artistNameP = document.createElement("p")
- artistNameP.innerText = artistName
- artistNameP.classList = "songElementArtist"
+ let songArtist = document.createElement("p")
+ songArtist.classList = "songElementArtist"
+ songArtist.innerText = artistName
- let image = document.createElement("img")
- image.src = imageUrl
+ titleWrapper.appendChild(songTitle)
+ titleWrapper.appendChild(songArtist)
- let editButton = document.createElement("button")
- editButton.innerText = "Edit"
- editButton.addEventListener("click", function() { openEditMenu(wrapper.songId) })
-
- let idP = document.createElement("p")
- idP.innerText = id
- idP.classList = "songElementId"
-
- wrapper.appendChild(check)
- wrapper.appendChild(image)
- wrapper.appendChild(editButton)
- wrapper.appendChild(songNameP)
- wrapper.appendChild(byP)
- wrapper.appendChild(artistNameP)
- wrapper.appendChild(idP)
+ wrapper.appendChild(borderWrapper)
+ wrapper.appendChild(artwork)
+ wrapper.appendChild(titleWrapper)
+
+ wrapper.addEventListener("click", (_) => {
+ openEditMenu(id.replace("song:", ""))
+ })
return wrapper
}
let editMenu = document.getElementById("editMenu")
+let editMenuSongTitle = document.getElementById("editMenuSongTitle")
+
let editMenuSongKey = document.getElementById("editMenuSongKey")
let editMenuArtistName = document.getElementById("editMenuArtistName")
let editMenuTrackName = document.getElementById("editMenuTrackName")
function openEditMenuWithSong(song) {
editMenu.style.display = "block";
+ editMenuSongTitle.innerText = song.DisplayTrackName
+
editMenuSongKey.innerText = song.Key
editMenuArtistName.value = song.ArtistName
editMenuTrackName.value = song.TrackName