diff --git a/packages/app/src/app/store/actions.js b/packages/app/src/app/store/actions.js index d84f516d8a4..bea71792221 100644 --- a/packages/app/src/app/store/actions.js +++ b/packages/app/src/app/store/actions.js @@ -168,7 +168,7 @@ export function getGitChanges({ api, state }) { .then(gitChanges => ({ gitChanges })); } -export function forkSandbox({ state, props, api }) { +export function forkSandbox({ state, props, api, path }) { const sandboxId = props.sandboxId || state.get('editor.currentId'); const url = sandboxId.includes('/') ? `/sandboxes/fork/${sandboxId}` @@ -176,7 +176,8 @@ export function forkSandbox({ state, props, api }) { return api .post(url, props.body || {}) - .then(data => ({ forkedSandbox: data })); + .then(data => path.success({ forkedSandbox: data })) + .catch(error => path.error({ error })); } export function moveModuleContent({ props, state }) { diff --git a/packages/app/src/app/store/sequences.js b/packages/app/src/app/store/sequences.js index 13d4b616097..ab1f83d0120 100644 --- a/packages/app/src/app/store/sequences.js +++ b/packages/app/src/app/store/sequences.js @@ -166,13 +166,18 @@ export const forkSandbox = sequence('forkSandbox', [ factories.track('Fork Sandbox', {}), set(state`editor.isForkingSandbox`, true), actions.forkSandbox, - actions.moveModuleContent, - setSandboxData, - set(state`editor.currentId`, props`sandbox.id`), - factories.addNotification('Forked sandbox!', 'success'), - factories.updateSandboxUrl(props`sandbox`), - ensurePackageJSON, - set(state`editor.isForkingSandbox`, false), + { + success: [ + actions.moveModuleContent, + setSandboxData, + set(state`editor.currentId`, props`sandbox.id`), + factories.addNotification('Forked sandbox!', 'success'), + factories.updateSandboxUrl(props`sandbox`), + ensurePackageJSON, + set(state`editor.isForkingSandbox`, false), + ], + error: set(state`editor.isForkingSandbox`, false), + }, ], false: [ factories.track('Show Server Fork Sign In Modal', {}),