feat(ui): load request covers through the local cache
This commit is contained in:
1 parent
98c7214140
commit
173e24a362
1 file changed
+7
-2
+7
-2
@@ -81,6 +81,11 @@ function libOptions(mediaType) {
|
|||||||
.join("");
|
.join("");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// the server keeps a copy; the url in the query makes a changed cover a new address
|
||||||
|
function coverSrc(r) {
|
||||||
|
return `/api/requests/${r.id}/cover?u=${encodeURIComponent(r.cover_url)}`;
|
||||||
|
}
|
||||||
|
|
||||||
// ---- missing badge ----
|
// ---- missing badge ----
|
||||||
async function refreshMissingBadge() {
|
async function refreshMissingBadge() {
|
||||||
try {
|
try {
|
||||||
@@ -609,7 +614,7 @@ function renderRequests(status) {
|
|||||||
box.innerHTML = reqs
|
box.innerHTML = reqs
|
||||||
.map(
|
.map(
|
||||||
(r) => `<div class="card clickable" data-detail="${r.id}" tabindex="0">
|
(r) => `<div class="card clickable" data-detail="${r.id}" tabindex="0">
|
||||||
${r.cover_url ? `<img src="${esc(r.cover_url)}" alt="" loading="lazy">` : '<div class="nocover">?</div>'}
|
${r.cover_url ? `<img src="${esc(coverSrc(r))}" alt="" loading="lazy">` : '<div class="nocover">?</div>'}
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<strong>${esc(r.title)}${r.volume != null ? ` · ${t("common.volume")} ${r.volume}` : ""}</strong>
|
<strong>${esc(r.title)}${r.volume != null ? ` · ${t("common.volume")} ${r.volume}` : ""}</strong>
|
||||||
<span>${esc(r.authors)}</span>
|
<span>${esc(r.authors)}</span>
|
||||||
@@ -888,7 +893,7 @@ function openDetail(id, status) {
|
|||||||
const img = $("#detail-cover");
|
const img = $("#detail-cover");
|
||||||
img.hidden = !r.cover_url;
|
img.hidden = !r.cover_url;
|
||||||
$("#detail-nocover").hidden = !!r.cover_url;
|
$("#detail-nocover").hidden = !!r.cover_url;
|
||||||
if (r.cover_url) img.src = r.cover_url;
|
if (r.cover_url) img.src = coverSrc(r);
|
||||||
$("#detail-retag").hidden = !(r.status === "imported" && r.media_type === "audiobook");
|
$("#detail-retag").hidden = !(r.status === "imported" && r.media_type === "audiobook");
|
||||||
$("#detail-relocate").hidden = r.status !== "imported";
|
$("#detail-relocate").hidden = r.status !== "imported";
|
||||||
$("#detail-dialog").showModal();
|
$("#detail-dialog").showModal();
|
||||||
|
|||||||
Reference in new issue
Block a user