From 8af49b6ec153cae88070216632ebd7700ac0035e Mon Sep 17 00:00:00 2001 From: x Date: Fri, 23 Jan 2026 21:38:47 +0100 Subject: [PATCH] improving fav detection logic --- public/s/js/f0ck.js | 5 +++-- src/inc/routes/ajax.mjs | 6 +++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/public/s/js/f0ck.js b/public/s/js/f0ck.js index 3930e17..b0ec1e1 100644 --- a/public/s/js/f0ck.js +++ b/public/s/js/f0ck.js @@ -227,7 +227,7 @@ window.requestAnimFrame = (function () { const userMatch = url.match(/\/user\/([^/]+)/); if (userMatch) { user = decodeURIComponent(userMatch[1]); - if (url.includes(`/user/${userMatch[1]}/favs`)) isFavs = true; + if (url.match(/\/user\/[^/]+\/favs(\/|$|\?)/)) isFavs = true; } // If missing and inheritContext is true, check Window Location @@ -240,7 +240,8 @@ window.requestAnimFrame = (function () { const wUserMatch = window.location.href.match(/\/user\/([^/]+)/); if (wUserMatch) { user = decodeURIComponent(wUserMatch[1]); - if (window.location.href.includes(`/user/${wUserMatch[1]}/favs`)) isFavs = true; + // Check for /favs (with or without trailing /, item id, or query params) + if (window.location.href.match(/\/user\/[^/]+\/favs(\/|$|\?)/)) isFavs = true; } } } diff --git a/src/inc/routes/ajax.mjs b/src/inc/routes/ajax.mjs index 8a0c551..87c904c 100644 --- a/src/inc/routes/ajax.mjs +++ b/src/inc/routes/ajax.mjs @@ -14,7 +14,11 @@ export default (router, tpl) => { let contextUrl = `/${req.params.itemid}`; if (query.tag) contextUrl = `/tag/${query.tag}/${req.params.itemid}`; - if (query.user) contextUrl = `/user/${query.user}/${req.params.itemid}`; // User filter takes precedence if both? usually mutually exclusive + if (query.user) { + contextUrl = query.fav === 'true' + ? `/user/${query.user}/favs/${req.params.itemid}` + : `/user/${query.user}/${req.params.itemid}`; + } const data = await f0cklib.getf0ck({ itemid: req.params.itemid,