diff --git a/src/admin/js/Layout.js b/src/admin/js/Layout.js new file mode 100644 index 00000000..68b3aa57 --- /dev/null +++ b/src/admin/js/Layout.js @@ -0,0 +1,37 @@ +/* globals APP_NAME */ +import React, { PropTypes } from 'react'; +import { connect } from 'react-redux'; +import { Link } from 'react-router'; +import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider'; +import AppBar from 'material-ui/AppBar'; +import CircularProgress from 'material-ui/CircularProgress'; +import Notification from 'admin-on-rest/lib/mui/layout/Notification'; +import Menu from 'admin-on-rest/lib/mui/layout/Menu'; +const Title = {APP_NAME} - Administration; + +const Layout = ({ isLoading, children, route }) => ( + +
+ : } /> +
+
{children}
+ +
+ +
+
+); + +Layout.propTypes = { + isLoading: PropTypes.bool.isRequired, + children: PropTypes.node, + route: PropTypes.object.isRequired, +}; + +function mapStateToProps(state) { + return { isLoading: state.admin.loading > 0 }; +} + +export default connect( + mapStateToProps, +)(Layout); diff --git a/src/admin/js/main.js b/src/admin/js/main.js index 5a45c0f4..debd3c41 100644 --- a/src/admin/js/main.js +++ b/src/admin/js/main.js @@ -5,6 +5,7 @@ import { render } from 'react-dom'; import { Admin, Resource } from 'admin-on-rest'; import restClient from './restClient'; +import Layout from './Layout'; import { ProductList, ProductEdit, ProductCreate, ProductIcon } from './products'; import { OrderList, OrderEdit, OrderCreate, OrderIcon } from './orders'; @@ -28,7 +29,7 @@ const tokenExpires = window.localStorage.getItem('expires'); if (tokenExpires && tokenExpires < currentTime) logout(); render( - window.localStorage.getItem('token'), logout)}> + window.localStorage.getItem('token'), logout)} appLayout={Layout}> ,