diff --git a/src/backend/changePassword.js b/src/backend/changePassword.js
index 48f151a..f3b9909 100644
--- a/src/backend/changePassword.js
+++ b/src/backend/changePassword.js
@@ -17,6 +17,9 @@ export const changePassword = (
setState(res.data.user);
setIsLoading(false);
setSuccess(true);
+ setTimeout(() => {
+ setSuccess(false);
+ }, 2000);
if (tokenSaved) {
localStorage.setItem("userToken", res.data.token);
}
diff --git a/src/backend/getUserInfo.js b/src/backend/getUserInfo.js
index 9b2510a..c2089ae 100644
--- a/src/backend/getUserInfo.js
+++ b/src/backend/getUserInfo.js
@@ -4,11 +4,9 @@ import axios from "axios";
export const getUserInfo = (url, userToken, setState, setLoaderActive) => {
axios
.get(`${url}?token=${userToken}`)
- .then((res, err) => {
+ .then((res) => {
setLoaderActive(false);
- if (err) {
- return `Failed to fetch user info: ${err}`;
- }
+
if (setState) {
setState(res.data.me);
} else {
diff --git a/src/backend/sendMessage.js b/src/backend/sendMessage.js
index 0d42615..f03240f 100644
--- a/src/backend/sendMessage.js
+++ b/src/backend/sendMessage.js
@@ -1,11 +1,12 @@
// IMPORT MODULES
import axios from "axios";
-export const sendMessage = (url, token, data, stateSetter) => {
+export const sendMessage = (url, token, data, stateSetter, loader) => {
axios
.post(`${url}?token=${token}`, data)
.then((res) => {
stateSetter(false);
+ loader();
})
.catch(() => {
{
diff --git a/src/backend/sendRequest.js b/src/backend/sendRequest.js
index 430685e..b8accc5 100644
--- a/src/backend/sendRequest.js
+++ b/src/backend/sendRequest.js
@@ -2,6 +2,12 @@ import axios from "axios";
export const sendRequest = (url, token, data, setState, setLoader) => {
const form = new FormData();
+
+ let today = new Date();
+ let dd = String(today.getDate()).padStart(2, "0");
+ let mm = String(today.getMonth() + 1).padStart(2, "0"); //January is 0!
+ let yyyy = today.getFullYear();
+
data.file.map((el) => {
form.append("file[]", el);
});
@@ -22,6 +28,7 @@ export const sendRequest = (url, token, data, setState, setLoader) => {
form.append("amount_of_salary", data.salary);
form.append("position", data.position);
form.append("work_experience", data.exp);
+ form.append("date", `${dd}.${mm}.${yyyy}`);
axios
.post(`${url}?token=${token}`, form)
.then((res) => {
diff --git a/src/backend/sendRequestCard.js b/src/backend/sendRequestCard.js
index d926056..6a44a84 100644
--- a/src/backend/sendRequestCard.js
+++ b/src/backend/sendRequestCard.js
@@ -2,7 +2,10 @@ import axios from "axios";
// import { getDate } from "../helpers/Date";
export const sendRequestCard = (url, token, data, setLoader) => {
- let today = new Date().toLocaleDateString();
+ let today = new Date();
+ let dd = String(today.getDate()).padStart(2, "0");
+ let mm = String(today.getMonth() + 1).padStart(2, "0"); //January is 0!
+ let yyyy = today.getFullYear();
const form = new FormData();
data.file.map((el) => {
form.append("file[]", el);
@@ -24,13 +27,15 @@ export const sendRequestCard = (url, token, data, setLoader) => {
form.append("selected_time", data.selected_time);
form.append("the_codeword", data.the_codeword);
form.append("sms_notification", data.sms_notification);
- // form.append("date", `today`);
+ form.append("date", `${dd}.${mm}.${yyyy}`);
axios
.post(`${url}?token=${token}`, form)
.then((res) => {
window.open(res.request.responseURL, "_blank").focus();
- setLoader(false);
+ if (setLoader) {
+ setLoader(false);
+ }
})
.catch(() => {
setLoader(false);
diff --git a/src/components/CardStages/CardStage6.js b/src/components/CardStages/CardStage6.js
index 0a0e872..f13f58c 100644
--- a/src/components/CardStages/CardStage6.js
+++ b/src/components/CardStages/CardStage6.js
@@ -10,7 +10,13 @@ import next_reverse from "../../icons/next-reverse.svg";
import { sendRequestCard } from "../../backend/sendRequestCard";
import { getUserInfo } from "../../backend/getUserInfo";
-const CardStage6 = ({ setStage, data, setLoader, setModalOpen }) => {
+const CardStage6 = ({
+ setStage,
+ data,
+ setLoader,
+ setModalOpen,
+ setSuccess,
+}) => {
const { setUser } = useContext(UserContext);
const token = localStorage.getItem("userToken");
const postUrl = "http://95.85.124.85:8000/api/online_card";
@@ -118,8 +124,14 @@ const CardStage6 = ({ setStage, data, setLoader, setModalOpen }) => {
onClick={() => {
setLoader(true);
setModalOpen(false);
- sendRequestCard(postUrl, token, data, setLoader);
- getUserInfo(getUrl, token, setUser, () => null);
+ sendRequestCard(postUrl, token, data, () => {
+ setSuccess(true);
+ setLoader(false);
+ setTimeout(() => {
+ setSuccess(false);
+ getUserInfo(getUrl, token, setUser, () => null);
+ }, 2000);
+ });
}}
>
diff --git a/src/components/CreditStages/CreditStage6.js b/src/components/CreditStages/CreditStage6.js
index c984a24..4d95b41 100644
--- a/src/components/CreditStages/CreditStage6.js
+++ b/src/components/CreditStages/CreditStage6.js
@@ -121,17 +121,15 @@ const CreditStage6 = ({
postUrl,
token,
data,
- (res) => {
- if (res.headers.status === "200") {
- setSuccess(true);
- setTimeout(() => {
- setSuccess(false);
- }, 2000);
- }
+ () => {
+ setSuccess(true);
+ setTimeout(() => {
+ setSuccess(false);
+ getUserInfo(getUrl, token, setUser, () => null);
+ }, 2000);
},
setLoader
);
- getUserInfo(getUrl, token, setUser, () => null);
}}
>
diff --git a/src/components/cards/ModalForm.js b/src/components/cards/ModalForm.js
index 8a18378..ff448bf 100644
--- a/src/components/cards/ModalForm.js
+++ b/src/components/cards/ModalForm.js
@@ -21,7 +21,14 @@ import CardStage3 from "../CardStages/CardStage3";
import CardStage4 from "../CardStages/CardStage4";
import CardStage6 from "../CardStages/CardStage6";
-const ModalForm = ({ modalOpen, setModalOpen, stage, setStage, setLoader }) => {
+const ModalForm = ({
+ modalOpen,
+ setModalOpen,
+ stage,
+ setStage,
+ setLoader,
+ setSuccess,
+}) => {
const window = useRef();
const [data, setData] = useState({});
@@ -148,6 +155,7 @@ const ModalForm = ({ modalOpen, setModalOpen, stage, setStage, setLoader }) => {
setData={setData}
setLoader={setLoader}
setModalOpen={setModalOpen}
+ setSuccess={setSuccess}
/>
) : (
""
diff --git a/src/pages/Base.js b/src/pages/Base.js
index eee15de..a764cac 100644
--- a/src/pages/Base.js
+++ b/src/pages/Base.js
@@ -1,5 +1,5 @@
// IMPORT MODULES
-import React, { useCallback, useContext, useState } from "react";
+import React, { useContext } from "react";
import { UserContext } from "../backend/UserContext";
// IMPORT COMPONENTS
@@ -37,7 +37,62 @@ const Base = () => {
Статус |
Действие |
+
+ {user ? (
+ user.online_credit.length !== 0 ? (
+ user.online_credit.map((el, i) => {
+ return (
+
+ | #{el.id} |
+ {el.type} |
+ {el.date} |
+ --status |
+ --action |
+
+ );
+ })
+ ) : user ? (
+ user.online_card.length !== 0 ? (
+ ""
+ ) : (
+
+ | Заявок нет |
+ |
+ |
+ |
+ |
+
+ )
+ ) : null
+ ) : user ? (
+ user.online_card.length !== 0 ? (
+ ""
+ ) : (
+
+ | Заявок нет |
+ |
+ |
+ |
+ |
+
+ )
+ ) : null}
{user
+ ? user.online_card.length !== 0
+ ? user.online_card.map((el, i) => {
+ return (
+
+ | #{el.id} |
+ {el.selected_card} |
+ {el.date} |
+ --status |
+ --action |
+
+ );
+ })
+ : null
+ : null}
+ {/* {user
? user.online_credit.length !== 0
? user.online_credit.map((el, i) => {
return (
@@ -65,16 +120,8 @@ const Base = () => {
);
})
- ) : (
-
- | Заявок нет |
- |
- |
- |
- |
-
- )
- ) : (
+ ) : user.online_credit.length !== 0 ? null
+ : (
| Заявок нет |
|
@@ -82,7 +129,7 @@ const Base = () => {
|
|
- )}
+ )} */}
diff --git a/src/pages/Cards.js b/src/pages/Cards.js
index ec0ba8b..8f70225 100644
--- a/src/pages/Cards.js
+++ b/src/pages/Cards.js
@@ -6,12 +6,14 @@ import { UserContext } from "../backend/UserContext";
import Breadcrumb from "../components/global/Breadcrumb";
import ModalForm from "../components/cards/ModalForm";
import Loader from "../components/global/Loader";
+import Success from "../components/global/Success";
// IMPORT IMAGES
import card from "../icons/card-black.svg";
import add from "../icons/add.svg";
const Cards = () => {
+ const [success, setSuccess] = useState(false);
const { user } = useContext(UserContext);
const [loader, setLoader] = useState(false);
const [modalOpen, setModalOpen] = useState(false);
@@ -25,6 +27,7 @@ const Cards = () => {
}, [modalOpen]);
return (
+ {success ? : null}
{
setStage={setStage}
loader={loader}
setLoader={setLoader}
+ setSuccess={setSuccess}
/>
{loader ? : null}
@@ -70,13 +74,15 @@ const Cards = () => {
{user ? (
user.online_card.length !== 0 ? (
user.online_card.map((el, i) => {
-
- | #{el.id} |
- {el.selected_card} |
- {el.date} |
- --status |
- --action |
-
;
+ return (
+
+ | #{el.id} |
+ {el.selected_card} |
+ {el.date} |
+ --status |
+ --action |
+
+ );
})
) : (
diff --git a/src/pages/ContactUs.js b/src/pages/ContactUs.js
index 4fcc411..e9ee081 100644
--- a/src/pages/ContactUs.js
+++ b/src/pages/ContactUs.js
@@ -5,6 +5,7 @@ import React, { useState, useEffect } from "react";
import CustomSelect from "../components/global/CustomSelect";
import Breadcrumb from "../components/global/Breadcrumb";
import Loader from "../components/global/Loader";
+import Success from "../components/global/Success";
// IMPORT FUNCTIONS
import { sendMessage } from "../backend/sendMessage";
@@ -14,6 +15,7 @@ import mail from "../icons/mail-black.svg";
import send from "../icons/send.svg";
const ContactUs = () => {
+ const [success, setSuccess] = useState(false);
const token = localStorage.getItem("userToken");
const postUrl = "http://95.85.124.85:8000/api/message";
const formData = new FormData();
@@ -33,6 +35,9 @@ const ContactUs = () => {
}, [topic, inputValid]);
return (
+ {success ? (
+
+ ) : null}
{
disabled={!btnEnabled}
className="sign-btn cu-btn"
onClick={() => {
+ setIsLoading(true);
formData.append("subject", topic);
formData.append("message", inputValid.message);
- sendMessage(postUrl, token, formData, (e) => {
- setIsLoading(e);
- });
- setIsLoading(true);
+ sendMessage(
+ postUrl,
+ token,
+ formData,
+ (e) => {
+ setIsLoading(e);
+ },
+ () => {
+ setSuccess(true);
+ setTimeout(() => {
+ setSuccess(false);
+ }, 2000);
+ }
+ );
}}
>
diff --git a/src/pages/Credits.js b/src/pages/Credits.js
index beffc46..909ccec 100644
--- a/src/pages/Credits.js
+++ b/src/pages/Credits.js
@@ -28,7 +28,7 @@ const Credits = () => {
return (
- {success ? : null}
+ {success ? : null}
{
{user ? (
user.online_credit.length !== 0 ? (
user.online_credit.map((el, i) => {
-
- | #{el.id} |
- {el.type} |
- {el.date} |
- --status |
- --action |
-
;
+ return (
+
+ | #{el.id} |
+ {el.type} |
+ {el.date} |
+ --status |
+ --action |
+
+ );
})
) : (
diff --git a/src/pages/Recovery.js b/src/pages/Recovery.js
index 2d4e01e..a08f068 100644
--- a/src/pages/Recovery.js
+++ b/src/pages/Recovery.js
@@ -1,10 +1,11 @@
// IMPORT MODULES
-import React, { useState, useEffect, useContext } from "react";
+import React, { useState, useEffect, useContext, useRef } from "react";
import { UserContext } from "../backend/UserContext";
// IMPORT COMPONENTS
import Breadcrumb from "../components/global/Breadcrumb";
import Loader from "../components/global/Loader";
+import Success from "../components/global/Success";
// IMPORT IMAGES
import recovery from "../icons/recovery.svg";
@@ -17,6 +18,9 @@ import { ValidateEmail } from "../validators/ValidateEmail";
import { changePassword } from "../backend/changePassword";
const Recovery = () => {
+ const inp1 = useRef();
+ const inp2 = useRef();
+ const inp3 = useRef();
const [success, setSuccess] = useState(false);
const [isLoading, setIsLoading] = useState(false);
const postUrl = "http://95.85.124.85:8000/api/me";
@@ -46,6 +50,7 @@ const Recovery = () => {
return (
+ {success ? : null}
{
disabled={!btnEnabled}
className="sign-btn cu-btn"
onClick={() => {
+ inp1.current.value = "";
+ inp2.current.value = "";
+ inp3.current.value = "";
setIsLoading(true);
formData.append("email", inputValid.email);
formData.append("password", inputValid.new);
@@ -99,24 +107,42 @@ const Recovery = () => {
{
- if (ValidateEmail(e.target.value)) {
- setInputValid({
- ...inputValid,
- email: e.target.value,
- });
+ setValidate(true);
+ if (ValidateEmail(e.target.value) && user) {
+ if (user.email === e.target.value) {
+ setInputValid({
+ ...inputValid,
+ email: e.target.value,
+ });
+ } else {
+ setInputValid({ ...inputValid, email: false });
+ }
} else {
setInputValid({ ...inputValid, email: false });
}
}}
/>
+ {validate ? (
+
+ Введен неверный E-mail
+
+ ) : (
+ ""
+ )}
- {success ? (
- Ваш пароль успешно изменен!
- ) : (
- ""
- )}
) : (
diff --git a/src/styles/_success.scss b/src/styles/_success.scss
index ce2b6d2..31469b1 100644
--- a/src/styles/_success.scss
+++ b/src/styles/_success.scss
@@ -15,11 +15,12 @@
h1 {
font-size: 4rem;
color: $base-green;
+ text-align: center;
}
}
.wrapper {
- width: 100px;
+ width: 10rem;
margin: 4em auto 0;
}
@@ -38,3 +39,31 @@
stroke-dashoffset: 0;
}
}
+
+// MEDIA
+
+@media screen and (max-width: 900px) {
+ .success {
+ h1 {
+ font-size: 3rem;
+ padding: 0 2rem;
+ }
+ }
+ .wrapper {
+ width: 8rem;
+ margin: 4em auto 0;
+ }
+}
+
+@media screen and (max-width: 500px) {
+ .success {
+ h1 {
+ font-size: 2.6rem;
+ padding: 0 2rem;
+ }
+ }
+ .wrapper {
+ width: 7rem;
+ margin: 4em auto 0;
+ }
+}
diff --git a/src/validators/ValidatePhoneNumber.js b/src/validators/ValidatePhoneNumber.js
index 83cb53b..0ea4d4c 100644
--- a/src/validators/ValidatePhoneNumber.js
+++ b/src/validators/ValidatePhoneNumber.js
@@ -4,6 +4,9 @@ export const ValidatePhoneNumber = (number) => {
const numberRegEx3 = /^([+])?\d{11}$/;
const numberRegEx4 = /^([+])?\d{12}$/;
const numberRegEx5 = /^([+])?\d{9}$/;
+ const numberRegEx6 = /^([+])?\d{6}$/;
+ const numberRegEx7 = /^([+])?\d{5}$/;
+ const numberRegEx8 = /^([+])?\d{4}$/;
if (number.match(numberRegEx1)) {
return true;
}
@@ -19,5 +22,14 @@ export const ValidatePhoneNumber = (number) => {
if (number.match(numberRegEx5)) {
return true;
}
+ if (number.match(numberRegEx6)) {
+ return true;
+ }
+ if (number.match(numberRegEx7)) {
+ return true;
+ }
+ if (number.match(numberRegEx8)) {
+ return true;
+ }
return false;
};