import { Form, Toast, Cell, Input, Field, Button } from '@taroify/core';
import { View } from '@tarojs/components';
import React, { useEffect, useState } from 'react';
import styles from './index.module.scss';
let timeFun: NodeJS.Timer;
const UsernameLogin: React.FC = () => {
  const [btnTitle, setBtnTitle] = useState<string>('发送验证码');
  const [btnDisabled, setBtnDisabled] = useState<boolean>(false);
  const [time, setTime] = useState<number>(60);
  useEffect(() => {
    clearInterval(timeFun);
    return () => {
      clearInterval(timeFun);
    };
  }, []);
  useEffect(() => {
    if (btnDisabled && time > 0 && time < 60) {
      setBtnTitle(`${time}s后重发`);
    } else {
      setBtnTitle('发送验证码');
      setBtnDisabled(false);
      setTime(60);
      clearInterval(timeFun);
    }
  }, [time]);
  const onSubmit = () => {};
  const sendVerifCode = () => {
    // eslint-disable-next-line
    timeFun = setInterval(() => setTime((t) => --t), 1000);
    setBtnDisabled(true);
  };
  return (
    <View className={styles.page}>
      <Form onSubmit={onSubmit}>
        <Toast id='toast' />
        <Cell.Group inset>
          <Field
            label={{ align: 'left', children: '验证码' }}
            name='text'
            rules={[{ required: true, message: '请填写验证码' }]}
          >
            <Input placeholder='请输入验证码' />
            <Button color='primary' disabled={btnDisabled} onClick={sendVerifCode} size='small'>
              {btnTitle}
            </Button></Field>
        </Cell.Group>
        <View style={{ margin: '16px' }}>
          <Button
            block
            color='primary'
            formType='submit'
            shape='round'
            style={{ backgroundColor: '#1aad19', color: '#fff' }}
          >
            登录
          </Button>
        </View>
      </Form>
    </View>
  );
};
export default UsernameLogin;