diff --git a/packages/component-dashboard/src/components/UploadManuscript.js b/packages/component-dashboard/src/components/UploadManuscript.js index 23ef788fdae171b8d78c6cc30c18086bdc3c0eea..9568b6c1b72ae8d15d73795eb92f6a87e349d318 100644 --- a/packages/component-dashboard/src/components/UploadManuscript.js +++ b/packages/component-dashboard/src/components/UploadManuscript.js @@ -15,13 +15,11 @@ class UploadManuscript extends Component { } } - componentDidMount() { - if (this.state.complete === true) { - setTimeout(() => { - this.setState({ - complete: false, - }) - }, 3000) + componentWillReceiveProps(nextProps) { + if (nextProps.conversion.complete === true) { + this.setState({ + complete: true, + }) } } diff --git a/packages/component-dashboard/src/redux/conversion.js b/packages/component-dashboard/src/redux/conversion.js index 575cdbfb94d71a97e16c2e61aa03b068fba7bc7e..f28d7b5ed77d41eac90a6ba3bd41acf36702791f 100644 --- a/packages/component-dashboard/src/redux/conversion.js +++ b/packages/component-dashboard/src/redux/conversion.js @@ -8,6 +8,7 @@ import { generateTitle, extractTitle } from '../lib/title' export const UPLOAD_MANUSCRIPT_REQUEST = 'UPLOAD_MANUSCRIPT_REQUEST' export const UPLOAD_MANUSCRIPT_SUCCESS = 'UPLOAD_MANUSCRIPT_SUCCESS' export const UPLOAD_MANUSCRIPT_FAILURE = 'UPLOAD_MANUSCRIPT_FAILURE' +export const INITIAL_MANUSCRIPT = 'INITIAL_MANUSCRIPT' /* actions */ @@ -85,11 +86,13 @@ export const uploadManuscript = (acceptedFiles, history) => dispatch => { const route = `/projects/${collection.id}/versions/${ fragment.id }/submit` - // redirect after a short delay window.setTimeout(() => { + dispatch({ + type: INITIAL_MANUSCRIPT, + }) history.push(route) - }, 1000) + }, 2000) }) }, ) @@ -105,9 +108,9 @@ export const uploadManuscript = (acceptedFiles, history) => dispatch => { /* reducer */ const initialState = { - complete: undefined, + complete: false, converting: false, - error: undefined, + error: false, } export default (state = initialState, action) => { @@ -119,6 +122,12 @@ export default (state = initialState, action) => { error: undefined, } + case INITIAL_MANUSCRIPT: + return { + complete: false, + converting: false, + } + case UPLOAD_MANUSCRIPT_SUCCESS: return { complete: true,