aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/components/drop-menu-item.js
blob: 27c2afde3a37ff3471a9733322132a7b979f37ce (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
const Component = require('react').Component
const h = require('react-hyperscript')
const inherits = require('util').inherits

module.exports = DropMenuItem

inherits(DropMenuItem, Component)
function DropMenuItem () {
  Component.call(this)
}

DropMenuItem.prototype.render = function () {
  return h('li.drop-menu-item', {
    onClick: () => {
      this.props.closeMenu()
      this.props.action()
    },
    style: {
      listStyle: 'none',
      padding: '6px 16px 6px 5px',
      fontFamily: 'Montserrat Regular',
      color: 'rgb(125, 128, 130)',
      cursor: 'pointer',
      display: 'flex',
      justifyContent: 'flex-start',
    },
  }, [
    this.props.icon,
    this.props.label,
    this.activeNetworkRender(),
  ])
}

DropMenuItem.prototype.activeNetworkRender = function () {
  const activeNetwork = this.props.activeNetworkRender
  const { provider } = this.props
  const providerType = provider ? provider.type : null
  if (activeNetwork === undefined) return

  switch (this.props.label) {
    case 'Main Ethereum Network':
      if (providerType === 'mainnet') return h('.check', '✓')
      break
    case 'Ropsten Test Network':
      if (providerType === 'ropsten') return h('.check', '✓')
      break
    case 'Kovan Test Network':
      if (providerType === 'kovan') return h('.check', '✓')
      break
    case 'Rinkeby Test Network':
      if (providerType === 'testnet') return h('.check', '✓')
      break
    case 'Localhost 8545':
      if (activeNetwork === 'http://localhost:8545') return h('.check', '✓')
      break
    default:
      if (activeNetwork === 'custom') return h('.check', '✓')
  }
}