Updated interface

- added a bar on the top which shows some info
- moved mod buttons to the bar
- added some information about your queue to the bar
- merged the table for current song and full queue
- some more small fixes
This commit is contained in:
Olaf Slomp
2019-03-28 18:54:46 +01:00
committed by Gerdriaan Mulder
parent 568f7c6a50
commit d0c82f33df
5 changed files with 190 additions and 146 deletions

View File

@ -168,12 +168,25 @@ def managesongs(request):
@api_auth_required
def queue(request):
queue = request.user.queue
return JsonResponse({
infobar = {"start_personal_queue": 0, "length_personal_queue": 0, "length_total_queue": 0, "end_personal_queue": 0}
for song in queue.queue():
infobar["length_total_queue"] += song.song.duration
if song.user == request.user:
infobar["length_personal_queue"] += song.song.duration
infobar["end_personal_queue"] = infobar["length_total_queue"]
if infobar["start_personal_queue"] == 0:
infobar["start_personal_queue"] = infobar["length_total_queue"] - song.song.duration
json = {
'current_song': playlist_song_to_dict(queue.current_song()),
'queue': [playlist_song_to_dict(playlist_song, user=request.user) for playlist_song in queue.queue()],
'started_at': 0 if queue.started_at is None else int(queue.started_at.timestamp()),
'current_time': int(time.time())
})
'current_time': int(time.time()),
'user_name': request.user.name,
'infobar': infobar,
}
return JsonResponse(json)
@api_auth_required
@ -216,10 +229,10 @@ def request(request):
err = queue.request(song, request.user)
if err != None:
return JsonResponse({ 'success': False, 'message': err })
return JsonResponse({'success': False, 'message': err})
request_counter.labels(queue=queue.name).inc()
return JsonResponse({ 'success': True })
return JsonResponse({'success': True})
@require_http_methods(["POST"])
@ -230,7 +243,8 @@ def report(request):
msg = request.POST.get('msg')
err = song.report(request.user, msg)
return JsonResponse({ 'success': True })
return JsonResponse({'success': True})
@require_http_methods(["POST"])