mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-02-28 01:21:13 +01:00
feat: show tracked/watched remote categories in world page, #13255
This commit is contained in:
@@ -1,17 +1,17 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const nconf = require('nconf');
|
const nconf = require('nconf');
|
||||||
|
const _ = require('lodash');
|
||||||
|
|
||||||
const user = require('../../user');
|
const user = require('../../user');
|
||||||
const topics = require('../../topics');
|
const topics = require('../../topics');
|
||||||
|
|
||||||
const pagination = require('../../pagination');
|
|
||||||
const helpers = require('../helpers');
|
|
||||||
|
|
||||||
const categories = require('../../categories');
|
const categories = require('../../categories');
|
||||||
const privileges = require('../../privileges');
|
const privileges = require('../../privileges');
|
||||||
const translator = require('../../translator');
|
const translator = require('../../translator');
|
||||||
const meta = require('../../meta');
|
const meta = require('../../meta');
|
||||||
|
const pagination = require('../../pagination');
|
||||||
|
const utils = require('../../utils');
|
||||||
|
const helpers = require('../helpers');
|
||||||
|
|
||||||
const controller = module.exports;
|
const controller = module.exports;
|
||||||
|
|
||||||
@@ -57,6 +57,18 @@ controller.list = async function (req, res) {
|
|||||||
data.topics = await topics.getTopicsByTids(tids, { uid: req.uid });
|
data.topics = await topics.getTopicsByTids(tids, { uid: req.uid });
|
||||||
topics.calculateTopicIndices(data.topics, start);
|
topics.calculateTopicIndices(data.topics, start);
|
||||||
|
|
||||||
|
// Tracked/watched categories
|
||||||
|
let cids = await user.getCategoriesByStates(req.uid, [
|
||||||
|
categories.watchStates.tracking, categories.watchStates.watching,
|
||||||
|
]);
|
||||||
|
cids = cids.filter(cid => !utils.isNumber(cid));
|
||||||
|
const categoryData = await categories.getCategories(cids);
|
||||||
|
data.categories = categories.getTree(categoryData, 0);
|
||||||
|
await Promise.all([
|
||||||
|
categories.getRecentTopicReplies(categoryData, req.uid, req.query),
|
||||||
|
categories.setUnread(data.categories, cids, req.uid),
|
||||||
|
]);
|
||||||
|
|
||||||
data.title = translator.escape(data.name);
|
data.title = translator.escape(data.name);
|
||||||
data.privileges = userPrivileges;
|
data.privileges = userPrivileges;
|
||||||
data.selectedTag = tagData.selectedTag;
|
data.selectedTag = tagData.selectedTag;
|
||||||
|
|||||||
Reference in New Issue
Block a user