metamaps--metamaps/src/routes/makeRoutes.js

85 lines
3.2 KiB
JavaScript

import React from 'react'
import { Route, IndexRoute } from 'react-router'
import App from './App'
import Apps from './Apps'
import Maps from './Maps'
import MapView from './MapView'
import Metacodes from './Admin/Metacodes'
import NewMetacode from './Admin/NewMetacode'
import EditMetacode from './Admin/EditMetacode'
import MetacodeSets from './Admin/MetacodeSets'
import NewMetacodeSet from './Admin/NewMetacodeSet'
import EditMetacodeSet from './Admin/EditMetacodeSet'
import Notifications from './Notifications/Notifications'
import NotificationPage from './Notifications/NotificationPage'
import TopicView from './TopicView'
import LoggedOutHome from './LoggedOutHome'
import RequestAccess from './RequestAccess'
import RequestInvite from './RequestInvite'
import Login from './Login'
import Join from './Join'
import UserSettings from './UserSettings'
function nullComponent(props) {
return null
}
export default function makeRoutes (currentUser) {
const homeComponent = currentUser && currentUser.id ? Maps : LoggedOutHome
return <Route path="/" component={App} >
<IndexRoute component={homeComponent} />
<Route path="explore">
<Route path="active" component={Maps} />
<Route path="featured" component={Maps} />
<Route path="mine" component={Maps} />
<Route path="shared" component={Maps} />
<Route path="starred" component={Maps} />
<Route path="mapper/:id" component={Maps} />
</Route>
<Route path="maps/:id">
<IndexRoute component={MapView} />
<Route path="request_access" component={RequestAccess} />
</Route>
<Route path="topics/:id" component={TopicView} />
<Route path="login" component={Login} />
<Route path="join" component={Join} />
<Route path="request" component={RequestInvite} />
<Route path="notifications">
<IndexRoute component={Notifications} />
<Route path=":id" component={NotificationPage} />
</Route>
<Route path="users">
<Route path=":id/edit" component={UserSettings} />
<Route path="password" component={nullComponent} />
<Route path="password/new" component={nullComponent} />
<Route path="password/edit" component={nullComponent} />
</Route>
<Route path="metacodes">
<IndexRoute component={Metacodes} />
<Route path="new" component={NewMetacode} />
<Route path=":id/edit" component={EditMetacode} />
</Route>
<Route path="metacode_sets">
<IndexRoute component={MetacodeSets} />
<Route path="new" component={NewMetacodeSet} />
<Route path=":id/edit" component={EditMetacodeSet} />
</Route>
<Route path="oauth">
<Route path="token/info" component={Apps} />
<Route path="authorize">
<IndexRoute component={nullComponent} />
<Route path=":code" component={nullComponent} />
</Route>
<Route path="authorized_applications">
<IndexRoute component={Apps} />
<Route path=":id" component={Apps} />
</Route>
<Route path="applications">
<IndexRoute component={Apps} />
<Route path="new" component={Apps} />
<Route path=":id" component={Apps} />
<Route path=":id/edit" component={Apps} />
</Route>
</Route>
</Route>
}