Skip to content

Commit 6941e06

Browse files
committed
🚧 update saveProject action redirection
1 parent 074334e commit 6941e06

File tree

2 files changed

+15
-12
lines changed

2 files changed

+15
-12
lines changed

client/modules/IDE/actions/project.js

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ function getSynchedProject(currentState, responseProject) {
126126
};
127127
}
128128

129-
export function saveProject(selectedFile = null, autosave = false) {
129+
export function saveProject(selectedFile = null, autosave = false, mobile = false) {
130130
return (dispatch, getState) => {
131131
const state = getState();
132132
if (state.project.isSaving) {
@@ -185,16 +185,15 @@ export function saveProject(selectedFile = null, autosave = false) {
185185
.then((response) => {
186186
dispatch(endSavingProject());
187187
const { hasChanges, synchedProject } = getSynchedProject(getState(), response.data);
188+
189+
dispatch(setNewProject(synchedProject));
190+
dispatch(setUnsavedChanges(false));
191+
browserHistory.push(`${mobile ? '/mobile' : ''}/${response.data.user.username}/sketches/${response.data.id}`);
192+
188193
if (hasChanges) {
189-
dispatch(setNewProject(synchedProject));
190-
dispatch(setUnsavedChanges(false));
191-
browserHistory.push(`/${response.data.user.username}/sketches/${response.data.id}`);
192194
dispatch(setUnsavedChanges(true));
193-
} else {
194-
dispatch(setNewProject(synchedProject));
195-
dispatch(setUnsavedChanges(false));
196-
browserHistory.push(`/${response.data.user.username}/sketches/${response.data.id}`);
197195
}
196+
198197
dispatch(projectSaveSuccess());
199198
if (!autosave) {
200199
if (state.preferences.autosave) {
@@ -222,9 +221,9 @@ export function saveProject(selectedFile = null, autosave = false) {
222221
};
223222
}
224223

225-
export function autosaveProject() {
224+
export function autosaveProject(mobile = false) {
226225
return (dispatch, getState) => {
227-
saveProject(null, true)(dispatch, getState);
226+
saveProject(null, true, mobile)(dispatch, getState);
228227
};
229228
}
230229

client/modules/IDE/pages/MobileIDEView.jsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ const handleGlobalKeydown = (props, cmController) => (e) => {
116116
// 83 === s
117117
e.preventDefault();
118118
e.stopPropagation();
119-
if (canSaveProject(props)) saveProject(cmController.getContent());
119+
if (canSaveProject(project, user)) saveProject(cmController.getContent(), false, true);
120120
else if (user.authenticated) cloneProject();
121121
else showErrorModal('forceAuthentication');
122122

@@ -145,14 +145,18 @@ const autosave = (autosaveInterval, setAutosaveInterval) => (props, prevProps) =
145145

146146
const { selectedFile: oldFile } = prevProps;
147147

148+
const doAutosave = () => autosaveProject(true);
149+
150+
console.log(isUserOwner(props), project);
151+
148152
if (isUserOwner(props) && project.id) {
149153
if (preferences.autosave && ide.unsavedChanges && !ide.justOpenedProject) {
150154
if (file.name === oldFile.name && file.content !== oldFile.content) {
151155
if (autosaveInterval) {
152156
clearTimeout(autosaveInterval);
153157
}
154158
console.log('will save project in 20 seconds');
155-
setAutosaveInterval(setTimeout(autosaveProject, 20000));
159+
setAutosaveInterval(setTimeout(doAutosave, 20000));
156160
}
157161
} else if (autosaveInterval && !preferences.autosave) {
158162
clearTimeout(autosaveInterval);

0 commit comments

Comments
 (0)