1
0
Fork 0
chronos/app/components/app.jsx

52 lines
1.4 KiB
React
Raw Normal View History

2017-04-12 00:14:51 +08:00
import React from 'react';
import { BrowserRouter as Router, Route } from 'react-router-dom';
import LayoutMain from '../layouts/main';
import PageHome from '../pages/home';
import PageLogin from '../pages/login';
import PageLoginSchool from '../pages/login_school';
2017-04-13 00:27:16 +08:00
import PageGroups from '../pages/groups';
2017-04-14 18:53:15 +08:00
import PageGroup from '../pages/group';
2017-04-12 00:14:51 +08:00
export default class App extends React.Component {
getChildContext() {
2017-04-16 17:03:00 +08:00
let cb = () => {};
let pN = () => {};
let pP = () => {};
2017-04-12 00:14:51 +08:00
return {
user: {},
token: null,
2017-04-16 17:03:00 +08:00
tooling: {
setToolbar: (o) => { cb(o); },
setPaginatePrev: (f) => { pP = f; },
setPaginateNext: (f) => { pN = f; },
paginatePrev: () => { pP(); },
paginateNext: () => { pN(); },
onChange: (f) => { cb = f; },
},
2017-04-12 00:14:51 +08:00
};
}
render() {
return (
<Router>
<LayoutMain>
<Route exact path="/" component={PageHome} />
<Route path="/login" component={PageLogin} />
<Route path="/login/:id" component={PageLoginSchool} />
2017-04-14 18:53:15 +08:00
<Route exact path="/groups" component={PageGroups} />
<Route path="/groups/:id" component={PageGroup} />
2017-04-12 00:14:51 +08:00
</LayoutMain>
</Router>
);
}
}
App.childContextTypes = {
// eslint-disable-next-line react/forbid-prop-types
user: React.PropTypes.object.isRequired,
token: React.PropTypes.string,
2017-04-16 17:03:00 +08:00
// eslint-disable-next-line react/forbid-prop-types
tooling: React.PropTypes.object.isRequired,
2017-04-12 00:14:51 +08:00
};