diff --git a/src/langs/fa.json b/src/langs/fa.json index aa0c716..17de7f4 100644 --- a/src/langs/fa.json +++ b/src/langs/fa.json @@ -38,7 +38,9 @@ "enter_password_step3": "رمز عبور را وارد کنید", "enter_your_password": "رمز عبور خود را وارد کنید.", "forgot_password": "فراموشی رمز عبور", - "login_with_otp": "ورود با رمز عبور یکبار مصرف" + "login_with_otp": "ورود با رمز عبور یکبار مصرف", + "slug": "نام کاربری", + "enter_slug": "نام کاربری خود را وارد کنید" }, "errors": { "required": "این فیلد اجباری می باشد", diff --git a/src/pages/auth/components/LoginStep1.tsx b/src/pages/auth/components/LoginStep1.tsx index 98ba61a..cf5bb86 100644 --- a/src/pages/auth/components/LoginStep1.tsx +++ b/src/pages/auth/components/LoginStep1.tsx @@ -9,30 +9,33 @@ import Button from '../../../components/Button' import { useLoginWithOtp } from '../hooks/useAuthData' import { toast } from 'react-toastify' import { type ErrorType } from '../../../helpers/types' -import { useParams } from 'react-router-dom' type LoginStep1FormType = { phone: string; + slug: string; } const LoginStep1: FC = () => { const { t } = useTranslation('global') - const { setPhone, phone, setStepLogin } = useAuthStore() + const { setPhone, phone, setStepLogin, setSlug } = useAuthStore() const loginWithOtp = useLoginWithOtp() - const { slug } = useParams() const formik = useFormik({ initialValues: { phone: phone, + slug: '' }, validationSchema: Yup.object({ phone: Yup.string() + .required(t('errors.required')), + slug: Yup.string() .required(t('errors.required')) }), onSubmit(values) { setPhone(values.phone) - loginWithOtp.mutate({ phone: values.phone, slug: slug as string }, { + setSlug(values.slug) + loginWithOtp.mutate(values, { onSuccess() { setStepLogin(2) toast.success(t('auth.otp_sent')) @@ -75,6 +78,26 @@ const LoginStep1: FC = () => { +
+ + + { + formik.touched.slug && formik.errors.slug && + + } + +
+