diff --git a/client/package-lock.json b/client/package-lock.json index d539e78b3..1a88f7197 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -5,9 +5,9 @@ "requires": true, "dependencies": { "@advancedalgos/key-vault-client": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/@advancedalgos/key-vault-client/-/key-vault-client-0.0.9.tgz", - "integrity": "sha512-MSEI63lyw6uFk5cuyu62W0Pra5sI+FZYmKOGeUNvBC0fAF3MJQh/RO6pnnpVv+0yIPMeVBhsPD0O+2iRxFYjUg==", + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/@advancedalgos/key-vault-client/-/key-vault-client-0.0.12.tgz", + "integrity": "sha512-1vcPUgghl6xnZQ7Sk9PwW6nrRnrom3fXtlBhlxVR8Zi7LnJRw/S6eaWP6bhezHzmzYS2eld07vH0YBFgeIa2CA==", "dev": true, "requires": { "@material-ui/core": "3.2.2", @@ -8719,7 +8719,7 @@ }, "jest-get-type": { "version": "22.4.3", - "resolved": "http://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==", "dev": true }, @@ -16576,6 +16576,35 @@ "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, + "react-redux": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.1.0.tgz", + "integrity": "sha512-CRMpEx8+ccpoVxQrQDkG1obExNYpj6dZ1Ni7lUNFB9wcxOhy02tIqpFo4IUXc0kYvCGMu6ABj9A4imEX2VGZJQ==", + "requires": { + "@babel/runtime": "7.1.2", + "hoist-non-react-statics": "3.0.1", + "invariant": "2.2.4", + "loose-envify": "1.4.0", + "prop-types": "15.6.2", + "react-is": "16.6.0", + "react-lifecycles-compat": "3.0.4" + }, + "dependencies": { + "hoist-non-react-statics": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.0.1.tgz", + "integrity": "sha512-1kXwPsOi0OGQIZNVMPvgWJ9tSnGMiMfJdihqEzrPEXlHOBh9AAHXX/QYmAJTXztnz/K+PQ8ryCb4eGaN6HlGbQ==", + "requires": { + "react-is": "16.6.0" + } + }, + "react-is": { + "version": "16.6.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.6.0.tgz", + "integrity": "sha512-q8U7k0Fi7oxF1HvQgyBjPwDXeMplEsArnKt2iYhuIF86+GBbgLHdAmokL3XUFjTd7Q363OSNG55FOGUdONVn1g==" + } + } + }, "react-router": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/react-router/-/react-router-4.3.1.tgz", @@ -17373,7 +17402,7 @@ }, "pify": { "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, @@ -17500,6 +17529,22 @@ "postcss-value-parser": "3.3.0" } }, + "redux": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.1.tgz", + "integrity": "sha512-R7bAtSkk7nY6O/OYMVR9RiBI+XghjF9rlbl5806HJbQph0LJVHZrU5oaO4q70eUKiqMRqm4y07KLTlMZ2BlVmg==", + "requires": { + "loose-envify": "1.4.0", + "symbol-observable": "1.2.0" + }, + "dependencies": { + "symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" + } + } + }, "regenerate": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", diff --git a/client/package.json b/client/package.json index e73ecbdb2..d2d792c39 100644 --- a/client/package.json +++ b/client/package.json @@ -81,7 +81,9 @@ "react": "^16.5.2", "react-apollo": "^2.2.4", "react-dom": "^16.5.2", + "react-redux": "^5.1.0", "react-router-dom": "^4.3.1", + "redux": "^4.0.1", "uglifyjs-webpack-plugin": "^2.0.1" } } diff --git a/client/src/index.js b/client/src/index.js index 76a0b0b0c..ec7722a47 100644 --- a/client/src/index.js +++ b/client/src/index.js @@ -2,9 +2,14 @@ import React from 'react' import ReactDOM from 'react-dom' import MasterApp from './App' +import { createStore } from 'redux' +import { Provider } from 'react-redux' +import rootReducer from './reducers/rootReducer' + +const store = createStore(rootReducer) if (process.env.NODE_ENV !== 'production') { localStorage.setItem('debug', 'advanced-algos:*') } -ReactDOM.render(, document.getElementById('masterApp')) +ReactDOM.render(, document.getElementById('masterApp')) diff --git a/client/src/reducers/rootReducer.js b/client/src/reducers/rootReducer.js new file mode 100644 index 000000000..e4ecba17b --- /dev/null +++ b/client/src/reducers/rootReducer.js @@ -0,0 +1,15 @@ +const initState = { + context: { + masterApp: { + footer: { + visible: true + } + } + } +} + +const rootReducer = (state = initState, action) => { + return state +} + +export default rootReducer diff --git a/client/src/views/footer/index.js b/client/src/views/footer/index.js index b77f47d3d..c8bd0a0a2 100644 --- a/client/src/views/footer/index.js +++ b/client/src/views/footer/index.js @@ -5,6 +5,7 @@ import { withStyles } from '@material-ui/core/styles' import classNames from 'classnames' import Typography from '@material-ui/core/Typography' import Grid from '@material-ui/core/Grid' +import { connect } from 'react-redux' import aalogo from '../../assets/advanced-algos/aa-logo-vert.svg' @@ -51,6 +52,8 @@ class Footer extends Component { render () { let { classes } = this.props console.log('SHOW_FOOTER', window.SHOW_FOOTER) + console.log('FOOTER PROPRS', this.props) + const { masterApp } = this.props.context.masterApp if (window.SHOW_FOOTER === false) { return (
) } else { @@ -163,4 +166,10 @@ Footer.propTypes = { classes: PropTypes.object.isRequired } -export default withStyles(styles)(Footer) +const mapStateToProps = (state) => { + return { + context: state.context + } +} + +export default connect(mapStateToProps)(withStyles(styles)(Footer))