spee.ch/react/components/PublishStatus.jsx

53 lines
2 KiB
React
Raw Normal View History

import React from 'react';
2018-01-17 18:24:17 +01:00
import PropTypes from 'prop-types';
2018-01-12 02:38:01 +01:00
import ProgressBar from '../components/ProgressBar.jsx';
2018-01-17 00:55:29 +01:00
import * as publishStates from '../constants/publishing_states';
2018-01-12 00:37:32 +01:00
function PublishStatus ({ status, message }) {
return (
<div className="row row--tall flex-container--column flex-container--center-center">
2018-01-17 00:55:29 +01:00
{(status === publishStates.LOAD_START) &&
2018-01-12 00:37:32 +01:00
<div className="row align-content-center">
<p>File is loading to server</p>
<p className="blue">{message}</p>
</div>
}
2018-01-17 00:55:29 +01:00
{(status === publishStates.LOADING) &&
2018-01-12 00:37:32 +01:00
<div>
<div className="row align-content-center">
<p>File is loading to server</p>
<p className="blue">{message}</p>
</div>
</div>
2018-01-12 00:37:32 +01:00
}
2018-01-17 00:55:29 +01:00
{(status === publishStates.PUBLISHING) &&
2018-01-12 00:37:32 +01:00
<div className="row align-content-center">
<p>Upload complete. Your file is now being published on the blockchain...</p>
2018-01-12 02:38:01 +01:00
<ProgressBar/>
2018-01-12 00:37:32 +01:00
<p>Curious what magic is happening here? <a className="link--primary" target="blank" href="https://lbry.io/faq/what-is-lbry">Learn more.</a></p>
</div>
}
2018-01-17 00:55:29 +01:00
{(status === publishStates.SUCCESS) &&
2018-01-12 00:37:32 +01:00
<div className="row align-content-center">
<p>Your publish is complete! You are being redirected to it now.</p>
<p>If you are not automatically redirected, <a class="link--primary" target="_blank" href={message}>click here.</a></p>
2018-01-12 00:37:32 +01:00
</div>
}
2018-01-17 00:55:29 +01:00
{(status === publishStates.FAILED) &&
2018-01-12 00:37:32 +01:00
<div className="row align-content-center">
<p>Something went wrong...</p>
<p><strong>{message}</strong></p>
<p>For help, post the above error text in the #speech channel on the <a className="link--primary" href="https://discord.gg/YjYbwhS" target="_blank">lbry discord</a></p>
</div>
}
</div>
);
};
2018-01-17 18:24:17 +01:00
PublishStatus.propTypes = {
status : PropTypes.string.isRequired,
message: PropTypes.string.isRequired,
};
2018-01-12 00:37:32 +01:00
export default PublishStatus;