diff --git a/src/lib/structures/AssistantSwitcher.js b/src/lib/structures/AssistantSwitcher.js index 6ac3872..12326a5 100644 --- a/src/lib/structures/AssistantSwitcher.js +++ b/src/lib/structures/AssistantSwitcher.js @@ -16,6 +16,12 @@ class AssistantSwitcher { return this.assistants.filter(assistant => assistant.available()).sort((a, b) => (a.lastRequest - b.lastRequest)) } + displaySomeUnblocked() { + return this.assistants.some(assistant => + [constants.symbols.assistant_statuses.NONE, constants.symbols.assistant_statuses.OK].includes(assistant.lastRequestStatus) + ) + } + requestUser(username) { return new Promise(async (resolve, reject) => { const assistants = this.getAvailableAssistants() diff --git a/src/site/api/routes.js b/src/site/api/routes.js index fce1dee..9c09412 100644 --- a/src/site/api/routes.js +++ b/src/site/api/routes.js @@ -1,6 +1,6 @@ const constants = require("../../lib/constants") const switcher = require("../../lib/utils/torswitcher") -const {fetchUser, getOrFetchShortcode, userRequestCache, history} = require("../../lib/collectors") +const {fetchUser, getOrFetchShortcode, userRequestCache, history, assistantSwitcher} = require("../../lib/collectors") const {render, redirect, getStaticURL} = require("pinski/plugins") const {pugCache} = require("../passthrough") const {getSettings} = require("./utils/getsettings") @@ -17,7 +17,7 @@ module.exports = [ return render(200, "pug/home.pug", { settings, rssEnabled: constants.feeds.enabled, - allUnblocked: history.testNoneBlocked(), + allUnblocked: history.testNoneBlocked() || assistantSwitcher.displaySomeUnblocked(), torAvailable: switcher.canUseTor(), hasPrivacyPolicy: constants.has_privacy_policy }) diff --git a/src/site/pug/home.pug b/src/site/pug/home.pug index 68af950..57fcce8 100644 --- a/src/site/pug/home.pug +++ b/src/site/pug/home.pug @@ -41,7 +41,10 @@ html li: a(href="/privacy") Privacy policy else li Owner has not written a privacy policy - li Instance is #{allUnblocked ? "not blocked" : "blocked"} + if allUnblocked + li Instance is not blocked + else + li: a(href="https://github.com/cloudrac3r/bibliogram/wiki/Rate-limits#working-around") Instance is partially blocked li RSS feeds are #{rssEnabled ? "enabled" : "disabled"} h2 External links