aboutsummaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorDan <danjm.com@gmail.com>2017-12-05 10:00:11 +0800
committerDan <danjm.com@gmail.com>2017-12-05 11:06:54 +0800
commit9db00fa507c04180f6425cc3b1e3187afa193ab8 (patch)
tree7fd3e4cd85290bd03299f55f9af3335f538e09a8 /ui
parent730d7f84ca8c202674677a6a6a94290e57ad9e3a (diff)
downloadtangerine-wallet-browser-9db00fa507c04180f6425cc3b1e3187afa193ab8.tar.gz
tangerine-wallet-browser-9db00fa507c04180f6425cc3b1e3187afa193ab8.tar.zst
tangerine-wallet-browser-9db00fa507c04180f6425cc3b1e3187afa193ab8.zip
Show user notifications after switch between UIs
Diffstat (limited to 'ui')
-rw-r--r--ui/app/actions.js4
-rw-r--r--ui/app/components/modals/modal.js37
-rw-r--r--ui/app/components/modals/notification-modal.js51
-rw-r--r--ui/app/css/itcss/components/modal.scss36
-rw-r--r--ui/app/css/itcss/components/settings.scss5
-rw-r--r--ui/app/settings.js4
6 files changed, 135 insertions, 2 deletions
diff --git a/ui/app/actions.js b/ui/app/actions.js
index bdacf3092..bba2a014f 100644
--- a/ui/app/actions.js
+++ b/ui/app/actions.js
@@ -1515,6 +1515,9 @@ function updateTokenExchangeRate (token = '') {
}
function setFeatureFlag (feature, activated) {
+ const notificationType = activated
+ ? 'BETA_UI_NOTIFICATION_MODAL'
+ : 'OLD_UI_NOTIFICATION_MODAL'
return (dispatch) => {
dispatch(actions.showLoadingIndication())
return new Promise((resolve, reject) => {
@@ -1525,6 +1528,7 @@ function setFeatureFlag (feature, activated) {
reject(err)
}
dispatch(actions.updateFeatureFlags(updatedFeatureFlags))
+ dispatch(actions.showModal({ name: notificationType }))
resolve(updatedFeatureFlags)
})
})
diff --git a/ui/app/components/modals/modal.js b/ui/app/components/modals/modal.js
index f2909f3c3..2ff6accaa 100644
--- a/ui/app/components/modals/modal.js
+++ b/ui/app/components/modals/modal.js
@@ -16,6 +16,7 @@ const NewAccountModal = require('./new-account-modal')
const ShapeshiftDepositTxModal = require('./shapeshift-deposit-tx-modal.js')
const HideTokenConfirmationModal = require('./hide-token-confirmation-modal')
const CustomizeGasModal = require('../customize-gas-modal')
+const NotifcationModal = require('./notification-modal')
const accountModalStyle = {
mobileModalStyle: {
@@ -133,6 +134,42 @@ const MODALS = {
},
},
+ BETA_UI_NOTIFICATION_MODAL: {
+ contents: [
+ h(NotifcationModal, {
+ header: 'Welcome to the New UI (Beta)',
+ message: `You are now using the new Metamask UI. Take a look around, try out new features like sending tokens,
+ and let us know if you have any issues.`,
+ }),
+ ],
+ mobileModalStyle: {
+ width: '95%',
+ top: isPopupOrNotification() === 'popup' ? '52vh' : '36.5vh',
+ },
+ laptopModalStyle: {
+ width: '449px',
+ top: 'calc(33% + 45px)',
+ },
+ },
+
+ OLD_UI_NOTIFICATION_MODAL: {
+ contents: [
+ h(NotifcationModal, {
+ header: 'Old UI',
+ message: `You have returned to the old UI. You can switch back to the New UI through the option in the top
+ right dropdown menu.`,
+ }),
+ ],
+ mobileModalStyle: {
+ width: '95%',
+ top: isPopupOrNotification() === 'popup' ? '52vh' : '36.5vh',
+ },
+ laptopModalStyle: {
+ width: '449px',
+ top: 'calc(33% + 45px)',
+ },
+ },
+
NEW_ACCOUNT: {
contents: [
h(NewAccountModal, {}, []),
diff --git a/ui/app/components/modals/notification-modal.js b/ui/app/components/modals/notification-modal.js
new file mode 100644
index 000000000..239144b0c
--- /dev/null
+++ b/ui/app/components/modals/notification-modal.js
@@ -0,0 +1,51 @@
+const { Component } = require('react')
+const PropTypes = require('prop-types')
+const h = require('react-hyperscript')
+const { connect } = require('react-redux')
+const actions = require('../../actions')
+
+class NotificationModal extends Component {
+ render () {
+ const {
+ header,
+ message,
+ } = this.props
+
+ return h('div', [
+ h('div.notification-modal-wrapper', {
+ }, [
+
+ h('div.notification-modal-header', {}, [
+ header,
+ ]),
+
+ h('div.notification-modal-message-wrapper', {}, [
+ h('div.notification-modal-message', {}, [
+ message,
+ ]),
+ ]),
+
+ h('div.modal-close-x', {
+ onClick: this.props.hideModal,
+ }),
+
+ ]),
+ ])
+ }
+}
+
+NotificationModal.propTypes = {
+ hideModal: PropTypes.func,
+ header: PropTypes.string,
+ message: PropTypes.string,
+}
+
+const mapDispatchToProps = dispatch => {
+ return {
+ hideModal: () => {
+ dispatch(actions.hideModal())
+ },
+ }
+}
+
+module.exports = connect(null, mapDispatchToProps)(NotificationModal)
diff --git a/ui/app/css/itcss/components/modal.scss b/ui/app/css/itcss/components/modal.scss
index b69bd5c7e..9b64564d6 100644
--- a/ui/app/css/itcss/components/modal.scss
+++ b/ui/app/css/itcss/components/modal.scss
@@ -563,3 +563,39 @@
}
}
}
+
+//Notification Modal
+
+.notification-modal-wrapper {
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: center;
+ position: relative;
+ border: 1px solid $alto;
+ box-shadow: 0 0 2px 2px $alto;
+ font-family: Roboto;
+}
+
+.notification-modal-header {
+ background: $wild-sand;
+ width: 100%;
+ display: flex;
+ justify-content: center;
+ padding: 30px;
+ font-size: 22px;
+ color: $nile-blue;
+ height: 79px;
+}
+
+.notification-modal-message {
+ padding: 20px;
+}
+
+.notification-modal-message {
+ width: 100%;
+ display: flex;
+ justify-content: center;
+ font-size: 17px;
+ color: $nile-blue;
+} \ No newline at end of file
diff --git a/ui/app/css/itcss/components/settings.scss b/ui/app/css/itcss/components/settings.scss
index 2f29d8017..d60ebd934 100644
--- a/ui/app/css/itcss/components/settings.scss
+++ b/ui/app/css/itcss/components/settings.scss
@@ -145,6 +145,11 @@
color: $monzo;
}
+.settings__clear-button--orange {
+ border: 1px solid rgba(247, 134, 28, 1);
+ color: rgba(247, 134, 28, 1);
+}
+
.settings__info-logo-wrapper {
height: 80px;
margin-bottom: 20px;
diff --git a/ui/app/settings.js b/ui/app/settings.js
index ba59f1c76..ca7535d26 100644
--- a/ui/app/settings.js
+++ b/ui/app/settings.js
@@ -228,7 +228,7 @@ class Settings extends Component {
])
)
}
-
+
renderOldUI () {
const { setFeatureFlagToBeta } = this.props
@@ -237,7 +237,7 @@ class Settings extends Component {
h('div.settings__content-item', 'Use old UI'),
h('div.settings__content-item', [
h('div.settings__content-item-col', [
- h('button.settings__clear-button.settings__clear-button--red', {
+ h('button.settings__clear-button.settings__clear-button--orange', {
onClick (event) {
event.preventDefault()
setFeatureFlagToBeta()