Skip to content
Snippets Groups Projects
Commit 9bcf1474 authored by Aanand Prasad's avatar Aanand Prasad
Browse files

Merge branch '59-frontend-routing' into 'master'

59 frontend routing

See merge request !8
parents e3d15570 088dd25b
No related branches found
No related tags found
1 merge request!859 frontend routing
Pipeline #5798 passed with stages
in 2 minutes and 37 seconds
import React from 'react'
import { Link } from 'react-router-dom'
import { AppBar } from '@pubsweet/ui'
const App = ({ children }) => (
<div>
<AppBar
brand="eLife"
navLinkComponents={[<Link to="/">Dashboard</Link>]}
onLogoutClick={() => {
/* empty function for now */
}}
user={{ username: 'Dummy User', admin: true }}
/>
<div>{children}</div>
</div>
)
export default App
## App Component
The aim of this component is to group things that are shared by apps (like the navbar). This is similar to [xpub app] (https://gitlab.coko.foundation/pubsweet/pubsweet/tree/master/packages/components/packages/xpub-app).
import React from 'react'
import { Link } from 'react-router-dom'
const Dashboard = () => (
<div>
<h1>Dashboard Dummy Page</h1>
<Link to="/submit">Submit a manuscript</Link>
</div>
)
export default Dashboard
## Dashboard Component
TODO this needs to be implemented
This should provide a list of manuscripts.
export { default as App } from './app/App'
export { default as Dashboard } from './dashboard/Dashboard'
export { default as Login } from './login/Login'
export { default as Submission } from './submission/Submission'
import React from 'react'
const Login = () => <div>Login Dummy Page</div>
export default Login
## Login Component
TODO this needs to be implemented/replaced with pubsweet login
This should provide a login component. It will probably end being just an ORCID button.
import React from 'react'
const Submission = () => <div>Submission Dummy Page</div>
export default Submission
## Submission component
This should provide a submission form for manuscripts.
import React from 'react'
import { Route, Switch } from 'react-router-dom'
const Routes = () => <div>TODO</div>
import { App, Dashboard, Submission, Login } from './components'
/*
* TODO: implement login/signup and wrap Component in AuthenticatedComponent:
* <AuthenticatedComponent>
* <Component {...props}>
* </AuthenticatedComponent>
*/
const PrivateRoute = ({ component: Component, ...rest }) => (
<Route {...rest} render={props => <Component {...props} />} />
)
const Routes = () => (
<App>
<Switch>
<Route component={Login} exact path="/login" />
<PrivateRoute component={Submission} exact path="/submit" />
<PrivateRoute component={Dashboard} path="/" />
</Switch>
</App>
)
export default Routes
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment