diff --git a/src/topics/index.js b/src/topics/index.js index 0f9c067535..91505c3458 100644 --- a/src/topics/index.js +++ b/src/topics/index.js @@ -101,7 +101,7 @@ Topics.getTopicsByTids = async function (tids, options) { loadShowfullnameSettings(), categories.getCategoriesFields(cids, ['cid', 'name', 'slug', 'icon', 'backgroundImage', 'imageClass', 'bgColor', 'color', 'disabled']), loadGuestHandles(), - Topics.thumbs.load(topics), + Topics.thumbs.load(topics, options), ]); users.forEach((userObj, idx) => { diff --git a/src/topics/thumbs.js b/src/topics/thumbs.js index 3239ab0fdc..013e82a483 100644 --- a/src/topics/thumbs.js +++ b/src/topics/thumbs.js @@ -20,7 +20,7 @@ Thumbs.exists = async function (tid, path) { return thumbs.includes(path); }; -Thumbs.load = async function (topicData) { +Thumbs.load = async function (topicData, options = {}) { const mainPids = topicData.filter(Boolean).map(t => t.mainPid); const mainPostData = await posts.getPostsFields(mainPids, ['attachments', 'uploads']); const hasUploads = mainPostData.map(p => Array.isArray(p.uploads) && p.uploads.length > 0); @@ -33,9 +33,10 @@ Thumbs.load = async function (topicData) { const topicsWithThumbs = topicData.filter((tid, idx) => hasThumbs[idx]); const tidsWithThumbs = topicsWithThumbs.map(t => t.tid); - const thumbs = await loadFromTopicData(topicsWithThumbs, { - thumbsOnly: meta.config.showPostUploadsAsThumbnails !== 1, - }); + const thumbsOnly = Object.hasOwn(options, 'thumbsOnly') ? + options.thumbsOnly : + meta.config.showPostUploadsAsThumbnails !== 1; + const thumbs = await loadFromTopicData(topicsWithThumbs, { thumbsOnly }); const tidToThumbs = _.zipObject(tidsWithThumbs, thumbs); return topicData.map(t => (t && t.tid ? (tidToThumbs[t.tid] || []) : []));