@@ -14,7 +14,6 @@ import styles from './login.module.scss' import ClosedEyeSvg from '#/assets/svg/closed-eye.svg?react' import OpenedEyeSvg from '#/assets/svg/opened-eye.svg?react' import { PasswordOptions } from '#/features/register-by-email/lib/constants' -import { IEmailForms } from '#/features/register-by-email/model/types' import { YandexAuthButton } from '#/features/yandex-auth-button' import { NextPageWithLayout } from '#/pages/_app' import { ERROR_MAPPING, ERRROR_YANDEX_TRANSLATE_MAPPING } from '#/pages/api/auth/constants' @@ -55,7 +54,7 @@ const Login: NextPageWithLayout = () => { showMessage(expectedError ?? 'Не удалось выполнить вход, попробуйте позже') }, []) - async function onSubmit(data: any) { + async function onSubmit(data: Record) { setLoading(true) const resp = await signIn('credentials', { @@ -75,8 +74,9 @@ const Login: NextPageWithLayout = () => { } } - const checkError: SubmitErrorHandler = (data) => { - showMessage(Object.values(data)[0].message || 'Неверные данные') + const checkError: SubmitErrorHandler = (data) => { + const first = Object.values(data)[0] as { message?: string } | undefined + showMessage(first?.message || 'Неверные данные') } const handleKeyDown = (event: any) => { @@ -85,8 +85,17 @@ const Login: NextPageWithLayout = () => { } } - const handleInputChangeTrim = (event: any) => { + const { ref: emailInputRef, onChange: emailOnChange, ...emailRegister } = register( + 'email', + emailOptions + ) + const { ref: passwordInputRef, ...passwordRegister } = register('password', { + ...PasswordOptions, + }) + + const handleEmailChange = (event: React.ChangeEvent) => { event.target.value = event.target.value.trim() + emailOnChange(event) } return ( @@ -123,7 +132,7 @@ const Login: NextPageWithLayout = () => { marginTop: desktop ? 0 : '10px', }} > -
+ { { ), }} sx={{ ...InputStyleDark }} - {...register('password', { - ...PasswordOptions, - })} + inputRef={passwordInputRef} + autoComplete='current-password' + {...passwordRegister} /> {!loading ? (