diff --git a/client/coral-framework/actions/auth.js b/client/coral-framework/actions/auth.js index 05e078010..53d0f1212 100644 --- a/client/coral-framework/actions/auth.js +++ b/client/coral-framework/actions/auth.js @@ -7,8 +7,12 @@ import pym from '../services/PymConnection'; import {resetWebsocket} from 'coral-framework/services/client'; import t from 'coral-framework/services/i18n'; +import {isSlotEmpty} from 'plugin-api/beta/client/services'; export const showSignInDialog = () => (dispatch, getState) => { + if (isSlotEmpty('login')) { + return; + } const signInPopUp = window.open( '/embed/stream/login', 'Login', diff --git a/client/coral-framework/helpers/plugins.js b/client/coral-framework/helpers/plugins.js index bb21bef6c..ab5e3080e 100644 --- a/client/coral-framework/helpers/plugins.js +++ b/client/coral-framework/helpers/plugins.js @@ -12,17 +12,19 @@ import camelize from './camelize'; function getSlotComponents(slot) { const pluginConfig = getStore().getState().config.plugin_config; + + // Filter out components that have been disabled in `plugin_config` return flatten(plugins // Filter out components that have been disabled in `plugin_config` - .filter((o) => !pluginConfig[o.plugin] || !pluginConfig[o.plugin].disable_components) + .filter((o) => !pluginConfig || !pluginConfig[o.plugin] || !pluginConfig[o.plugin].disable_components) .filter((o) => o.module.slots[slot]) .map((o) => o.module.slots[slot])); } export function isSlotEmpty(slot) { - return !!getSlotComponents(slot).length; + return getSlotComponents(slot).length === 0; } /** diff --git a/package.json b/package.json index a0040783a..382846cef 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "talk", - "version": "2.2.0", + "version": "2.2.1", "description": "A better commenting experience from Mozilla, The New York Times, and the Washington Post. https://coralproject.net", "main": "app.js", "scripts": {