Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
import React from 'react'
import Vector from 'atoms/Vector'
import { renderWrapper as defaultRenderWrapper } from '../renderProps'
import { LogoIconProps } from './typings'
import SkavaLogoIcon from './SkavaLogoIcon'
import SkavaTownLogoIcon from './SkavaTownLogoIcon'
import TGiantLogoIcon from './TGiantLogoIcon'
import ApplePayIcon from './ApplePayIcon'
import NortonLogoIcon from './NortonLogoIcon'
import PaypalIcon from './PaypalIcon'

// returning breed based on the breedType
function fromBreedToComponent(type: string) {
  switch (type) {
    case 'apple-pay':
      return ApplePayIcon
    case 'norton':
      return NortonLogoIcon
    case 'paypal':
      return PaypalIcon
    case 'skava':
      return SkavaLogoIcon
    case 'skava-town':
      return SkavaTownLogoIcon
    case 'tgiant':
    default:
      return TGiantLogoIcon
  }
}

class LogoIcon extends React.PureComponent<LogoIconProps> {
  static defaultProps = {
    renderWrapper: defaultRenderWrapper,
  }

  render() {
    const { type, renderWrapper, ...remainingProps } = this.props
    const Component = fromBreedToComponent(type)
    const view = <Component {...remainingProps} />
    return renderWrapper(view)
  }
}

export { LogoIcon }
export default LogoIcon