Get thumbnails from the project for reporting

This commit is contained in:
Paul Kaplan 2019-02-15 14:27:36 -05:00
parent 97abd93130
commit 4e8ea5c3bd
3 changed files with 19 additions and 4 deletions

View file

@ -954,9 +954,8 @@ module.exports.shareProject = (projectId, token) => (dispatch => {
module.exports.reportProject = (id, jsonData, token) => (dispatch => { module.exports.reportProject = (id, jsonData, token) => (dispatch => {
dispatch(module.exports.setFetchStatus('report', module.exports.Status.FETCHING)); dispatch(module.exports.setFetchStatus('report', module.exports.Status.FETCHING));
// scratchr2 will fail if no thumbnail base64 string provided. We don't yet have // scratchr2 will fail if no thumbnail base64 string provided. If there is not one
// a way to get the actual project thumbnail in www/gui, so for now just submit // included for any reason, include this minimal blank image.
// a minimal base64 png string.
defaults(jsonData, { defaults(jsonData, {
thumbnail: 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC' + thumbnail: 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC' +
'0lEQVR42mP8/x8AAwMCAO+ip1sAAAAASUVORK5CYII=' '0lEQVR42mP8/x8AAwMCAO+ip1sAAAAASUVORK5CYII='

View file

@ -106,6 +106,7 @@ const PreviewPresentation = ({
onRestoreComment, onRestoreComment,
onSeeAllComments, onSeeAllComments,
onSeeInside, onSeeInside,
onSetProjectThumbnailer,
onShare, onShare,
onToggleComments, onToggleComments,
onToggleStudio, onToggleStudio,
@ -341,6 +342,7 @@ const PreviewPresentation = ({
onGreenFlag={onGreenFlag} onGreenFlag={onGreenFlag}
onProjectLoaded={onProjectLoaded} onProjectLoaded={onProjectLoaded}
onRemixing={onRemixing} onRemixing={onRemixing}
onSetProjectThumbnailer={onSetProjectThumbnailer}
onUpdateProjectId={onUpdateProjectId} onUpdateProjectId={onUpdateProjectId}
onUpdateProjectThumbnail={onUpdateProjectThumbnail} onUpdateProjectThumbnail={onUpdateProjectThumbnail}
/> />
@ -709,6 +711,7 @@ PreviewPresentation.propTypes = {
onRestoreComment: PropTypes.func, onRestoreComment: PropTypes.func,
onSeeAllComments: PropTypes.func, onSeeAllComments: PropTypes.func,
onSeeInside: PropTypes.func, onSeeInside: PropTypes.func,
onSetProjectThumbnailer: PropTypes.func,
onShare: PropTypes.func, onShare: PropTypes.func,
onToggleComments: PropTypes.func, onToggleComments: PropTypes.func,
onToggleStudio: PropTypes.func, onToggleStudio: PropTypes.func,

View file

@ -79,6 +79,7 @@ class Preview extends React.Component {
'handleRemix', 'handleRemix',
'handleSeeAllComments', 'handleSeeAllComments',
'handleSeeInside', 'handleSeeInside',
'handleSetProjectThumbnailer',
'handleShare', 'handleShare',
'handleUpdateProjectId', 'handleUpdateProjectId',
'handleUpdateProjectTitle', 'handleUpdateProjectTitle',
@ -381,7 +382,18 @@ class Preview extends React.Component {
this.setState({addToStudioOpen: false}); this.setState({addToStudioOpen: false});
} }
handleReportSubmit (formData) { handleReportSubmit (formData) {
this.props.reportProject(this.state.projectId, formData, this.props.user.token); const submit = data => this.props.reportProject(this.state.projectId, data, this.props.user.token);
if (this.getProjectThumbnail) {
this.getProjectThumbnail(thumbnail => {
const data = Object.assign({}, formData, {thumbnail});
submit(data);
});
} else {
submit(formData);
}
}
handleSetProjectThumbnailer (fn) {
this.getProjectThumbnail = fn;
} }
handleGreenFlag () { handleGreenFlag () {
if (!this.state.greenFlagRecorded) { if (!this.state.greenFlagRecorded) {
@ -690,6 +702,7 @@ class Preview extends React.Component {
onRestoreComment={this.handleRestoreComment} onRestoreComment={this.handleRestoreComment}
onSeeAllComments={this.handleSeeAllComments} onSeeAllComments={this.handleSeeAllComments}
onSeeInside={this.handleSeeInside} onSeeInside={this.handleSeeInside}
onSetProjectThumbnailer={this.handleSetProjectThumbnailer}
onShare={this.handleShare} onShare={this.handleShare}
onToggleComments={this.handleToggleComments} onToggleComments={this.handleToggleComments}
onToggleStudio={this.handleToggleStudio} onToggleStudio={this.handleToggleStudio}