diff --git a/public/language/en-GB/category.json b/public/language/en-GB/category.json index a0498414fb..faa58d2406 100644 --- a/public/language/en-GB/category.json +++ b/public/language/en-GB/category.json @@ -7,6 +7,7 @@ "new-topic-button": "New Topic", "guest-login-post": "Log in to post", "no-topics": "There are no topics in this category.
Why don't you try posting one?", + "no-followers": "Nobody on this website is tracking or watching this category. Track or watch this category in order to begin receiving updates.", "browsing": "browsing", "no-replies": "No one has replied", diff --git a/src/categories/index.js b/src/categories/index.js index 1a254f9b15..308516cd97 100644 --- a/src/categories/index.js +++ b/src/categories/index.js @@ -8,6 +8,7 @@ const user = require('../user'); const topics = require('../topics'); const plugins = require('../plugins'); const privileges = require('../privileges'); +const activitypub = require('../activitypub'); const cache = require('../cache'); const meta = require('../meta'); const utils = require('../utils'); @@ -57,12 +58,13 @@ Categories.getCategoryById = async function (data) { Categories.getTopicCount(data), Categories.getWatchState([data.cid], data.uid), getChildrenTree(category, data.uid), + !utils.isNumber(data.cid) ? activitypub.actors.getLocalFollowers(data.cid) : null, ]; if (category.parentCid) { promises.push(Categories.getCategoryData(category.parentCid)); } - const [topics, topicCount, watchState, , parent] = await Promise.all(promises); + const [topics, topicCount, watchState, , localFollowers, parent] = await Promise.all(promises); category.topics = topics.topics; category.nextStart = topics.nextStart; @@ -71,6 +73,7 @@ Categories.getCategoryById = async function (data) { category.isTracked = watchState[0] === Categories.watchStates.tracking; category.isNotWatched = watchState[0] === Categories.watchStates.notwatching; category.isIgnored = watchState[0] === Categories.watchStates.ignoring; + category.hasFollowers = localFollowers ? (localFollowers.uids.size + localFollowers.cids.size) > 0 : localFollowers; category.parent = parent; calculateTopicPostCount(category);