import React from 'react';
import AntResult from 'antd/es/result';

import { ConfigConsumer } from '../config-provider';
import Icons from '../icons';
import './index.less';

const {
  CheckCircleIcon,
  CloseCircleIcon,
  WarningCircleIcon,
  WaitingCircleFillIcon,
} = Icons;
// const prefixCls = `${antPrefix}-notification`;
const iconMap = {
  success: (
    <CheckCircleIcon
      fill="currentColor"
      fontSize="inherit"
      // className={`${prefixCls}-notice-icon-success`}
    />
  ),
  error: (
    <CloseCircleIcon
      fill="currentColor"
      fontSize="inherit"
      // className={`${prefixCls}-notice-icon-error`}
    />
  ),
  info: (
    <WaitingCircleFillIcon
      fill="currentColor"
      fontSize="inherit"
      // className={`${prefixCls}-notice-icon-info`}
    />
  ),
  warning: (
    <WarningCircleIcon
      fill="currentColor"
      fontSize="inherit"
      // className={`${prefixCls}-notice-icon-warning`}
    />
  ),
};

export default props => (
  <ConfigConsumer>
    {({ getPrefixCls }) => {
      const {
        prefixCls: customizePrefixCls,
        status = 'info',
        ...restProps
      } = props;
      const prefixCls = getPrefixCls('result', customizePrefixCls);
      return (
        <AntResult
          icon={iconMap[status]}
          status={status}
          prefixCls={prefixCls}
          {...restProps}
        />
      );
    }}
  </ConfigConsumer>
);
