implement select_track()

This commit is contained in:
iou1name 2025-02-03 12:59:14 -05:00
parent 6aa1254da1
commit 352f817dd5
2 changed files with 19 additions and 6 deletions

View File

@ -23,10 +23,6 @@ async def get_random_track(request):
'src': convert_filepath(art256),
'sizes': '256x256',
'type': 'image/jpeg'
}, {
'src': convert_filepath(art64),
'sizes': '64x64',
'type': 'image/jpeg'
}
]
return track
@ -71,7 +67,7 @@ async def get_tracks(request, albumartist, album, date):
)
tracks = [dict(t) for t in tracks]
for track in tracks:
track.pop('filepath')
track['filepath'] = convert_filepath(track['filepath'])
track.pop('last_modified')
return tracks

View File

@ -109,6 +109,24 @@ function populate_albums(data) {
}
}
function select_track(event) {
let track = {}
track['artist'] = document.querySelector('input[name=artist]:checked').value;
track['album'] = document.querySelector('input[name=album]:checked').value;
track['title'] = document.querySelector('input[name=track]:checked').value;
let art_url = document.querySelector('input[name=album]:checked').parentElement.querySelector('img').src;
art_url = art_url.replace('64x64', '256x256');
let artwork = [{'src': art_url, 'sizes': '256x256', 'type': 'image/jpeg'}];
track['artwork'] = artwork;
let track_url = new URL(event.srcElement.parentElement.querySelector('.track').dataset.url, window.location);
update_now_playing(track);
player.src = track_url;
playTrack();
}
function clear_tracks() {
let tracks = document.querySelector('#track_list');
while (tracks.firstChild) {
@ -183,7 +201,6 @@ function setMediaSession(track) {
}
function update_now_playing(track) {
track.artwork.pop(1); // remove lower resolution option
document.querySelector('#now_playing_artist').textContent = track.artist;
document.querySelector('#now_playing_album').textContent = track.album;
document.querySelector('#now_playing_title').textContent = track.title;