Skip to content
Snippets Groups Projects
Commit 031363c9 authored by Yannis Barlas's avatar Yannis Barlas
Browse files

feat(app) add navigation links from summary to manuscript and back

parent ace3bf55
No related branches found
No related tags found
No related merge requests found
import React from 'react'
import { compose } from 'recompose'
import { connect } from 'react-redux'
import { withRouter, matchPath } from 'react-router-dom'
// import PropTypes from 'prop-types'
import { AppBar, Link } from '@pubsweet/ui'
import { withJournal } from 'xpub-journal'
import actions from 'pubsweet-client/src/actions'
const getParams = routerPath => {
const path = '/projects/:project/versions/:version'
return matchPath(routerPath, path).params
}
const App = ({
children,
currentUser,
journal,
logoutUser,
history,
match,
}) => {
const { pathname } = history.location
const showLinks = pathname.match(/submit|manuscript/g)
let links
if (showLinks) {
const params = getParams(pathname)
const baseLink = `/projects/${params.project}/versions/${params.version}`
const submitLink = `${baseLink}/submit`
const manuscriptLink = `${baseLink}/manuscript`
links = showLinks
? [
<Link key="submission" to={submitLink}>
Summary Info
</Link>,
<Link key="manuscript" to={manuscriptLink}>
Manuscript
</Link>,
]
: null
}
return (
<div>
<AppBar
brand={journal.metadata.name}
navLinkComponents={links}
onLogoutClick={logoutUser}
user={currentUser}
/>
<div>{children}</div>
</div>
)
}
export default compose(
connect(
state => ({
currentUser: state.currentUser.user,
}),
{ logoutUser: actions.logoutUser },
),
withJournal,
withRouter,
)(App)
...@@ -3,7 +3,6 @@ import { withProps } from 'recompose' ...@@ -3,7 +3,6 @@ import { withProps } from 'recompose'
import { Route, Switch } from 'react-router-dom' import { Route, Switch } from 'react-router-dom'
import { AuthenticatedComponent } from 'pubsweet-client' import { AuthenticatedComponent } from 'pubsweet-client'
import App from 'pubsweet-component-xpub-app/src/components'
import Login from 'pubsweet-component-login/LoginContainer' import Login from 'pubsweet-component-login/LoginContainer'
import Signup from 'pubsweet-component-signup/SignupContainer' import Signup from 'pubsweet-component-signup/SignupContainer'
...@@ -20,6 +19,8 @@ import ReviewersPage from 'pubsweet-component-xpub-review/src/components/Reviewe ...@@ -20,6 +19,8 @@ import ReviewersPage from 'pubsweet-component-xpub-review/src/components/Reviewe
import ReviewPage from 'pubsweet-component-xpub-review/src/components/ReviewPage' import ReviewPage from 'pubsweet-component-xpub-review/src/components/ReviewPage'
import DecisionPage from 'pubsweet-component-xpub-review/src/components/DecisionPage' import DecisionPage from 'pubsweet-component-xpub-review/src/components/DecisionPage'
import App from './components/App'
const LoginPage = withProps({ passwordReset: false })(Login) const LoginPage = withProps({ passwordReset: false })(Login)
const PrivateRoute = ({ component: Component, ...rest }) => ( const PrivateRoute = ({ component: Component, ...rest }) => (
......
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