import { Box } from '@mui/material';
import React, { useEffect } from 'react';
import { useDispatch, useSelector } from 'react-redux';
import { loginAction } from '../store/authSlice';
import LoginForm from '../components/LoginForm';
import { useNavigate } from 'react-router-dom';
import Title from '../components/Title';
import { useLoginMutation, useRegisterMutation } from '../store/api';

export default function RegisterPage() {
  const token = useSelector(state => state.auth.token);
  const [fullRegister, resultMut] = useRegisterMutation();
  const [fullLogin, result] = useLoginMutation();
  const dispatch = useDispatch();
  const navigate = useNavigate();

  //СДЕЛАТЬ ПРОВЕРКУ ОШИБКИ ЕСЛИ ПОЛЬЗОВАТЕЛЬ СУЩЕСТВУЕТ И ВЫВОДИТЬ СООБЩЕНИЕ, ЕСЛИ КЛИКАЕШЬ НА КНОПКУ ДО ТОГО КАК ЗАПОЛНИЛ ДАННЫЕ
  useEffect(() => {
    if (token) {
      navigate('/');
    }
  }, [token]);

  const onRegister = (login, password) => {
    fullRegister({ login, password }).then(res => {
      fullLogin({ login, password }). then(response => {
        dispatch(loginAction(response.data.login));
      })
    });
  }

  return (
    <>
      <Title>Registration</Title>
      <Box sx={{ maxWidth: '300px', width: '100%', m: '150px auto' }}>
        <LoginForm submit='Registration' onSubmit={onRegister} />
      </Box>
    </>
  )
}
