diff --git a/src/containers/App.js b/src/containers/App.js index 8c11f4b23177bd890de4f35e416d918d568db1cd..14f447e5d53136a63f9b80629d1a8128f5de48d8 100644 --- a/src/containers/App.js +++ b/src/containers/App.js @@ -2,23 +2,23 @@ import { compose } from 'redux'; import { connect } from 'react-redux'; import { withPlugins } from '../extend/withPlugins'; import * as actions from '../state/actions'; -import { getTheme } from '../state/selectors'; +import { getTheme, getMiradorState } from '../state/selectors'; import { App } from '../components/App'; - /** * mapStateToProps - to hook up connect * @memberof App * @private */ -const mapStateToProps = state => ( - { +function mapStateToProps(globalState) { + const state = getMiradorState(globalState); + return { isFullscreenEnabled: state.workspace.isFullscreenEnabled, language: state.config.language, theme: getTheme(state), translations: state.config.translations, - } -); + }; +} /** * mapDispatchToProps - used to hook up connect to action creators diff --git a/src/state/selectors/index.js b/src/state/selectors/index.js index 8e1d1ed1dd3d4087497e6e9056816d6bb007f959..fd059a2cc31389c0a15edbea7478d43cf9471037 100644 --- a/src/state/selectors/index.js +++ b/src/state/selectors/index.js @@ -6,3 +6,4 @@ export * from './manifests'; export * from './windows'; export * from './workspace'; export * from './searches'; +export * from './miradorState'; diff --git a/src/state/selectors/miradorState.js b/src/state/selectors/miradorState.js new file mode 100644 index 0000000000000000000000000000000000000000..54950b7a6a31d89afbca19814a05643c760f07c8 --- /dev/null +++ b/src/state/selectors/miradorState.js @@ -0,0 +1,13 @@ + +/** */ +let _getMiradorState = globalState => globalState; // eslint-disable-line no-underscore-dangle + +/** */ +export function setMiradorStateGetter(customGetter) { + _getMiradorState = customGetter; +} + +/** */ +export function getMiradorState(globalState) { + return _getMiradorState(globalState); +}