import React from 'react'
import PropTypes from 'prop-types'
import RTButton from 'react-toolbox/lib/button'
import theme from './theme.scss'

class Button extends React.Component {
  render () {
    let props = { ...this.props }
    if (props.secondary) {
      props.accent = props.secondary
      delete props.secondary
    }
    let buttonStyle = this.props.style ? {...this.props.style} : {}
    buttonStyle.width = buttonStyle.width ? buttonStyle.width : 'auto'
    buttonStyle.textAlign = 'left'
    if (props.full) {
      buttonStyle.width = '100%'
      delete props.full
    }
    if (props.center) {
      buttonStyle.textAlign = 'center'
      delete props.center
    }
    if (props.floating) {
      delete buttonStyle.width
      buttonStyle.textAlign = 'center'
    }
    let className = props.className ? props.className : ''
    if (props.noAction) {
      className += ' ' + theme.noAction
      delete props.noAction
    }
    if (props.menuButton) {
      className += ' ' + theme.menuButton
      delete props.menuButton
    }
    return (
      <RTButton theme={theme} {...props} className={className} style={buttonStyle}>
        {this.props.children}
      </RTButton>
    )
  }
}

Button.propTypes = {
  children: PropTypes.any,
  floating: PropTypes.any,
  full: PropTypes.any,
  center: PropTypes.any,
  style: PropTypes.object
}

export default Button
