From 61f3dbeb5f2b5dab8e44e0edbadd451b42b406d5 Mon Sep 17 00:00:00 2001 From: Cadence Ember Date: Sun, 6 Apr 2025 23:20:22 +1200 Subject: [PATCH] Use embedded player from artist, label, & tracks --- pug/artist_grid.pug | 2 +- pug/label_grid.pug | 2 +- pug/track_list.pug | 2 +- routes/app.js | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pug/artist_grid.pug b/pug/artist_grid.pug index a3a3485..7846a15 100644 --- a/pug/artist_grid.pug +++ b/pug/artist_grid.pug @@ -27,5 +27,5 @@ block view span.s-tag--sponsor!= icons.get("flower", 16) = label each preview in item.previews - a.d-flex(href=preview.item_url target="_blank") + a.d-flex(href=`/api/play/${preview.item_type}/${preview.item_id}` hx-target="#player" hx-select="#player" hx-indicator="null" hx-push-url="false") img(loading="lazy" src=preview.item_art_url width=210 height=210 style="height: auto; width: auto; max-height: 70px") diff --git a/pug/label_grid.pug b/pug/label_grid.pug index 07fdf5e..b610495 100644 --- a/pug/label_grid.pug +++ b/pug/label_grid.pug @@ -27,5 +27,5 @@ block view span.s-tag--sponsor!= icons.get("compact-disc", 16) = item.total_duration each preview in item.previews - a.d-flex(href=preview.item_url target="_blank") + a.d-flex(href=`/api/play/${preview.item_type}/${preview.item_id}` hx-target="#player" hx-select="#player" hx-indicator="null" hx-push-url="false") img(loading="lazy" src=preview.item_art_url width=210 height=210 style="height: auto; width: auto; max-height: 70px") diff --git a/pug/track_list.pug b/pug/track_list.pug index 1c8cffa..32700f3 100644 --- a/pug/track_list.pug +++ b/pug/track_list.pug @@ -21,7 +21,7 @@ block view | ☆ else = item.track_number || "-" - td: a(href=item.item_url target="_blank")= item.title + td: a(href=`/api/play/${item.item_type}/${item.item_id}` hx-target="#player" hx-select="#player" hx-indicator="null" hx-push-url="false")= item.title td= item.artist td= item.item_title - let label = item.band_url.replace(/https?:\/\/(.*?)\.bandcamp\.com.*/, "$1") diff --git a/routes/app.js b/routes/app.js index 4900872..53e60dd 100644 --- a/routes/app.js +++ b/routes/app.js @@ -36,7 +36,7 @@ const sqls = { function loadPreviews(locals, field, number, whereClause, account, filter_field, filter, filter_fuzzy) { const params = [account, number] - let sql = `SELECT ${field}, item_url, item_art_url FROM (SELECT ${field}, item_url, item_art_url, row_number() OVER (PARTITION BY ${field} ORDER BY purchased DESC) AS row_number FROM item {JOIN TAG} WHERE account = ? {WHERE}) WHERE row_number <= ?` + let sql = `SELECT ${field}, item_id, item_type, item_art_url FROM (SELECT ${field}, item_id, item_type, item_art_url, row_number() OVER (PARTITION BY ${field} ORDER BY purchased DESC) AS row_number FROM item {JOIN TAG} WHERE account = ? {WHERE}) WHERE row_number <= ?` sql = sql.replace("{WHERE}", whereClause) if (whereClause) { if (filter_field === "band_url" || filter_fuzzy) {