aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts
diff options
context:
space:
mode:
authorWhymarrh Whitby <whymarrh.whitby@gmail.com>2019-01-30 22:30:42 +0800
committerWhymarrh Whitby <whymarrh.whitby@gmail.com>2019-02-05 20:19:55 +0800
commitc52ba96b85998f34bfb034f801556f4c89b8b6ba (patch)
tree6537c1d50b0f4ec2fe75425a4b3812420e4e2cab /app/scripts
parenta7a6318c132d2c0014f7f6ee2ff70d4a9ec259ac (diff)
downloadtangerine-wallet-browser-c52ba96b85998f34bfb034f801556f4c89b8b6ba.tar
tangerine-wallet-browser-c52ba96b85998f34bfb034f801556f4c89b8b6ba.tar.gz
tangerine-wallet-browser-c52ba96b85998f34bfb034f801556f4c89b8b6ba.tar.bz2
tangerine-wallet-browser-c52ba96b85998f34bfb034f801556f4c89b8b6ba.tar.lz
tangerine-wallet-browser-c52ba96b85998f34bfb034f801556f4c89b8b6ba.tar.xz
tangerine-wallet-browser-c52ba96b85998f34bfb034f801556f4c89b8b6ba.tar.zst
tangerine-wallet-browser-c52ba96b85998f34bfb034f801556f4c89b8b6ba.zip
Remove betaUI preference state, replace with completedUiMigration
Diffstat (limited to 'app/scripts')
-rw-r--r--app/scripts/controllers/preferences.js14
-rw-r--r--app/scripts/migrations/032.js29
2 files changed, 39 insertions, 4 deletions
diff --git a/app/scripts/controllers/preferences.js b/app/scripts/controllers/preferences.js
index d2ef987f2..c0716cc42 100644
--- a/app/scripts/controllers/preferences.js
+++ b/app/scripts/controllers/preferences.js
@@ -33,10 +33,7 @@ class PreferencesController {
tokens: [],
suggestedTokens: {},
useBlockie: false,
- featureFlags: {
- betaUI: true,
- skipAnnounceBetaUI: true,
- },
+ featureFlags: {},
knownMethodData: {},
currentLocale: opts.initLangCode,
identities: {},
@@ -47,6 +44,7 @@ class PreferencesController {
useNativeCurrencyAsPrimaryCurrency: true,
},
completedOnboarding: false,
+ completedUiMigration: false,
}, opts.initState)
this.diagnostics = opts.diagnostics
@@ -552,6 +550,14 @@ class PreferencesController {
return Promise.resolve(true)
}
+ /**
+ * Sets the {@code completedUiMigration} state to {@code true}, indicating that the user has completed the UI switch.
+ */
+ completeUiMigration () {
+ this.store.updateState({ completedUiMigration: true })
+ return Promise.resolve(true)
+ }
+
//
// PRIVATE METHODS
//
diff --git a/app/scripts/migrations/032.js b/app/scripts/migrations/032.js
new file mode 100644
index 000000000..e89fe383f
--- /dev/null
+++ b/app/scripts/migrations/032.js
@@ -0,0 +1,29 @@
+const version = 32
+const clone = require('clone')
+
+/**
+ * The purpose of this migration is to set the {@code completedUiMigration} flag based on the user's UI preferences
+ */
+module.exports = {
+ version,
+ migrate: async function (originalVersionedData) {
+ const versionedData = clone(originalVersionedData)
+ versionedData.meta.version = version
+ const state = versionedData.data
+ versionedData.data = transformState(state)
+ return versionedData
+ },
+}
+
+function transformState (state) {
+ const { PreferencesController } = state
+
+ if (PreferencesController) {
+ const { betaUI } = PreferencesController.featureFlags || {}
+ // Users who have been using the "beta" UI are considered to have completed the migration
+ // as they'll see no difference in this version
+ PreferencesController.completedUiMigration = betaUI
+ }
+
+ return state
+}