diff --git a/.gitignore b/.gitignore
index 4e572ed..78b977c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
node_modules
.next
.env.local
-.idea
\ No newline at end of file
+.idea
+package-lock.json
\ No newline at end of file
diff --git a/example.env.local b/example.env.local
index 2b26da5..3dff93b 100644
--- a/example.env.local
+++ b/example.env.local
@@ -2,6 +2,9 @@ NEXT_PUBLIC_API_NAME = "Loan Facilities Dashboard"
NEXT_PUBLIC_DEFAULT_LANGUAGE = "fa"
NEXT_PUBLIC_DEFAULT_DIRECTION = "rtl"
+NEXT_PUBLIC_PRIMARY_MAIN = "#084070"
+NEXT_PUBLIC_SECONDARY_MAIN = "#FF4E00"
+
NEXT_PUBLIC_API_URL = "http://Your IP:3000"
NEXT_PUBLIC_BASE_URL = "deploy api"
diff --git a/package-lock.json b/package-lock.json
index 2f1e600..b4e78e0 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,6 +14,7 @@
"@mui/icons-material": "^5.11.16",
"@mui/material": "^5.12.0",
"axios": "^1.4.0",
+ "colord": "^2.9.3",
"eslint": "8.36.0",
"formik": "^2.2.9",
"fs-extra": "^11.1.1",
@@ -1592,6 +1593,11 @@
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
+ "node_modules/colord": {
+ "version": "2.9.3",
+ "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
+ "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw=="
+ },
"node_modules/combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
@@ -5989,6 +5995,11 @@
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
+ "colord": {
+ "version": "2.9.3",
+ "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
+ "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw=="
+ },
"combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
diff --git a/package.json b/package.json
index cd0e072..35518b6 100644
--- a/package.json
+++ b/package.json
@@ -16,6 +16,7 @@
"@mui/icons-material": "^5.11.16",
"@mui/material": "^5.12.0",
"axios": "^1.4.0",
+ "colord": "^2.9.3",
"eslint": "8.36.0",
"formik": "^2.2.9",
"fs-extra": "^11.1.1",
diff --git a/public/images/403.svg b/public/images/403.svg
deleted file mode 100644
index d5ab3a5..0000000
--- a/public/images/403.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/images/404.svg b/public/images/404.svg
deleted file mode 100644
index 2383041..0000000
--- a/public/images/404.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/images/500.svg b/public/images/500.svg
deleted file mode 100644
index c7629f3..0000000
--- a/public/images/500.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/images/change-password.svg b/public/images/change-password.svg
deleted file mode 100644
index d940442..0000000
--- a/public/images/change-password.svg
+++ /dev/null
@@ -1,64 +0,0 @@
-
\ No newline at end of file
diff --git a/public/images/dashboard.svg b/public/images/dashboard.svg
deleted file mode 100644
index f7c0340..0000000
--- a/public/images/dashboard.svg
+++ /dev/null
@@ -1,104 +0,0 @@
-
\ No newline at end of file
diff --git a/public/images/loading.svg b/public/images/loading.svg
deleted file mode 100644
index f2fc10e..0000000
--- a/public/images/loading.svg
+++ /dev/null
@@ -1,42 +0,0 @@
-
\ No newline at end of file
diff --git a/public/images/login.svg b/public/images/login.svg
deleted file mode 100644
index cd7e24e..0000000
--- a/public/images/login.svg
+++ /dev/null
@@ -1,60 +0,0 @@
-
\ No newline at end of file
diff --git a/public/images/not-found.svg b/public/images/not-found.svg
deleted file mode 100644
index b233cca..0000000
--- a/public/images/not-found.svg
+++ /dev/null
@@ -1,90 +0,0 @@
-
\ No newline at end of file
diff --git a/public/images/register.svg b/public/images/register.svg
deleted file mode 100644
index 6424756..0000000
--- a/public/images/register.svg
+++ /dev/null
@@ -1,86 +0,0 @@
-
\ No newline at end of file
diff --git a/public/locales/fa/app.json b/public/locales/fa/app.json
index e42f7fa..de34bdf 100644
--- a/public/locales/fa/app.json
+++ b/public/locales/fa/app.json
@@ -54,7 +54,7 @@
"Authorization": {
"typography_your_login_is_valid_and_you_do_not_need_to_login_again": "شما دسترسی لازم به این صفحه را دارید نیاز به ورود مجدد نیست.",
"typography_your_access_to_this_page_has_expired_Please_login_again": "دسترسی شما منقضی شده است لطفا دوباره ورود نمایید.",
- "typography_redirect_to": "رفتن به صفحه",
+ "typography_redirect_to": "درحال رفتن به صفحه",
"typography_routing_previuos_page": "صفحه قبل...",
"typography_routing_dashbaord_page": "داشبورد..."
},
diff --git a/src/components/errors/403.jsx b/src/components/errors/403.jsx
index cf46e41..ce91443 100644
--- a/src/components/errors/403.jsx
+++ b/src/components/errors/403.jsx
@@ -1,10 +1,10 @@
import CenterLayout from "@/layouts/CenterLayout";
import FullPageLayout from "@/layouts/FullPageLayout";
-import {Box, Button, Container, Stack, Typography} from "@mui/material";
+import {Button, Typography} from "@mui/material";
import {NextLinkComposed} from "@/core/components/LinkRouting";
import {useTranslations} from "next-intl";
-import Image from "next/image";
import TitlePage from "@/core/components/TitlePage";
+import Svg403 from "@/core/components/svgs/Svg403";
const UnAuthorizedComponent = () => {
const t = useTranslations();
@@ -13,32 +13,21 @@ const UnAuthorizedComponent = () => {
<>
-
-
-
-
-
-
-
- {t("ErrorPage.custom_403")}
-
-
-
-
+
+
+
+ {t("ErrorPage.custom_403")}
+
+
>
diff --git a/src/components/errors/404.jsx b/src/components/errors/404.jsx
index e0888b3..acfd418 100644
--- a/src/components/errors/404.jsx
+++ b/src/components/errors/404.jsx
@@ -1,10 +1,10 @@
import CenterLayout from "@/layouts/CenterLayout";
import FullPageLayout from "@/layouts/FullPageLayout";
-import {Box, Button, Container, Stack, Typography} from "@mui/material";
+import {Button, Typography} from "@mui/material";
import {NextLinkComposed} from "@/core/components/LinkRouting";
import {useTranslations} from "next-intl";
-import Image from "next/image";
import TitlePage from "@/core/components/TitlePage";
+import Svg404 from "@/core/components/svgs/Svg404";
const NotFoundComponent = () => {
const t = useTranslations();
@@ -13,32 +13,21 @@ const NotFoundComponent = () => {
<>
-
-
-
-
-
-
-
- {t("ErrorPage.custom_404")}
-
-
-
-
+
+
+
+ {t("ErrorPage.custom_404")}
+
+
>
diff --git a/src/components/errors/500.jsx b/src/components/errors/500.jsx
index 10e9d12..5a19eda 100644
--- a/src/components/errors/500.jsx
+++ b/src/components/errors/500.jsx
@@ -1,10 +1,10 @@
import CenterLayout from "@/layouts/CenterLayout";
import FullPageLayout from "@/layouts/FullPageLayout";
-import {Box, Button, Container, Stack, Typography} from "@mui/material";
+import {Button, Typography} from "@mui/material";
import {NextLinkComposed} from "@/core/components/LinkRouting";
import {useTranslations} from "next-intl";
-import Image from "next/image";
import TitlePage from "@/core/components/TitlePage";
+import Svg500 from "@/core/components/svgs/Svg500";
const ServerErrorComponent = () => {
const t = useTranslations();
@@ -13,32 +13,21 @@ const ServerErrorComponent = () => {
<>
-
-
-
-
-
-
-
- {t("ErrorPage.custom_500")}
-
-
-
-
+
+
+
+ {t("ErrorPage.custom_500")}
+
+
>
diff --git a/src/components/first/index.jsx b/src/components/first/index.jsx
index f12e115..1d07f9d 100644
--- a/src/components/first/index.jsx
+++ b/src/components/first/index.jsx
@@ -1,11 +1,10 @@
-import dashboardImage from "&/images/dashboard.svg";
import {NextLinkComposed} from "@/core/components/LinkRouting";
-import StyledImage from "@/core/components/StyledImage";
import CenterLayout from "@/layouts/CenterLayout";
import FullPageLayout from "@/layouts/FullPageLayout";
import useUser from "@/lib/app/hooks/useUser";
import {Button, Typography} from "@mui/material";
import {useTranslations} from "next-intl";
+import SvgDashboard from "@/core/components/svgs/SvgDashboard";
const FirstComponent = () => {
const t = useTranslations();
@@ -14,13 +13,7 @@ const FirstComponent = () => {
return (
-
+
{t("app_name")}
diff --git a/src/components/login/SendToken.jsx b/src/components/login/SendToken.jsx
index 158bd65..846e3dd 100644
--- a/src/components/login/SendToken.jsx
+++ b/src/components/login/SendToken.jsx
@@ -12,8 +12,8 @@ import {Box, Button, Container, Grid, Paper, Stack, TextField, Typography,} from
import axios from "axios";
import {Field, Formik} from "formik";
import {useTranslations} from "next-intl";
-import Image from "next/image";
import * as Yup from "yup";
+import SvgLogin from "@/core/components/svgs/SvgLogin";
const SendTokenComponent = ({
PhoneNumber,
@@ -65,16 +65,12 @@ const SendTokenComponent = ({
>
{(props) => (
-
-
-
+
+
{t("login")}
diff --git a/src/components/login/SendUserData.jsx b/src/components/login/SendUserData.jsx
index 57b5872..0799294 100644
--- a/src/components/login/SendUserData.jsx
+++ b/src/components/login/SendUserData.jsx
@@ -7,13 +7,13 @@ import FullPageLayout from "@/layouts/FullPageLayout";
import useDirection from "@/lib/app/hooks/useDirection";
import FingerprintIcon from "@mui/icons-material/Fingerprint";
import PersonAddIcon from "@mui/icons-material/PersonAdd";
-import {Box, Button, Container, Grid, Paper, Stack, TextField, Typography,} from "@mui/material";
+import {Button, Container, Grid, Paper, Stack, TextField, Typography,} from "@mui/material";
import axios from "axios";
import {Field, Formik} from "formik";
import {useTranslations} from "next-intl";
-import Image from "next/image";
import {useSearchParams} from "next/navigation";
import * as Yup from "yup";
+import SvgLogin from "@/core/components/svgs/SvgLogin";
const SendUserDataComponent = ({
setOtpToken,
@@ -65,16 +65,12 @@ const SendUserDataComponent = ({
>
{(props) => (
-
-
-
+
+
{t("Titles.title_login_page")}
diff --git a/src/components/register/RequestOtp.jsx b/src/components/register/RequestOtp.jsx
index 37d8460..61bbd60 100644
--- a/src/components/register/RequestOtp.jsx
+++ b/src/components/register/RequestOtp.jsx
@@ -6,13 +6,13 @@ import CenterLayout from "@/layouts/CenterLayout";
import FullPageLayout from "@/layouts/FullPageLayout";
import useDirection from "@/lib/app/hooks/useDirection";
import FingerprintIcon from "@mui/icons-material/Fingerprint";
-import {Box, Button, Container, Paper, Stack, TextField, Typography,} from "@mui/material";
+import {Button, Container, Paper, Stack, TextField, Typography,} from "@mui/material";
import axios from "axios";
import {Field, Formik} from "formik";
import {useTranslations} from "next-intl";
-import Image from "next/image";
import {useSearchParams} from "next/navigation";
import * as Yup from "yup";
+import SvgLogin from "@/core/components/svgs/SvgLogin";
const RequestOtpComponent = ({
setOtpToken,
@@ -66,16 +66,12 @@ const RequestOtpComponent = ({
>
{(props) => (
-
-
-
+
+
{t("Titles.title_register_page")}
diff --git a/src/components/register/index.jsx b/src/components/register/index.jsx
index 6e05291..6e6b07d 100644
--- a/src/components/register/index.jsx
+++ b/src/components/register/index.jsx
@@ -1,12 +1,11 @@
-import dahsboardImage from "&/images/dashboard.svg";
import LinkRouting, {NextLinkComposed} from "@/core/components/LinkRouting";
-import StyledImage from "@/core/components/StyledImage";
import CenterLayout from "@/layouts/CenterLayout";
import FullPageLayout from "@/layouts/FullPageLayout";
import useUser from "@/lib/app/hooks/useUser";
import {Box, Button, Grid, Stack} from "@mui/material";
import {useTranslations} from "next-intl";
import {useSearchParams} from "next/navigation";
+import SvgDashboard from "@/core/components/svgs/SvgDashboard";
const RegisterComponent = () => {
const t = useTranslations();
@@ -18,13 +17,7 @@ const RegisterComponent = () => {
return (
-
+
{isAuth ? (