diff --git a/demo/client/Routes.js b/demo/client/Routes.js new file mode 100644 index 0000000000..f0680f4cc1 --- /dev/null +++ b/demo/client/Routes.js @@ -0,0 +1,40 @@ +import React, { Component } from 'react'; +import { connect } from 'react-redux'; +import { Route, Switch, Link, withRouter } from 'react-router-dom'; + +import DefaultTemplate from 'payload/client/components/layout/DefaultTemplate'; +import Dashboard from 'payload/client/components/views/Dashboard'; +import Login from 'payload/client/components/views/Login'; + +const mapStateToProps = state => ({ + collections: state.collections.all +}); + +class Routes extends Component { + render() { + return ( + + + { return

Forgot Password

; } } /> + { + return ( + + + {this.props.collections.map((collection) => { + + return ( + + + + + ); + })} + + ); + }} /> +
+ ); + } +} + +export default withRouter(connect(mapStateToProps)(Routes)); diff --git a/demo/client/index.js b/demo/client/index.js index cdfc3d9bc2..cc5e7495c1 100644 --- a/demo/client/index.js +++ b/demo/client/index.js @@ -1,40 +1,15 @@ import React from 'react'; import { render } from 'react-dom'; -import { Route, Switch, Link } from 'react-router-dom'; -import DefaultTemplate from 'payload/client/components/layout/DefaultTemplate'; -import Dashboard from 'payload/client/components/views/Dashboard'; -import Login from 'payload/client/components/views/Login'; import App from 'payload/client/components/App'; -import collections from '../collections'; +import Routes from './Routes'; import store from './store'; const Index = () => { return ( - - - { return

Forgot Password

; } } /> - { - return ( - - - {collections.map((collection) => { - const collectionsPath = 'collections'; - - return ( - - - - - ); - })} - - ); - }} /> -
- Dashboard +
); }; diff --git a/demo/collections.js b/demo/collections.js index 4535d4367a..c142a2608f 100644 --- a/demo/collections.js +++ b/demo/collections.js @@ -7,11 +7,17 @@ import OrdersEdit from './client/components/collections/Orders/Edit'; export default [ { slug: 'pages', + label: 'Pages', + singular: 'Page', + plural: 'Pages', archive: PagesArchive, edit: PagesEdit }, { slug: 'orders', + label: 'Orders', + singular: 'Order', + plural: 'Orders', archive: OrdersArchive, edit: OrdersEdit } diff --git a/src/client/components/App.js b/src/client/components/App.js index 92dbfa9c5a..fd97053d37 100644 --- a/src/client/components/App.js +++ b/src/client/components/App.js @@ -3,6 +3,7 @@ import { BrowserRouter as Router, Link } from 'react-router-dom'; import { Provider } from 'react-redux'; import MeasureWindow from 'payload/client/components/utilities/MeasureWindow'; import MeasureScroll from 'payload/client/components/utilities/MeasureScroll'; +import LoadContent from 'payload/client/components/utilities/LoadContent'; import 'payload/client/scss/app.css'; @@ -14,6 +15,7 @@ class App extends Component { + {this.props.children} diff --git a/src/client/components/layout/Sidebar/index.js b/src/client/components/layout/Sidebar/index.js index 915ee04bd7..3e78783d83 100644 --- a/src/client/components/layout/Sidebar/index.js +++ b/src/client/components/layout/Sidebar/index.js @@ -1,14 +1,33 @@ -import React from 'react'; +import React, { Component } from 'react'; +import { connect } from 'react-redux'; +import { Link } from 'react-router-dom'; import Icon from 'demo/client/components/graphics/Icon'; import Label from '../../type/Label'; import './index.css'; -export default () => { - return ( - - ); +const mapStateToProps = state => ({ + collections: state.collections.all +}); + +class Sidebar extends Component { + render() { + return ( + + ); + } }; + +export default connect(mapStateToProps)(Sidebar); diff --git a/src/client/components/layout/Sidebar/index.scss b/src/client/components/layout/Sidebar/index.scss index 24882c0b40..50d5e8d3e4 100644 --- a/src/client/components/layout/Sidebar/index.scss +++ b/src/client/components/layout/Sidebar/index.scss @@ -10,4 +10,17 @@ @include m; width: $base; } + + label { + color: $gray; + } + + nav { + margin: rem(.5) 0; + a { + display: block; + padding: rem(.33) 0; + border-bottom: 0; + } + } } diff --git a/src/client/components/utilities/LoadContent/index.js b/src/client/components/utilities/LoadContent/index.js new file mode 100644 index 0000000000..cababfc0d2 --- /dev/null +++ b/src/client/components/utilities/LoadContent/index.js @@ -0,0 +1,20 @@ +import { Component } from 'react'; +import { connect } from 'react-redux'; +import collections from 'demo/collections'; + +const mapDispatchToProps = dispatch => ({ + loadCollections: collections => dispatch({ type: 'LOAD_COLLECTIONS', payload: collections }), +}); + +class LoadContent extends Component { + + componentDidMount() { + this.props.loadCollections(collections); + } + + render() { + return false; + } +} + +export default connect(null, mapDispatchToProps)(LoadContent); diff --git a/src/client/components/views/Login/index.js b/src/client/components/views/Login/index.js index cbe1e0ff00..e84461fa43 100644 --- a/src/client/components/views/Login/index.js +++ b/src/client/components/views/Login/index.js @@ -1,4 +1,5 @@ import React from 'react'; +import { Link } from 'react-router-dom'; import ContentBlock from 'payload/client/components/layout/ContentBlock'; import Logo from 'demo/client/components/graphics/Logo'; import Form from 'payload/client/components/forms/Form'; @@ -21,6 +22,7 @@ export default () => { Log In + To Dashboard ); }; diff --git a/src/client/reducers/collections.js b/src/client/reducers/collections.js index d0cf7b44d6..11c19520ca 100644 --- a/src/client/reducers/collections.js +++ b/src/client/reducers/collections.js @@ -5,6 +5,7 @@ const defaultState = { export default (state = defaultState, action) => { switch (action.type) { case 'LOAD_COLLECTIONS': + return { ...state, all: action.payload diff --git a/src/client/scss/_type.scss b/src/client/scss/_type.scss index c0ccc23097..107145d764 100644 --- a/src/client/scss/_type.scss +++ b/src/client/scss/_type.scss @@ -78,8 +78,8 @@ %label { text-transform: uppercase; - letter-spacing: rem(.05); - font-size: rem(.3); + letter-spacing: rem(.1); + font-size: rem(.275); font-family: $font-label; -webkit-font-smoothing: auto; diff --git a/src/client/scss/_vars.scss b/src/client/scss/_vars.scss index 0467d48e66..8b43d79e29 100644 --- a/src/client/scss/_vars.scss +++ b/src/client/scss/_vars.scss @@ -4,7 +4,7 @@ $body : 18px; $base-px : 36px; -$base : ($base-px / $body) + rem; // This computes to 30px in rem +$base : ($base-px / $body) + rem; // This computes to 36px in rem @function rem($multiplier) { @return ($base-px / $body) * $multiplier + rem; diff --git a/src/client/scss/app.scss b/src/client/scss/app.scss index 6b009ad32a..9a6fa15c46 100644 --- a/src/client/scss/app.scss +++ b/src/client/scss/app.scss @@ -24,10 +24,10 @@ body { html { font-size: $body; - line-height: rem(1); - font-size: 20px; + line-height: rem(1); + font-size: 20px; - @include mid-break { +/* @include mid-break { font-size: 18px; line-height: rem(1); } @@ -35,7 +35,7 @@ html { @include small-break { font-size: 16px; line-height: rem(.8) - } + }*/ } ::selection {