mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-03-03 11:01:20 +01:00
refactor: pass options to thumbs.load
so we can control thumbsOnly
This commit is contained in:
@@ -101,7 +101,7 @@ Topics.getTopicsByTids = async function (tids, options) {
|
|||||||
loadShowfullnameSettings(),
|
loadShowfullnameSettings(),
|
||||||
categories.getCategoriesFields(cids, ['cid', 'name', 'slug', 'icon', 'backgroundImage', 'imageClass', 'bgColor', 'color', 'disabled']),
|
categories.getCategoriesFields(cids, ['cid', 'name', 'slug', 'icon', 'backgroundImage', 'imageClass', 'bgColor', 'color', 'disabled']),
|
||||||
loadGuestHandles(),
|
loadGuestHandles(),
|
||||||
Topics.thumbs.load(topics),
|
Topics.thumbs.load(topics, options),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
users.forEach((userObj, idx) => {
|
users.forEach((userObj, idx) => {
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ Thumbs.exists = async function (tid, path) {
|
|||||||
return thumbs.includes(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 mainPids = topicData.filter(Boolean).map(t => t.mainPid);
|
||||||
const mainPostData = await posts.getPostsFields(mainPids, ['attachments', 'uploads']);
|
const mainPostData = await posts.getPostsFields(mainPids, ['attachments', 'uploads']);
|
||||||
const hasUploads = mainPostData.map(p => Array.isArray(p.uploads) && p.uploads.length > 0);
|
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 topicsWithThumbs = topicData.filter((tid, idx) => hasThumbs[idx]);
|
||||||
const tidsWithThumbs = topicsWithThumbs.map(t => t.tid);
|
const tidsWithThumbs = topicsWithThumbs.map(t => t.tid);
|
||||||
const thumbs = await loadFromTopicData(topicsWithThumbs, {
|
const thumbsOnly = Object.hasOwn(options, 'thumbsOnly') ?
|
||||||
thumbsOnly: meta.config.showPostUploadsAsThumbnails !== 1,
|
options.thumbsOnly :
|
||||||
});
|
meta.config.showPostUploadsAsThumbnails !== 1;
|
||||||
|
const thumbs = await loadFromTopicData(topicsWithThumbs, { thumbsOnly });
|
||||||
|
|
||||||
const tidToThumbs = _.zipObject(tidsWithThumbs, thumbs);
|
const tidToThumbs = _.zipObject(tidsWithThumbs, thumbs);
|
||||||
return topicData.map(t => (t && t.tid ? (tidToThumbs[t.tid] || []) : []));
|
return topicData.map(t => (t && t.tid ? (tidToThumbs[t.tid] || []) : []));
|
||||||
|
|||||||
Reference in New Issue
Block a user