aboutsummaryrefslogblamecommitdiffstats
path: root/ui/app/components/menu-bar/menu-bar.component.js
blob: 29c56953d167afdf115ace46c2689c2a0345cc59 (plain) (tree)
1
2
3
4
5
6
7
8
9



                                                 
                                                                             



                                                    
                                 



                                



                                

                                           

                              
                                                                
                                                 








                                                           




                                         
                                           



                                                         


                           




















                                                                        


                                     
                                                            



                                                                              



            
import React, { PureComponent } from 'react'
import PropTypes from 'prop-types'
import Tooltip from '../tooltip'
import SelectedAccount from '../selected-account'
import AccountDetailsDropdown from '../dropdowns/account-details-dropdown.js'

export default class MenuBar extends PureComponent {
  static contextTypes = {
    t: PropTypes.func,
    metricsEvent: PropTypes.func,
  }

  static propTypes = {
    hideSidebar: PropTypes.func,
    sidebarOpen: PropTypes.bool,
    showSidebar: PropTypes.func,
  }

  state = { accountDetailsMenuOpen: false }

  render () {
    const { t } = this.context
    const { sidebarOpen, hideSidebar, showSidebar } = this.props
    const { accountDetailsMenuOpen } = this.state

    return (
      <div className="menu-bar">
        <Tooltip
          title={t('menu')}
          position="bottom"
        >
          <div
            className="fa fa-bars menu-bar__sidebar-button"
            onClick={() => {
              this.context.metricsEvent({
                eventOpts: {
                  category: 'Navigation',
                  action: 'Home',
                  name: 'Opened Hamburger',
                },
              })
              sidebarOpen ? hideSidebar() : showSidebar()
            }}
          />
        </Tooltip>
        <SelectedAccount />

        <Tooltip
          title={t('accountOptions')}
          position="bottom"
        >
          <div
            className="fa fa-ellipsis-h fa-lg menu-bar__open-in-browser"
            onClick={() => {
              this.context.metricsEvent({
                eventOpts: {
                  category: 'Navigation',
                  action: 'Home',
                  name: 'Opened Account Options',
                },
              })
              this.setState({ accountDetailsMenuOpen: true })
            }}
          >
          </div>
        </Tooltip>

        {
          accountDetailsMenuOpen && (
            <AccountDetailsDropdown
              className="menu-bar__account-details-dropdown"
              onClose={() => this.setState({ accountDetailsMenuOpen: false })}
            />
          )
        }
      </div>
    )
  }
}