From 0b37d2dd1a726a367239ca8beb316be894b06053 Mon Sep 17 00:00:00 2001 From: DebaucheryLibrarian Date: Wed, 3 Apr 2024 03:31:35 +0200 Subject: [PATCH] Fixed showcase in stash. Applying tag filter to tag list. --- pages/stashes/scenes/+onBeforeRender.js | 1 + pages/tags/+onBeforeRender.js | 5 +++-- src/scenes.js | 2 +- src/web/scenes.js | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/pages/stashes/scenes/+onBeforeRender.js b/pages/stashes/scenes/+onBeforeRender.js index 8f02dd3..5259415 100644 --- a/pages/stashes/scenes/+onBeforeRender.js +++ b/pages/stashes/scenes/+onBeforeRender.js @@ -14,6 +14,7 @@ export async function onBeforeRender(pageContext) { scope: pageContext.routeParams.scope || 'stashed', stashId: stash.id, tagFilter: pageContext.tagFilter, + isShowcased: null, }), { page: Number(pageContext.routeParams.page) || 1, limit: Number(pageContext.urlParsed.search.limit) || 30, diff --git a/pages/tags/+onBeforeRender.js b/pages/tags/+onBeforeRender.js index 7eadcb8..8486214 100644 --- a/pages/tags/+onBeforeRender.js +++ b/pages/tags/+onBeforeRender.js @@ -116,9 +116,10 @@ const tagSlugs = { ], }; -export async function onBeforeRender(_pageContext) { +export async function onBeforeRender(pageContext) { const tags = await fetchTagsById(Object.values(tagSlugs).flat()); - const tagsBySlug = Object.fromEntries(tags.map((tag) => [tag.slug, tag])); + const filteredTags = tags.filter((tag) => !pageContext.tagFilter.includes(tag.name) && !pageContext.tagFilter.includes(tag.slug)); + const tagsBySlug = Object.fromEntries(filteredTags.map((tag) => [tag.slug, tag])); const tagShowcase = Object.fromEntries(Object.entries(tagSlugs).map(([category, categorySlugs]) => [ category, diff --git a/src/scenes.js b/src/scenes.js index 6f45ac0..0cfd50f 100644 --- a/src/scenes.js +++ b/src/scenes.js @@ -472,7 +472,7 @@ async function queryManticoreSql(filters, options, _reqUser) { } if (typeof filters.isShowcased === 'boolean') { - builder.where('is_showcased', filters.isShowcased); + builder.where('scenes.is_showcased', filters.isShowcased); } if (!filters.scope || filters.scope === 'latest') { diff --git a/src/web/scenes.js b/src/web/scenes.js index add7bb3..803e848 100644 --- a/src/web/scenes.js +++ b/src/web/scenes.js @@ -35,7 +35,7 @@ export async function curateScenesQuery(query) { notEntityIds, movieId: Number(query.movieId) || null, stashId: Number(query.stashId) || null, - isShowcased: query.isShowcased ?? true, + isShowcased: typeof query.isShowcased === 'boolean' ? query.isShowcased : null, }; }