import Cookies from 'js-cookie';
import React from 'react';
import { LOGIN_DISPLAY, LOGIN_WAY } from '@/constants';
import Account from './useAccount';
import IOTQRCode from './useIOTQRCode';
import Phone from './usePhone';
import { useIntl } from '@/locales/localeExports';
import styles from '../style.less';

const useIOTComponent = props => {
  const handlerType = type => {
    props.setType(LOGIN_DISPLAY[type]);
    props.updateLoginMode(LOGIN_WAY[type]);
    Cookies.set('loginMode', LOGIN_WAY[type], {
      expires: 5 * 60 * 1000,
      path: '/',
    });
  };
  return (
    <div className={styles.wechatQRcode}>
      {props.type === LOGIN_DISPLAY.Account ? (
        <Account {...props} />
      ) : props.type === LOGIN_DISPLAY.WeChart ? (
        <IOTQRCode {...props} />
      ) : props.type === LOGIN_DISPLAY.Mobile ? (
        <Phone {...props} />
      ) : (
        <Account {...props} />
      )}
      <div className={styles.loginDisplay}>
        <a
          onClick={() => handlerType('Account')}
          style={{
            display: props.type === LOGIN_DISPLAY.Account ? 'none' : 'block',
          }}
        >
          {useIntl().formatMessage({ id: 'pages.login.accountLogin.tab' })}
        </a>
        <a
          onClick={() => handlerType('WeChart')}
          style={{
            display: props.type === LOGIN_DISPLAY.WeChart ? 'none' : 'block',
          }}
        >
          {useIntl().formatMessage({ id: 'pages.login.weChart.tab' })}
        </a>
        <a
          onClick={() => handlerType('Mobile')}
          style={{
            display: props.type === LOGIN_DISPLAY.Mobile ? 'none' : 'block',
          }}
        >
          {useIntl().formatMessage({ id: 'pages.login.phoneLogin.tab' })}
        </a>
      </div>
    </div>
  );
};
export default useIOTComponent;
