diff --git a/src/components/AuthBox/AuthBox.jsx b/src/components/AuthBox/AuthBox.jsx
index ed5ca460..f1e0cf67 100644
--- a/src/components/AuthBox/AuthBox.jsx
+++ b/src/components/AuthBox/AuthBox.jsx
@@ -28,7 +28,7 @@ export const AuthBox = ({ title }) => {
const [error, setError] = useState(null);
const [modalError, setModalError] = useState(false);
- const [modalReset, setModalReset] = useState(false)
+ const [modalReset, setModalReset] = useState(false);
const [modalReg, setModalReg] = useState(false);
const [showPassword, setShowPassword] = useState(false);
@@ -122,7 +122,9 @@ export const AuthBox = ({ title }) => {
>
{isLoading ? : "Войти"}
- setModalReset(true)}>Восстановить пароль
+ setModalReset(true)}>
+ Восстановить пароль
+
diff --git a/src/components/Modal/ModalResetPassword/ModalResetPassword.jsx b/src/components/Modal/ModalResetPassword/ModalResetPassword.jsx
index 1dfd8a75..baed044a 100644
--- a/src/components/Modal/ModalResetPassword/ModalResetPassword.jsx
+++ b/src/components/Modal/ModalResetPassword/ModalResetPassword.jsx
@@ -5,146 +5,161 @@ import { apiRequest } from "@api/request";
import { useNotification } from "@hooks/useNotification";
import ModalLayout from "@components/Common/ModalLayout/ModalLayout";
+
import arrow from "assets/icons/arrows/arrowCalendar.png";
import close from "assets/icons/close.png";
import "./modalResetPassword.scss";
export const ModalResetPassword = ({ active, setActive }) => {
- const [step, setStep] = useState(false)
- const [inputsValue, setInputsValue] = useState({
- email: "",
- token: "",
- password: ""
+ const [step, setStep] = useState(false);
+ const [inputsValue, setInputsValue] = useState({
+ email: "",
+ token: "",
+ password: "",
+ });
+
+ const validateEmail = (email) => {
+ // регулярное выражение для проверки email
+ const re = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
+
+ // возвращаем true, если email проходит проверку, и false, если нет
+ return re.test(email);
+ };
+
+ const resetInputsValue = () => {
+ setInputsValue({
+ email: "",
+ token: "",
+ password: "",
});
+ };
- const validateEmail = (email) => {
- // регулярное выражение для проверки email
- const re = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
-
- // возвращаем true, если email проходит проверку, и false, если нет
- return re.test(email);
- };
-
- const resetInputsValue = () => {
- setInputsValue({
- email: "",
- token: "",
- password: "",
+ const { showNotification } = useNotification();
+ const submitHandler = () => {
+ if (!validateEmail(inputsValue.email)) {
+ return showNotification({
+ show: true,
+ text: "Введите коректный email",
+ type: "error",
+ });
+ }
+ apiRequest("/register/request-password-reset", {
+ method: "POST",
+ data: {
+ email: inputsValue.email,
+ },
+ }).then((data) => {
+ if (data) {
+ showNotification({
+ show: true,
+ text: "Письмо отправлено Вам на почту",
+ type: "success",
});
- };
-
- const { showNotification } = useNotification();
- const submitHandler = () => {
- if (!validateEmail(inputsValue.email)) {
- return showNotification({
- show: true,
- text: "Введите коректный email",
- type: "error",
- });
- }
- apiRequest("/register/request-password-reset", {
- method: "POST",
- data: {
- email: inputsValue.email,
- },
- }).then((data) => {
- if (data) {
- showNotification({
- show: true,
- text: "Письмо отправлено Вам на почту",
- type: "success",
- });
- setStep(true)
- }
- });
- };
- const resetPassword = () => {
- if (!inputsValue.password || !inputsValue.token) {
- return showNotification({
- show: true,
- text: "Введите данные",
- type: "error",
- });
- }
- apiRequest("/register/reset-password", {
- method: "POST",
- data: {
- token : inputsValue.token,
- password: inputsValue.password
- },
- }).then(() => {
- setActive(false)
- resetInputsValue()
- showNotification({
- show: true,
- text: "Пароль изменён",
- type: "success",
- });
- });
- };
- return (
-
-
-
setActive(false)}
- />
-
Восстановление пароля
- {!step ?
-
-
Введите email:
-
- setInputsValue((prevValue) => ({
- ...prevValue,
- email: e.target.value,
- }))
- }
- placeholder="Email"
- />
-
-
- :
-
-
setStep(false)} className='resetPassword__email__arrow' />
-
Введите код подтверждения:
-
- setInputsValue((prevValue) => ({
- ...prevValue,
- token: e.target.value,
- }))
- }
- placeholder="token"
- />
-
Введите новый пароль:
-
- setInputsValue((prevValue) => ({
- ...prevValue,
- password: e.target.value,
- }))
- }
- placeholder="password"
- />
-
-
- }
-
-
- );
+ setStep(true);
+ }
+ });
+ };
+ const resetPassword = () => {
+ if (!inputsValue.password || !inputsValue.token) {
+ return showNotification({
+ show: true,
+ text: "Введите данные",
+ type: "error",
+ });
+ }
+ apiRequest("/register/reset-password", {
+ method: "POST",
+ data: {
+ token: inputsValue.token,
+ password: inputsValue.password,
+ },
+ }).then(() => {
+ setActive(false);
+ resetInputsValue();
+ showNotification({
+ show: true,
+ text: "Пароль изменён",
+ type: "success",
+ });
+ });
+ };
+ return (
+
+
+
setActive(false)}
+ />
+
Восстановление пароля
+ {!step ? (
+
+
Введите email:
+
+ setInputsValue((prevValue) => ({
+ ...prevValue,
+ email: e.target.value,
+ }))
+ }
+ placeholder="Email"
+ />
+
+
+ ) : (
+
+
setStep(false)}
+ className="resetPassword__email__arrow"
+ />
+
Введите код подтверждения:
+
+ setInputsValue((prevValue) => ({
+ ...prevValue,
+ token: e.target.value,
+ }))
+ }
+ placeholder="token"
+ />
+
Введите новый пароль:
+
+ setInputsValue((prevValue) => ({
+ ...prevValue,
+ password: e.target.value,
+ }))
+ }
+ placeholder="password"
+ />
+
+
+ )}
+
+
+ );
};
export default ModalResetPassword;
diff --git a/src/components/Modal/Tracker/TicketFullScreen/TicketFullScreen.jsx b/src/components/Modal/Tracker/TicketFullScreen/TicketFullScreen.jsx
index 5a8bb530..a7b6813b 100644
--- a/src/components/Modal/Tracker/TicketFullScreen/TicketFullScreen.jsx
+++ b/src/components/Modal/Tracker/TicketFullScreen/TicketFullScreen.jsx
@@ -729,7 +729,10 @@ export const TicketFullScreen = () => {
)}
-
+
Вернуться на проект