diff --git a/apps/remix-ide/src/app.js b/apps/remix-ide/src/app.js
index 5e8b7ac863..09d220f369 100644
--- a/apps/remix-ide/src/app.js
+++ b/apps/remix-ide/src/app.js
@@ -18,7 +18,7 @@ import { LandingPage } from './app/ui/landing-page/landing-page'
import { MainPanel } from './app/components/main-panel'
import FetchAndCompile from './app/compiler/compiler-sourceVerifier-fetchAndCompile'
-import migrateFileSystem, { migrateToWorkspace } from './migrateFileSystem'
+import migrateFileSystem from './migrateFileSystem'
const isElectron = require('is-electron')
const csjs = require('csjs-inject')
@@ -494,7 +494,5 @@ Please make a backup of your contracts and start using http://remix.ethereum.org
// get the file list from the parent iframe
loadFileFromParent(fileManager)
- migrateToWorkspace(fileManager, filePanel)
-
if (params.embed) framingService.embed()
}
diff --git a/apps/remix-ide/src/app/ui/landing-page/landing-page.js b/apps/remix-ide/src/app/ui/landing-page/landing-page.js
index bf89d166d8..0b550b1fab 100644
--- a/apps/remix-ide/src/app/ui/landing-page/landing-page.js
+++ b/apps/remix-ide/src/app/ui/landing-page/landing-page.js
@@ -357,6 +357,11 @@ export class LandingPage extends ViewPlugin {
query.update({ appVersion: '0.7.7' })
document.location.reload()
}
+
+ const migrateWorkspace = () => {
+ migrateToWorkspace(globalRegistry.get('fileManager').api, globalRegistry.get('filePanel').api)
+ }
+
const img = yo``
const playRemi = async () => { await document.getElementById('remiAudio').play() }
// to retrieve medium posts
@@ -435,6 +440,10 @@ export class LandingPage extends ViewPlugin {
switchToPreviousVersion()}>Old experience
+ + migrateWorkspace()}>Migrate old filesystem to workspace +
diff --git a/apps/remix-ide/src/migrateFileSystem.js b/apps/remix-ide/src/migrateFileSystem.js index 0a64ba5b29..c15bea2b39 100644 --- a/apps/remix-ide/src/migrateFileSystem.js +++ b/apps/remix-ide/src/migrateFileSystem.js @@ -24,19 +24,15 @@ export default (fileProvider) => { export async function migrateToWorkspace (fileManager, filePanel) { const browserProvider = fileManager.getProvider('browser') const workspaceProvider = fileManager.getProvider('workspace') - const flag = 'status' - const fileStorageBrowserWorkspace = new Storage('remix_browserWorkspace_migration:') - if (fileStorageBrowserWorkspace.get(flag) === 'done') return const files = await browserProvider.copyFolderToJson('/') console.log(files) if (Object.keys(files).length > 0) { - const workspaceName = 'default_workspace' + const workspaceName = 'workspace_migrated_' + Date.now() const workspacePath = joinPath('browser', workspaceProvider.workspacesPath, workspaceName) await filePanel.processCreateWorkspace(workspaceName) filePanel.getWorkspaces() // refresh list await populateWorkspace(workspacePath, files, browserProvider) - } - fileStorageBrowserWorkspace.set(flag, 'done') + } } const populateWorkspace = async (workspace, json, browserProvider) => {