Fix cloning when editing someone else's project
This commit is contained in:
		
							parent
							
								
									b231b6b7e3
								
							
						
					
					
						commit
						fa5e7cceb1
					
				
					 4 changed files with 9 additions and 5 deletions
				
			
		client
|  | @ -262,7 +262,7 @@ function generateNewIdsForChildren(file, files) { | |||
| export function cloneProject(id) { | ||||
|   return (dispatch, getState) => { | ||||
|     dispatch(setUnsavedChanges(false)); | ||||
|     new Promise((resolve, reject) => { | ||||
|     return new Promise((resolve, reject) => { | ||||
|       if (!id) { | ||||
|         resolve(getState()); | ||||
|       } else { | ||||
|  |  | |||
|  | @ -58,11 +58,14 @@ class Toolbar extends React.Component { | |||
|   } | ||||
| 
 | ||||
|   render() { | ||||
|     const canEditProjectName = this.canEditProjectName(); | ||||
| 
 | ||||
|     const playButtonClass = classNames({ | ||||
|       'toolbar__play-button': true, | ||||
|       'toolbar__play-button--selected': this.props.isPlaying, | ||||
|       'toolbar__play-button--saved': this.props.isSaved, | ||||
|       'toolbar__play-button--unsaved': !this.props.isSaved | ||||
|       'toolbar__play-button--unsaved': !this.props.isSaved, | ||||
|       'toolbar__play-button--clone': this.props.unsavedChanges && !canEditProjectName | ||||
|     }); | ||||
|     const stopButtonClass = classNames({ | ||||
|       'toolbar__stop-button': true, | ||||
|  | @ -77,8 +80,6 @@ class Toolbar extends React.Component { | |||
|       'toolbar__project-name-container--editing': this.props.project.isEditingName | ||||
|     }); | ||||
| 
 | ||||
|     const canEditProjectName = this.canEditProjectName(); | ||||
| 
 | ||||
|     return ( | ||||
|       <div className="toolbar"> | ||||
|         <button | ||||
|  | @ -178,6 +179,7 @@ class Toolbar extends React.Component { | |||
| 
 | ||||
| Toolbar.propTypes = { | ||||
|   isPlaying: PropTypes.bool.isRequired, | ||||
|   unsavedChanges: PropTypes.bool.isRequired, | ||||
|   isSaved: PropTypes.bool.isRequired, | ||||
|   preferencesIsVisible: PropTypes.bool.isRequired, | ||||
|   stopSketch: PropTypes.func.isRequired, | ||||
|  | @ -221,6 +223,7 @@ function mapStateToProps(state) { | |||
|     isSaved: state.project.updatedAt !== '', | ||||
|     preferencesIsVisible: state.ide.preferencesIsVisible, | ||||
|     project: state.project, | ||||
|     unsavedChanges: state.ide.unsavedChanges, | ||||
|   }; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -183,6 +183,7 @@ class IDEView extends React.Component { | |||
|       console.trace('project to save:', this.props.project); | ||||
|       return this.props.saveProject(this.cmController.getContent()); | ||||
|     } else if (this.props.user.authenticated) { | ||||
|       console.log('cloning!'); | ||||
|       return this.props.cloneProject(); | ||||
|     } | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| .toolbar__play-button { | ||||
| 	&--unsaved { | ||||
| 	&--unsaved, &--clone { | ||||
| 		// for some reason, I cannot manage to have PreviewFrame save _and_ actuall yload the project (it stops the playback) | ||||
| 		// pressing twice works. So just show a floppy the first time around :-) | ||||
| 		svg { | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Ruben van de Ven
						Ruben van de Ven