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

Merge branch '60-empty-groups' into 'master'

Resolve "Empty groups in the dashboard should be hidden"

Closes #60

See merge request xpub/xpub!52
parents b91fb914 fcf187e7
No related branches found
No related tags found
No related merge requests found
import React from 'react'
import classes from './Dashboard.local.scss'
import UploadManuscript from './UploadManuscript'
import EmptySubmissions from './EmptySubmissions'
import withVersion from './withVersion'
import EditorItem from './sections/EditorItem'
import OwnerItem from './sections/OwnerItem'
......@@ -11,73 +10,66 @@ const OwnerItemWithVersion = withVersion(OwnerItem)
const EditorItemWithVersion = withVersion(EditorItem)
const ReviewerItemWithVersion = withVersion(ReviewerItem)
const Dashboard = ({ AssignEditor, currentUser, dashboard, conversion, deleteProject, reviewerResponse, uploadManuscript }) => (
const Dashboard = ({
AssignEditor,
currentUser,
conversion,
dashboard,
deleteProject,
reviewerResponse,
uploadManuscript
}) => (
<div className={classes.root}>
<div className={classes.upload}>
<UploadManuscript
conversion={conversion}
uploadManuscript={uploadManuscript}/>
<UploadManuscript conversion={conversion} uploadManuscript={uploadManuscript} />
</div>
<div className={classes.section}>
<div className={classes.heading}>
My Submissions
</div>
{dashboard.owner ? (
dashboard.owner.map(project => (
<OwnerItemWithVersion
key={project.id}
project={project}
deleteProject={deleteProject}/>
))
) : (
<EmptySubmissions/>
{!dashboard.owner.length &&
!dashboard.reviewer.length &&
!dashboard.assign.length &&
!dashboard.editor.length && (
<div className={classes.section}>
<div className={classes.empty}>Nothing to do at the moment. Please upload a document.</div>
</div>
)}
</div>
{!!dashboard.reviewer.length && (
{!!dashboard.owner.length && (
<div className={classes.section}>
<div className={classes.heading}>
My Reviews
</div>
<div className={classes.heading}>My Submissions</div>
{dashboard.owner.map(project => (
<OwnerItemWithVersion key={project.id} project={project} deleteProject={deleteProject} />
))}
</div>
)}
{!!dashboard.reviewer.length && (
<div className={classes.section}>
<div className={classes.heading}>To review</div>
{dashboard.reviewer.map(project => (
<ReviewerItemWithVersion
key={project.id}
project={project}
currentUser={currentUser}
reviewerResponse={reviewerResponse}/>
reviewerResponse={reviewerResponse}
/>
))}
</div>
)}
{!!dashboard.assign.length && (
<div className={classes.section}>
<div className={classes.heading}>
Assign
</div>
<div className={classes.heading}>Assign</div>
{dashboard.assign.map(project => (
<EditorItemWithVersion
key={project.id}
project={project}
AssignEditor={AssignEditor}/>
<EditorItemWithVersion key={project.id} project={project} AssignEditor={AssignEditor} />
))}
</div>
)}
{!!dashboard.editor.length && (
<div className={classes.section}>
<div className={classes.heading}>
My Manuscripts
</div>
<div className={classes.heading}>My Manuscripts</div>
{dashboard.editor.map(project => (
<EditorItemWithVersion
key={project.id}
project={project}
AssignEditor={AssignEditor}/>
<EditorItemWithVersion key={project.id} project={project} AssignEditor={AssignEditor} />
))}
</div>
)}
......
......@@ -10,26 +10,25 @@ const UploadManuscript = ({ uploadManuscript, conversion }) => (
<Dropzone
onDrop={uploadManuscript}
accept="application/vnd.openxmlformats-officedocument.wordprocessingml.document"
className={classes.dropzone}>
className={classes.dropzone}
>
<div className={classes.root}>
<div className={classnames({
[classes.idle]: isIdle(conversion),
[classes.converting]: conversion.converting,
[classes.error]: conversion.error,
[classes.complete]: conversion.complete
})}>
<div
className={classnames({
[classes.idle]: isIdle(conversion),
[classes.converting]: conversion.converting,
[classes.error]: conversion.error,
[classes.complete]: conversion.complete
})}
>
<span className={classes.icon}>
<Icon color="var(--color-primary)">
{conversion.complete ? 'check_circle' : 'plus_circle'}
</Icon>
<Icon color="var(--color-primary)">{conversion.complete ? 'check_circle' : 'plus_circle'}</Icon>
</span>
</div>
<div className={classes.main}>
{conversion.error ? (
<div className={classes.error}>
{conversion.error.message}
</div>
<div className={classes.error}>{conversion.error.message}</div>
) : (
<div className={classes.info}>
{conversion.complete ? 'Submission created' : 'Create submission'}
......
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