diff --git a/marietje/api/views.py b/marietje/api/views.py
index 9df9c58..5dc453e 100644
--- a/marietje/api/views.py
+++ b/marietje/api/views.py
@@ -168,25 +168,12 @@ def managesongs(request):
@api_auth_required
def queue(request):
queue = request.user.queue
- 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 = {
+ return JsonResponse({
'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()),
- 'user_name': request.user.name,
- 'infobar': infobar,
- }
- return JsonResponse(json)
+ 'current_time': int(time.time())
+ })
@api_auth_required
@@ -229,10 +216,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"])
@@ -243,8 +230,7 @@ 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"])
diff --git a/marietje/marietje/static/css/custom.css b/marietje/marietje/static/css/custom.css
index a542c6f..c9e8d79 100644
--- a/marietje/marietje/static/css/custom.css
+++ b/marietje/marietje/static/css/custom.css
@@ -11,7 +11,7 @@
padding: 8px;
background: silver;
white-space: nowrap;
- z-index: 1;
+ z-index: 9999;
}
#queue-time-header {
@@ -26,26 +26,6 @@ footer {
color: #777777;
}
-.marietjequeue-pre-start td {
- border-bottom: 3px double #777777;
-}
-
-.block-button {
- border-color: #cccccc;
- color: #337ab7;
- transition: 1s transform ease-in-out;
-}
-
-.currentsong{
- border-bottom: 1px solid #DDDDDD;
-}
-
-.requested_song .plays-at, .requested_song .requested-by {
- font-weight: bold;
-}
-
-.table-header-style td, .table-header-style{
- border-top: 3px solid #FFFFFF;
- background-color: #f9f9f9;
- border-bottom: 2px solid #777777;
-}
+.marietjequeue-start {
+ border-top: 4px double #777777;
+}
\ No newline at end of file
diff --git a/marietje/marietje/static/js/queue.js b/marietje/marietje/static/js/queue.js
index 79df584..7fc0758 100644
--- a/marietje/marietje/static/js/queue.js
+++ b/marietje/marietje/static/js/queue.js
@@ -3,19 +3,18 @@ var timeOffset = 0;
var timeStarted = 0;
var currentSong = null;
var queue = null;
-var infobar = null;
var songs = [];
+
var refreshing = false;
var iteration = 0;
var requestViewOpen = false;
var showTimeToPlay = true;
var noRemove = false;
-var user_name;
-var playNextAt = 0;
+
$(function () {
$('.pagesize').val(Cookies.get('pagesize'));
- showTimeToPlay = ((Cookies.get('showtimetoplay') || '1') === '1' ? true : false);
+ showTimeToPlay = (Cookies.get('showtimetoplay') || '1') === '1' ? true : false;
$('#queue-time-header').text(showTimeToPlay ? 'Plays In' : 'Plays At');
refreshQueue();
setInterval(updateTime, 1000);
@@ -49,12 +48,12 @@ $(function () {
$(document).on('click', '[data-report-song-id]', function () {
var songId = $(this).data('report-song-id');
var message = prompt("What is wrong with the song?");
- if (message === "") {
+ if (message == "") {
createAlert('danger', 'Please enter a message.');
- return false;
+ return false
}
- if (message === null) {
- return false;
+ if (message == null) {
+ return false
}
$.post('/api/report', {id: songId, msg: message, csrfmiddlewaretoken: csrf_token}, function (result) {
if (result.success) {
@@ -106,12 +105,12 @@ $(function () {
getSongs();
});
- $('#volume_down').click(function(e){
+ $('#volume-down').click(function(e){
e.preventDefault();
$.post('/api/volumedown', {csrfmiddlewaretoken: csrf_token});
});
- $('#volume_up').click(function(e){
+ $('#volume-up').click(function(e){
e.preventDefault();
$.post('/api/volumeup', {csrfmiddlewaretoken: csrf_token});
});
@@ -128,7 +127,7 @@ $(function () {
var row = $(this).parent();
var timeLeft = row.find('.time-left');
var playsAt = row.find('.plays-at');
- var text = (timeLeft[0] ? 'Time Left: ' + timeLeft.text() : 'Plays At: ' + playsAt.text());
+ var text = timeLeft[0] ? 'Time Left: ' + timeLeft.text() : 'Plays At: ' + playsAt.text();
$('body').append('Requested By: ' + row.find('.requested-by').text() + '
' + text
+ '');
var offset = row.offset();
@@ -142,107 +141,104 @@ $(function () {
}
});
- $('#timeswitch').click(function(){
+ $('#queue-time-header').click(function(){
showTimeToPlay = !showTimeToPlay;
- $('.timeswitcher').toggleClass('active');
- $('#timeswitch').text(showTimeToPlay ? 'Plays In' : 'Plays At');
- Cookies.set('showtimetoplay', (showTimeToPlay ? '1' : '0'), { expires: 365 });
- refreshQueue();
+ $('#queue-time-header').text(showTimeToPlay ? 'Plays In' : 'Plays At');
+ Cookies.set('showtimetoplay', showTimeToPlay ? '1' : '0', { expires: 365 });
});
getSongs();
});
-function cancelSong(id) {
+function cancelSong(id)
+{
$.post('/api/cancel', {id: id, csrfmiddlewaretoken: csrf_token}, function () {
refreshQueue();
});
return false;
}
-function moveUp(id) {
+function moveUp(id)
+{
$.post('/api/moveup', {id: id, csrfmiddlewaretoken: csrf_token}, function () {
refreshQueue();
});
return false;
}
-function moveDown(id) {
+function moveDown(id)
+{
$.post('/api/movedown', {id: id, csrfmiddlewaretoken: csrf_token}, function () {
refreshQueue();
});
return false;
}
-function updateTime() {
+function updateTime()
+{
var timestamp = Date.now() / 1000 | 0;
var secondsLeft = currentSong.song.duration - (timestamp - timeStarted) + timeOffset;
iteration = (iteration + 1) % 10;
- function showExactOrRelative(time) {
- return (!showTimeToPlay) ? "at: " + (secondsLeft + timestamp + time).timestampToHHMMSS() : "in: " + (secondsLeft + time).secondsToMMSS();
-
- }
- if (infobar['end_personal_queue'] !== 0){
- $('.start-queue').text("First song starts " + showExactOrRelative(infobar['start_personal_queue']));
- $('.duration-queue').text( " (" + (infobar['length_personal_queue']).secondsToMMSS() + ")");
- $('.end-queue').text("Last song ends " + showExactOrRelative(infobar['end_personal_queue']));
- }
- if (secondsLeft >= 0) {
+ if (secondsLeft >= 0)
+ {
$('.currentsong .time-left').text(secondsLeft.secondsToMMSS());
refreshSeconds(secondsLeft + timestamp, timestamp);
}
+
// Refresh every ten seconds, or if the song has ended in the last ten
// seconds. Only if it is not refreshing already.
- if ((iteration === 0 || (secondsLeft <= 0 && secondsLeft > -10)) && !refreshing){
+ if ((iteration === 0 || secondsLeft <= 0 && secondsLeft > -10) && !refreshing)
+ {
refreshQueue();
}
}
-function renderQueue(playNextAt, now) {
+function renderQueue(playNextAt, now)
+{
$('.queuebody').empty();
var timeToPlay = playNextAt - now;
var canDeletePrevious = false;
$.each(queue, function (id, song) {
- var userRequested = user_name;
var requestedBy = song.requested_by;
- var reqMarietje = requestedBy !== 'Marietje';
- var startMarietje = false;
- var requestNext = false;
- var requestPrev = false;
+ var reqMarietje = requestedBy != 'Marietje';
+ var startMarietje = false
+
//checks if id is the last item and returns false if the next song is Marietje, while the current song is not.
- if(id !== queue.length - 1) {
- requestNext = !((queue[id + 1].requested_by === 'Marietje') && (requestedBy !== 'Marietje'));
+ if(id === queue.length-1){
+ var requestNext = false
+ } else {
+ var requestNext = !((queue[id+1].requested_by === 'Marietje') && (requestedBy !== 'Marietje'))
}
+
//checks if id is the first item and returns false if the previous song is not Marietje, while the current song is.
- if(id !== 0){
- var prevItem = queue[id - 1].id;
- if(queue[id-1].requested_by !== 'Marietje') {
- requestPrev = false;
- if (requestedBy === 'Marietje') {
- startMarietje = true;
+ if(id === 0){
+ var requestPrev = false
+ } else {
+ var prevItem = queue[id-1].id
+ if(queue[id-1].requested_by !== 'Marietje'){
+ var requestPrev = false
+ if (requestedBy == 'Marietje'){
+ var startMarietje = true
} else {
- requestPrev = true;
+ var requestPrev = true
}
- } else {
- requestPrev = true;
- }
+ } else {var requestPrev = true}
}
+
var canDelete = song.can_move_down || canMoveSongs;
- var canMoveUp = canMoveSongs && requestPrev || (canDeletePrevious && reqMarietje && requestPrev);
- var canMoveDown = canMoveSongs && requestNext || (canDelete && reqMarietje && requestNext);
- var artist = (song.song.artist.trim() === '' ? '?' : song.song.artist);
- var title = (song.song.title.trim() === '' ? '?' : song.song.title);
- var songclass = ' class="normal_song' + (reqMarietje ? '' : ' marietjequeue')
- + (!requestNext ? ' marietjequeue-pre-start' : '')
- + (startMarietje ? ' marietjequeue-post-start':'')
- + (userRequested === requestedBy ? ' requested_song':'');
+ var canMoveUp = canMoveSongs && requestPrev || canDeletePrevious && reqMarietje && requestPrev;
+ var canMoveDown = canMoveSongs && requestNext || canDelete && reqMarietje && requestNext;
+ var artist = song.song.artist.trim() === '' ? '?' : song.song.artist;
+ var title = song.song.title.trim() === '' ? '?' : song.song.title;
+ var marietjeclass = reqMarietje ? '' : ' class="marietjequeue"';
+ var marietjestartclass = startMarietje ? ' class="marietjequeue marietjequeue-start"' : '';
- var showTime = (showTimeToPlay ? (timeToPlay < 0 ? '' : timeToPlay.secondsToMMSS()) : (playNextAt < now ? '' : playNextAt.timestampToHHMMSS()));
+ showTime = showTimeToPlay ? (timeToPlay < 0 ? '' : timeToPlay.secondsToMMSS()) : (playNextAt < now ? '' : playNextAt.timestampToHHMMSS())
- $('.queuebody:last-child').append('
| - | + | ||||
|---|---|---|---|---|---|