Blame view
imports/startup/client/routes.js
2.06 KB
c42d4eeac
|
1 |
/* eslint-disable max-len */ |
2b1ad7917
|
2 3 |
import React from 'react'; import { render } from 'react-dom'; |
76dd62c7b
|
4 |
import { Router, Route, IndexRoute, browserHistory } from 'react-router'; |
cac7cbc73
|
5 |
import { Meteor } from 'meteor/meteor'; |
c42d4eeac
|
6 7 8 9 10 11 12 13 14 15 16 |
import App from '../../ui/layouts/App.js'; import Documents from '../../ui/pages/Documents.js'; import NewDocument from '../../ui/pages/NewDocument.js'; import EditDocument from '../../ui/containers/EditDocument.js'; import ViewDocument from '../../ui/containers/ViewDocument.js'; import Index from '../../ui/pages/Index.js'; import Login from '../../ui/pages/Login.js'; import NotFound from '../../ui/pages/NotFound.js'; import RecoverPassword from '../../ui/pages/RecoverPassword.js'; import ResetPassword from '../../ui/pages/ResetPassword.js'; import Signup from '../../ui/pages/Signup.js'; |
2b1ad7917
|
17 |
|
f0c912bf1
|
18 |
const requireAuth = (nextState, replace) => { |
cac7cbc73
|
19 |
if (!Meteor.loggingIn() && !Meteor.userId()) { |
2b1ad7917
|
20 21 |
replace({ pathname: '/login', |
cac7cbc73
|
22 |
state: { nextPathname: nextState.location.pathname }, |
2b1ad7917
|
23 24 25 |
}); } }; |
f0c912bf1
|
26 |
Meteor.startup(() => { |
2b1ad7917
|
27 28 29 |
render( <Router history={ browserHistory }> <Route path="/" component={ App }> |
7df77f0fa
|
30 |
<IndexRoute name="index" component={ Index } onEnter={ requireAuth } /> |
d1f05315d
|
31 |
<Route name="documents" path="/documents" component={ Documents } onEnter={ requireAuth } /> |
c42d4eeac
|
32 33 |
<Route name="newDocument" path="/documents/new" component={ NewDocument } onEnter={ requireAuth } /> <Route name="editDocument" path="/documents/:_id/edit" component={ EditDocument } onEnter={ requireAuth } /> |
d41fb1b0e
|
34 |
<Route name="viewDocument" path="/documents/:_id" component={ ViewDocument } onEnter={ requireAuth } /> |
7df77f0fa
|
35 36 37 38 |
<Route name="login" path="/login" component={ Login } /> <Route name="recover-password" path="/recover-password" component={ RecoverPassword } /> <Route name="reset-password" path="/reset-password/:token" component={ ResetPassword } /> <Route name="signup" path="/signup" component={ Signup } /> |
c23f29749
|
39 |
<Route path="*" component={ NotFound } /> |
2b1ad7917
|
40 41 |
</Route> </Router>, |
f0c912bf1
|
42 |
document.getElementById('react-root') |
2b1ad7917
|
43 44 |
); }); |