aboutsummaryrefslogtreecommitdiffstats
path: root/old-ui/app/new-ui-annoucement.js
blob: 59b1262798330d53cb82e9317c8e6f845e79adaf (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
const PropTypes = require('prop-types')
const {PureComponent} = require('react')
const h = require('react-hyperscript')
const actions = require('../../ui/app/actions')

module.exports = class NewUiAnnouncement extends PureComponent {
  static propTypes = {
    dispatch: PropTypes.func.isRequired,
  };

  close = async () => {
    await this.props.dispatch(actions.setFeatureFlag('skipAnnounceBetaUI', true))
  }

  switchToNewUi = async () => {
    const flag = 'betaUI'
    const enabled = true
    await this.props.dispatch(actions.setFeatureFlag(
      flag,
      enabled,
    ))
    await this.close()
    global.platform.openExtensionInBrowser()
  }

  render () {
    return (
      h('div.new-ui-announcement', [
        h('section.new-ui-announcement__announcement-header', [
          h('h1', 'Announcement'),
          h('a.close', {
            onClick: this.close,
          }, '×'),
        ]),
        h('section.new-ui-announcement__body', [
          h('h1', 'A New Version of MetaMask'),
          h('p', [
            "We're excited to announce a brand-new version of MetaMask with enhanced features and functionality.",
          ]),
          h('div.updates-list', [
            h('h2', 'Updates include'),
            h('ul', [
              h('li', 'New user interface'),
              h('li', 'Full-screen mode'),
              h('li', 'Better token support'),
              h('li', 'Better gas controls'),
              h('li', 'Advanced features for developers'),
              h('li', 'New confirmation screens'),
              h('li', 'And more!'),
            ]),
          ]),
          h('p', [
            'You can still use the current version of MetaMask. The new version is still in beta, ' +
            'however we encourage you to try it out as we transition into this exciting new update.',
            h('span', {
              dangerouslySetInnerHTML: {
                __html: ' ',
              },
            }),
            h('a', {
              href: 'https://medium.com/metamask/74dba32cc7f7',
              onClick ({target}) {
                const url = target.href
                global.platform.openWindow({
                  url,
                })
              },
            }, [
              'Learn more.',
            ]),
          ]),
        ]),
        h('section.new-ui-announcement__footer', [
          h('h1', 'Ready to try the new MetaMask?'),
          h('button.positive', {
            onClick: this.switchToNewUi,
          }, 'Try it now'),
          h('button.negative', {
            onClick: this.close,
          }, 'No thanks, maybe later'),
        ]),
      ])
    )
  }
}