import AddIcon from './svgs/add_icon'
import AppsIcon from './svgs/apps_icon'
import AngleRightIcon from './svgs/angle_right_icon'
import BackIcon from './svgs/back_icon'
import CalendarIcon from './svgs/calendar_icon'
import ChatIcon from './svgs/chat_icon'
import CloseIcon from './svgs/close_icon'
import CommentIcon from './svgs/comment_icon'
import DissenterIcon from './svgs/dissenter_icon'
import EllipsisIcon from './svgs/ellipsis_icon'
import GlobeIcon from './svgs/globe_icon'
import GroupIcon from './svgs/group_icon'
import HomeIcon from './svgs/home_icon'
import LikeIcon from './svgs/like_icon'
import ListIcon from './svgs/list_icon'
import LoadingIcon from './svgs/loading_icon'
import MediaIcon from './svgs/media_icon'
import MoreIcon from './svgs/more_icon'
import NotificationsIcon from './svgs/notifications_icon'
import PollIcon from './svgs/poll_icon'
import RepostIcon from './svgs/repost_icon'
import SearchIcon from './svgs/search_icon'
import ShareIcon from './svgs/share_icon'
import ShopIcon from './svgs/shop_icon'
import SubtractIcon from './svgs/subtract_icon'
import TrendsIcon from './svgs/trends_icon'
import VerifiedIcon from './svgs/verified_icon'
import WarningIcon from './svgs/warning_icon'

export default class Icon extends PureComponent {

  static propTypes = {
    id: PropTypes.string.isRequired,
    className: PropTypes.string,
    width: PropTypes.string,
    height: PropTypes.string,
  }

  render() {
    const { id, ...options } = this.props

    switch (id) {
      case 'add':
        return <AddIcon {...options} />
      case 'apps':
        return <AppsIcon {...options} />
      case 'angle-right':
        return <AngleRightIcon {...options} />
      case 'back':
        return <BackIcon {...options} />
      case 'calendar':
        return <CalendarIcon {...options} />
      case 'chat':
        return <ChatIcon {...options} />
      case 'close':
        return <CloseIcon {...options} />
      case 'comment':
        return <CommentIcon {...options} />
      case 'dissenter':
        return <DissenterIcon {...options} />
      case 'ellipsis':
        return <EllipsisIcon {...options} />
      case 'globe':
        return <GlobeIcon {...options} />
      case 'group':
        return <GroupIcon {...options} />
      case 'home':
        return <HomeIcon {...options} />
      case 'like':
        return <LikeIcon {...options} />
      case 'list':
        return <ListIcon {...options} />
      case 'loading':
        return <LoadingIcon {...options} />
      case 'more':
        return <MoreIcon {...options} />
      case 'media':
        return <MediaIcon {...options} />
      case 'notifications':
        return <NotificationsIcon {...options} />
      case 'poll':
        return <PollIcon {...options} />
      case 'repost':
        return <RepostIcon {...options} />
      case 'search':
        return <SearchIcon {...options} />
      case 'share':
        return <ShareIcon {...options} />
      case 'shop':
        return <ShopIcon {...options} />
      case 'subtract':
        return <SubtractIcon {...options} />
      case 'trends':
        return <TrendsIcon {...options} />
      case 'verified':
        return <VerifiedIcon {...options} />
      case 'warning':
        return <WarningIcon {...options} />
      default:
        return <NotificationsIcon {...options} />
    }

  }
}