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 @@ -server_cluster \ 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("app_name")} - - - {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("app_name")} - - - {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("app_name")} - - - {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("app_name")} - + + {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("app_name")} - + + {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("app_name")} - + + {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 ? (