جمع مبالغ خدمات
-
۴۲۰۰۰۰ تومان
+
{factorInfo?.sumPrice} تومان
تخفیف
-
-۱۰۰۰۰ تومان
+
{factorInfo?.offPrice} - تومان
کسر از اعتبار
-
-۴۵۰۰۰۰ تومان
+
-۰ تومان
diff --git a/src/redux/actions/book.js b/src/redux/actions/book.js
index f74ec70..8f7354d 100644
--- a/src/redux/actions/book.js
+++ b/src/redux/actions/book.js
@@ -1,6 +1,6 @@
import proxy from "../proxy";
const book = {
- list:
+ list:
(data = {}) =>
async (dispatch) =>
await proxy.get("book/list", data, { dispatch }),
diff --git a/src/redux/actions/userProduct.js b/src/redux/actions/userProduct.js
index 2436d7f..9994438 100644
--- a/src/redux/actions/userProduct.js
+++ b/src/redux/actions/userProduct.js
@@ -1,6 +1,6 @@
import proxy from "../proxy";
const userProduct = {
- list:
+ list:
(data = {}) =>
async (dispatch) => {
await proxy.get("userProduct/list", data, { dispatch });
diff --git a/src/store/index.js b/src/store/index.js
deleted file mode 100644
index edc5b2a..0000000
--- a/src/store/index.js
+++ /dev/null
@@ -1,127 +0,0 @@
-const PLATFORM_DATA = {
- classes: [
- {
- id: 0,
- title: 'علوم تجربی',
- gender: 'male',
- grade: 9,
- group: 'A',
- category:'online',
- teacher: 'محمدرضا سلیمی',
- price: 90000,
- capacity: 20,
- description: 'در این قسمت یک توضیحات کوتاه در مورد دوره خواهد آمد که بصورت دو خط در این قسمت قرار میگیرد'
- },
- {
- id: 1,
- title: 'علوم تجربی',
- gender: 'male',
- grade: 9,
- group: 'A',
- category:'online',
- teacher: 'محمدرضا سلیمی',
- price: 90000,
- capacity: 20,
- description: 'در این قسمت یک توضیحات کوتاه در مورد دوره خواهد آمد که بصورت دو خط در این قسمت قرار میگیرد'
- },
- {
- id: 2,
- title: 'علوم تجربی',
- gender: 'male',
- grade: 9,
- group: 'A',
- category:'online',
- teacher: 'محمدرضا سلیمی',
- price: 90000,
- capacity: 20,
- description: 'در این قسمت یک توضیحات کوتاه در مورد دوره خواهد آمد که بصورت دو خط در این قسمت قرار میگیرد'
- },
- {
- id: 3,
- title: 'علوم تجربی',
- gender: 'male',
- grade: 9,
- group: 'A',
- category:'online',
- teacher: 'محمدرضا سلیمی',
- price: 90000,
- capacity: 20,
- description: 'در این قسمت یک توضیحات کوتاه در مورد دوره خواهد آمد که بصورت دو خط در این قسمت قرار میگیرد'
- },
- {
- id: 4,
- title: 'علوم تجربی',
- gender: 'male',
- grade: 9,
- group: 'A',
- category:'online',
- teacher: 'محمدرضا سلیمی',
- price: 90000,
- capacity: 20,
- description: 'در این قسمت یک توضیحات کوتاه در مورد دوره خواهد آمد که بصورت دو خط در این قسمت قرار میگیرد'
- },
- {
- id: 5,
- title: 'علوم تجربی',
- gender: 'male',
- grade: 9,
- group: 'A',
- category:'online',
- teacher: 'محمدرضا سلیمی',
- price: 90000,
- capacity: 20,
- description: 'در این قسمت یک توضیحات کوتاه در مورد دوره خواهد آمد که بصورت دو خط در این قسمت قرار میگیرد'
- },
- {
- id: 6,
- title: 'علوم تجربی',
- gender: 'male',
- grade: 9,
- group: 'A',
- category:'online',
- teacher: 'محمدرضا سلیمی',
- price: 90000,
- capacity: 20,
- description: 'در این قسمت یک توضیحات کوتاه در مورد دوره خواهد آمد که بصورت دو خط در این قسمت قرار میگیرد'
- },
- {
- id: 7,
- title: 'علوم تجربی',
- gender: 'male',
- grade: 9,
- group: 'A',
- category:'online',
- teacher: 'محمدرضا سلیمی',
- price: 90000,
- capacity: 20,
- description: 'در این قسمت یک توضیحات کوتاه در مورد دوره خواهد آمد که بصورت دو خط در این قسمت قرار میگیرد'
- },
- {
- id: 8,
- title: 'علوم تجربی',
- gender: 'male',
- grade: 9,
- group: 'A',
- category:'online',
- teacher: 'محمدرضا سلیمی',
- price: 90000,
- capacity: 20,
- description: 'در این قسمت یک توضیحات کوتاه در مورد دوره خواهد آمد که بصورت دو خط در این قسمت قرار میگیرد'
- },
- {
- id: 9,
- title: 'علوم تجربی',
- gender: 'male',
- grade: 9,
- group: 'A',
- category:'online',
- teacher: 'محمدرضا سلیمی',
- price: 90000,
- capacity: 20,
- description: 'در این قسمت یک توضیحات کوتاه در مورد دوره خواهد آمد که بصورت دو خط در این قسمت قرار میگیرد'
- },
-
- ]
-}
-
-export default PLATFORM_DATA;
\ No newline at end of file
diff --git a/src/view/LoginSignUp/SignUpForm/index.js b/src/view/LoginSignUp/SignUpForm/index.js
new file mode 100644
index 0000000..a47d664
--- /dev/null
+++ b/src/view/LoginSignUp/SignUpForm/index.js
@@ -0,0 +1,292 @@
+import React, { useState, useRef, useEffect } from "react";
+import { useNavigate } from "react-router-dom";
+import Input from "../../../components/Input";
+import Button from "../../../components/Button";
+import Timer from "../../../components/Timer";
+import onInput from "../../../utils/onInput";
+import { Link } from "react-router-dom";
+
+import { connect } from "react-redux";
+import { user, publicApi } from "../../../redux/actions";
+import _ from "lodash";
+//assets
+import logoIcon from "./assets/logo.svg";
+
+function SignUp({
+ sendOtp,
+ sendPhoneNumber,
+ loginFlag,
+ theme,
+ headerOptions,
+ setHeaderOptions,
+}) {
+ const [level, setLevel] = useState("phonenumber");
+ const [signUpFields, setSignUpFiels] = useState({});
+ const [error, setError] = useState("");
+ const [resend, setResend] = useState(false);
+ const navigate = useNavigate();
+
+ const otp1 = useRef();
+ const otp2 = useRef();
+ const otp3 = useRef();
+ const otp4 = useRef();
+
+ const onChange = (name, value) => {
+ setSignUpFiels({ ...signUpFields, [name]: value });
+ switch (name) {
+ case "otp1":
+ if (value) {
+ otp2.current.focus();
+ }
+ break;
+ case "otp2":
+ if (value) {
+ otp3.current.focus();
+ } else {
+ otp1.current.focus();
+ }
+ break;
+ case "otp3":
+ if (value) {
+ otp4.current.focus();
+ } else {
+ otp2.current.focus();
+ }
+ break;
+ case "otp4":
+ if (value) {
+ checkOtp();
+ } else {
+ otp3.current.focus();
+ }
+ break;
+ default:
+ break;
+ }
+ };
+
+ const checkPhoneNumber = (e) => {
+ if (
+ signUpFields?.cellphone?.slice(0, 2) === "09" &&
+ signUpFields?.cellphone.length === 11
+ ) {
+ setLevel("otp");
+ setResend(false);
+ sendPhoneNumber({ cellphone: signUpFields?.cellphone });
+ setError(undefined);
+ } else {
+ setError("شماره موبایل خود را چک کنید.");
+ }
+ };
+
+ const checkOtp = () => {
+ if (
+ signUpFields?.otp1 &&
+ signUpFields?.otp2 &&
+ signUpFields?.otp3 &&
+ signUpFields?.otp4
+ ) {
+ sendOtp({
+ cellphone: signUpFields?.cellphone,
+ otp:
+ signUpFields?.otp1 +
+ signUpFields?.otp2 +
+ signUpFields?.otp3 +
+ signUpFields?.otp4,
+ userToken: "2",
+ applicationToken: "22",
+ });
+ setError(undefined);
+ } else {
+ setError("کد وارد شده را چک کنید.");
+ }
+ };
+
+ const numberInput = useRef();
+
+ useEffect(() => {
+ // numberInput.current.focus();
+ setHeaderOptions(headerOptions);
+ }, []);
+
+ useEffect(() => {
+ if (signUpFields?.otp?.length === 4) {
+ sendOtp({
+ cellphone: signUpFields?.cellphone,
+ otp: signUpFields?.otp,
+ userToken: "2",
+ applicationToken: "22",
+ });
+ }
+ }, [signUpFields]);
+
+ useEffect(() => {
+ if (level === "phonenumber") {
+ // numberInput.current.focus();
+ } else {
+ // otpInput.current.focus();
+ }
+ }, [level]);
+
+ useEffect(() => {
+ if (loginFlag) {
+ navigate("/");
+ }
+ }, [loginFlag]);
+ const light = theme === "light";
+ return (
+
+
+
+
+ سلام خوش برگشتی!
+
+
+ onChange(name, value)}
+ value={signUpFields?.cellphone}
+ align="text-center"
+ maxLength="11"
+ direction="ltr"
+ />
+ {error}
+
+ checkPhoneNumber(e)}
+ />
+
+
+
+
+ {!resend && (
+
+ یک کد چهار رقمی تا {" "}
+ دیگر برای شماره
+ {" "}
+
+ {signUpFields?.cellphone}
+ {" "}
+ ارسال خواهد شد.
+
+ )}
+
+
+
+
+ );
+}
+
+const mapStateToProps = (state) => ({
+ loginFlag : state.user.status,
+});
+
+const mapDispatchToProps = {
+ sendOtp: user.otp_login,
+ sendPhoneNumber: user.otp,
+ setHeaderOptions: publicApi.setHeaderOptions,
+};
+
+export default connect(
+ mapStateToProps,
+ mapDispatchToProps
+)(SignUp);
diff --git a/src/view/contact/index.js b/src/view/contact/index.js
index 2431983..a3dca3d 100644
--- a/src/view/contact/index.js
+++ b/src/view/contact/index.js
@@ -77,7 +77,8 @@ const ContactUs = () => {
diff --git a/src/view/dashboard2/Games.js b/src/view/dashboard2/Games.js
index ba00e85..388e91f 100644
--- a/src/view/dashboard2/Games.js
+++ b/src/view/dashboard2/Games.js
@@ -15,46 +15,46 @@ const Games = ({ gameId, chooseGame, selectedGames }) => {
{
id: 1,
img: img1,
- title: "ماجراجو",
+ title: 'کلاس های آموزشی',
},
{
id: 2,
img: img2,
- title: "فرفره",
+ title: 'پیش ثبت نام مدارس',
},
{
id: 3,
img: img3,
- title: "آشپزباشی",
+ title: 'بسته های آزمون',
},
{
id: 4,
img: img4,
- title: "صخره نورد",
+ title: 'کتاب های آموزشی',
},
{
id: 5,
img: img5,
- title: "معمارک",
+ title: 'دوره های مجازی',
},
{
id: 6,
img: img6,
- title: "کنجکاو",
+ title: 'سایر خدمات',
},
]);
return (
-