Merge branch 'marietje-zuid' into 'feature/improve-queueable'

# Conflicts:
#   marietje/queues/templates/queues/queue.html
This commit is contained in:
Daniël Visser
2024-09-10 17:19:12 +02:00
3 changed files with 25 additions and 16 deletions

View File

@ -105,6 +105,10 @@ footer {
transition: 1s transform ease-in-out;
}
.btn-link {
text-decoration: none;
}
.navbar-text {
color: var(--text-color);
}

View File

@ -58,14 +58,16 @@
</p>
</li>
<li class="nav-item">
<p class="navbar-text mb-0 duration-queue" v-bind:class="{danger: infobar.length_personal_queue > infobar.max_length * 60}">(${ infobar.length_personal_queue.secondsToMMSS() }$)</p>
<p class="navbar-text mb-0 duration-queue" v-bind:class="{danger: infobar.length_personal_queue > infobar.max_length * 60}">
(${ infobar.length_personal_queue.secondsToMMSS() }$)
</p>
</li>
</template>
</ul>
</div>
</nav>
<div class="container-lg">
<br><br>
<div class="d-none d-lg-block"><br></div>
<div class="alert-location">
</div>
<div class="tab-content">
@ -83,8 +85,8 @@
</td>
<td class="col-md-1">
<span class="control-icons">Control</span>
<span v-if="playsIn" class="btn btn-link p-0 d-sm-none" v-on:click="toggle_details(song)">(Plays in)</span>
<span v-else class="btn btn-link p-0 d-sm-none" v-on:click="toggle_details(song)">(Plays At)</span>
<span v-if="playsIn" class="btn btn-link p-0 d-sm-none" v-on:click="playsIn = false" >(Plays In)</span>
<span v-else class="btn btn-link p-0 d-sm-none" v-on:click="playsIn = true">(Plays At)</span>
</td>
</tr>
</thead>
@ -99,7 +101,7 @@
<td>
<span class="artist">${ song.song.artist }$</span>
<span v-if="show_details(song)" class="requested-by d-sm-none d-block small mt-3 fw-normal">
Requested by:<br>
Requested By:<br>
<template v-if="song.user === null">
Marietje
</template>
@ -224,7 +226,7 @@
${ song.artist }$
</td>
<td>
<button v-on:click="request_song(song.id);" class="btn btn-link p-0 text-decoration-none" style="text-align: left">${ song.title }$</button>
<button v-on:click="request_song(song.id);" class="btn btn-link p-0" style="text-align: left">${ song.title }$</button>
</td>
<td>
<template v-if="song.user === null">
@ -238,7 +240,7 @@
${ song.duration.secondsToMMSS() }$
</td>
<td>
<button v-on:click="report_song(song.id);" class="btn btn-link p-0 text-decoration-none" style="pointer-events: auto">
<button v-on:click="report_song(song.id);" class="btn btn-link p-0" style="pointer-events: auto">
</button>
</td>
@ -365,7 +367,9 @@
const current_song = this.queue[i];
if (i === 0) {
const current_song_remaining_seconds = current_song.song.duration - this.queue[1].time_until_song_seconds;
infoBar['length_personal_queue'] -= current_song_remaining_seconds;
if (current_song.user !== null && current_song.user.id === this.user_data.id) {
infoBar['length_personal_queue'] -= current_song_remaining_seconds;
}
infoBar['length_total_queue'] -= current_song_remaining_seconds;
}
infoBar['length_total_queue'] += current_song.song.duration;
@ -373,7 +377,7 @@
infoBar['length_personal_queue'] += current_song.song.duration;
infoBar['end_personal_queue'] = infoBar['length_total_queue'];
if (infoBar['start_personal_queue'] === null) {
infoBar['start_personal_queue'] = infoBar['length_total_queue'] - current_song.song.duration - this.queue[1].time_until_song_seconds;
infoBar['start_personal_queue'] = infoBar['length_total_queue'] - current_song.song.duration;
}
}
}

View File

@ -179,13 +179,14 @@
}).catch(e => {
console.log(e);
if (e instanceof Response) {
try {
e.json().then(data => {
this.fileObjects[i].error_message = data.errorMessage;
this.fileObjects[i].success = false;
});
} catch {
this.fileObjects[i].error_message = "An exception occurred while uploading this file, please try again.";
// Intercept an HTTP 413 error (entity too large), as this might
// be thrown by a (reverse) proxy server and its payload is not
// nicely formatted as the code below expects.
if (e.status === 413) {
this.fileObjects[i].error_message = "The song you tried to upload is too large in size. (HTTP 413 error)";
this.fileObjects[i].success = false;
} else {
this.fileObjects[i].error_message = `${e.statusText} (${e.status})`;
this.fileObjects[i].success = false;
}
} else {