set canRemix and canSaveAsCopy

This commit is contained in:
Ben Wheeler 2018-10-22 06:59:58 -04:00
parent fdeab4de05
commit ed7b6541e9

View file

@ -545,7 +545,8 @@ Preview.defaultProps = {
}; };
const mapStateToProps = state => { const mapStateToProps = state => {
const projectInfoPresent = Object.keys(state.preview.projectInfo).length > 0; const projectInfoPresent = state.preview.projectInfo &&
Object.keys(state.preview.projectInfo).length > 0 && state.preview.projectInfo.id > 0;
const userPresent = state.session.session.user !== null && const userPresent = state.session.session.user !== null &&
typeof state.session.session.user !== 'undefined' && typeof state.session.session.user !== 'undefined' &&
Object.keys(state.session.session.user).length > 0; Object.keys(state.session.session.user).length > 0;
@ -558,15 +559,15 @@ const mapStateToProps = state => {
state.session.session.user.id === state.preview.projectInfo.author.id; state.session.session.user.id === state.preview.projectInfo.author.id;
return { return {
canAddToStudio: isLoggedIn && userOwnsProject, canAddToStudio: userOwnsProject,
canCreateNew: true, canCreateNew: true,
canRemix: false, canRemix: isLoggedIn && projectInfoPresent && !userOwnsProject,
canReport: isLoggedIn && !userOwnsProject, canReport: isLoggedIn && !userOwnsProject,
canSave: isLoggedIn && (userOwnsProject || !state.preview.projectInfo.id), canSave: isLoggedIn && (userOwnsProject || !projectInfoPresent), // can save a new project
canSaveAsCopy: false, canSaveAsCopy: userOwnsProject && projectInfoPresent,
canShare: userOwnsProject && state.permissions.social, canShare: userOwnsProject && state.permissions.social,
comments: state.preview.comments, comments: state.preview.comments,
enableCommunity: state.preview.projectInfo && state.preview.projectInfo.id > 0, enableCommunity: projectInfoPresent,
faved: state.preview.faved, faved: state.preview.faved,
fullScreen: state.scratchGui.mode.isFullScreen, fullScreen: state.scratchGui.mode.isFullScreen,
// project is editable iff logged in user is the author of the project, or // project is editable iff logged in user is the author of the project, or