Skip to content
Snippets Groups Projects
routes.js 807 B
Newer Older
Tamlyn Rhodes's avatar
Tamlyn Rhodes committed
import React from 'react'
import { Route, Switch } from 'react-router-dom'
import { AuthenticatedComponent } from 'pubsweet-client'
Tamlyn Rhodes's avatar
Tamlyn Rhodes committed

import {
  ElifeApp,
  ElifeDashboard,
  ElifeSubmit,
  ElifeLogin,
  ElifeSignup,
} from './components'

const PrivateRoute = ({ component: Component, ...rest }) => (
  <Route
    {...rest}
    render={props => (
      <AuthenticatedComponent>
        <Component {...props} />
      </AuthenticatedComponent>
    )}
  />
)

const Routes = () => (
  <ElifeApp>
    <Switch>
      <Route component={ElifeSignup} exact path="/signup" />
      <Route component={ElifeLogin} exact path="/login" />
      <PrivateRoute component={ElifeSubmit} exact path="/submit" />
      <PrivateRoute component={ElifeDashboard} path="/" />
    </Switch>
  </ElifeApp>
)
Tamlyn Rhodes's avatar
Tamlyn Rhodes committed

export default Routes