diff --git a/public/locales/fa/app.json b/public/locales/fa/app.json index 6978a5d..507c7e3 100644 --- a/public/locales/fa/app.json +++ b/public/locales/fa/app.json @@ -170,6 +170,28 @@ "error_message_payan_khedmat_image": "تصویر کارت پایان خدمت خود را وارد کنید", "add_loan_request_permission": "اکنون امکان ثبت درخواست جدید برای شما مقدور نیست" }, + "showLoan": { + "show_loan_page": "نمایش وام", + "text_field_national_code": "کد ملی", + "text_field_postal_code": "کد پستی", + "text_field_national_card_serial_num": "سریال پشت کارت ملی", + "text_field_address": "آدرس", + "text_field_birth_date": "تاریخ تولد", + "text_field_navgan_id": "کد ناوگان", + "text_field_enter_your_national_code": "کد ملی خود را وارد کنید", + "text_field_enter_your_postal_code": "کد پستی خود را وارد کنید", + "text_field_enter_your_national_card_serial_num": "سریال پشت کارت ملی خود را وارد کنید", + "text_field_enter_your_address": "آدرس خود را وارد کنید", + "text_field_enter_your_birth_date": "تاریخ تولد خود را وارد کنید", + "text_field_enter_your_navgan_id": "کد ناوگان خود را وارد کنید", + "error_message_national_code": "لطفا کد ملی خود را وارد کنید!", + "error_message_postal_code": "لطفا کد پستی خود را وارد کنید!", + "error_message_national_card_serial_num": "لطفا سریال پشت کارت ملی خود را وارد کنید!", + "error_message_address": "لطفا آدرس خود را وارد کنید!", + "error_message_birth_date": "لطفا تاریخ تولد خود را وارد کنید!", + "error_message_navgan_id": "لطفا کد ناوگان خود را وارد کنید!", + "button_submit": "ویرایش" + }, "EditLoanRequest": { "edit_loan_request_page": "ویرایش درخواست وام" } diff --git a/src/components/dashboard/navgan/show/form/index.jsx b/src/components/dashboard/navgan/show/form/index.jsx new file mode 100644 index 0000000..a1f237f --- /dev/null +++ b/src/components/dashboard/navgan/show/form/index.jsx @@ -0,0 +1,264 @@ +import StyledForm from "@/core/components/StyledForm"; +import {Box, Button, Stack, TextField} from "@mui/material"; +import {Field, Formik} from "formik"; +import {useTranslations} from "next-intl"; +import EditIcon from '@mui/icons-material/Edit'; +import * as Yup from "yup"; + +const ShowLoanForm = () => { + const t = useTranslations(); + + // initial values + const initialValues = { + national_code: "0312288875", + postal_code: "326585475", + national_card_serial_num: "0312288875", + address: "تهران - ثنایی - مطهری ساختمان مهتاب", + birth_date: "10/25/44", + navgan_id: "14575" + }; + // end initial values + + // validation + const validationSchema = Yup.object().shape({ + national_code: Yup.string().required(t("showLoan.error_message_national_code")), + postal_code: Yup.string().required(t("showLoan.error_message_postal_code")), + national_card_serial_num: Yup.string().required(t("showLoan.error_message_national_card_serial_num")), + address: Yup.string().required(t("showLoan.error_message_address")), + birth_date: Yup.string().required(t("showLoan.error_message_birth_date")), + navgan_id: Yup.string().required(t("showLoan.error_message_navgan_id")), + }); + // end validation + + // submit + const handleSubmit = async (values, props) => { + const formData = new FormData(); + formData.append("national_code", values.national_code); + formData.append("postal_code", values.postal_code); + formData.append("national_card_serial_num", values.national_card_serial_num); + formData.append("address", values.address); + formData.append("birth_date", values.birth_date); + formData.append("navgan_id", values.navgan_id); + }; + // end submit + + return ( + + {(props) => ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + )} + + ); +}; + +export default ShowLoanForm; diff --git a/src/components/dashboard/navgan/show/index.jsx b/src/components/dashboard/navgan/show/index.jsx new file mode 100644 index 0000000..ffab6b1 --- /dev/null +++ b/src/components/dashboard/navgan/show/index.jsx @@ -0,0 +1,26 @@ +import {Box, Chip, Divider} from "@mui/material"; +import {useTranslations} from "next-intl"; +import {CenterLayout, useUser} from "@witel/webapp-builder"; +import ShowLoanForm from "@/components/dashboard/navgan/show/form"; + +const ShowLoan = () => { + const t = useTranslations(); + const {user} = useUser(); + + return ( + + + + + + + + + ); +}; + +export default ShowLoan; diff --git a/src/components/login/SendToken.jsx b/src/components/login/SendToken.jsx index 2a2f287..044ede9 100644 --- a/src/components/login/SendToken.jsx +++ b/src/components/login/SendToken.jsx @@ -1,9 +1,6 @@ import ResendToken from "@/core/components/ResendToken"; import StyledForm from "@/core/components/StyledForm"; import {LOGIN} from "@/core/data/apiRoutes"; -import CenterLayout from "@/layouts/CenterLayout"; -import FullPageLayout from "@/layouts/FullPageLayout"; -import useUser from "@/lib/app/hooks/useUser"; import ChangeCircleIcon from "@mui/icons-material/ChangeCircle"; import LoginIcon from "@mui/icons-material/Login"; import {Box, Button, Container, Grid, Paper, Stack, TextField, Typography,} from "@mui/material"; @@ -11,8 +8,8 @@ import {Field, Formik} from "formik"; import {useTranslations} from "next-intl"; import * as Yup from "yup"; import SvgLogin from "@/core/components/svgs/SvgLogin"; -import useRequest from "@/lib/app/hooks/useRequest"; import AutoSubmit from "@/core/components/AutoSubmit"; +import {CenterLayout, FullPageLayout, useRequest, useUser} from "@witel/webapp-builder"; const SendTokenComponent = ({ PhoneNumber, diff --git a/src/components/login/SendUserData.jsx b/src/components/login/SendUserData.jsx index 6743799..a4c598a 100644 --- a/src/components/login/SendUserData.jsx +++ b/src/components/login/SendUserData.jsx @@ -1,8 +1,5 @@ -import LinkRouting from "@/core/components/LinkRouting"; import StyledForm from "@/core/components/StyledForm"; import {SEND_OTP_TOKEN} from "@/core/data/apiRoutes"; -import CenterLayout from "@/layouts/CenterLayout"; -import FullPageLayout from "@/layouts/FullPageLayout"; import FingerprintIcon from "@mui/icons-material/Fingerprint"; import PersonAddIcon from "@mui/icons-material/PersonAdd"; import {Button, Container, Grid, Paper, Stack, TextField, Typography,} from "@mui/material"; @@ -11,7 +8,7 @@ import {useTranslations} from "next-intl"; import {useSearchParams} from "next/navigation"; import * as Yup from "yup"; import SvgLogin from "@/core/components/svgs/SvgLogin"; -import useRequest from "@/lib/app/hooks/useRequest"; +import {CenterLayout, FullPageLayout, LinkRouting, useRequest} from "@witel/webapp-builder"; const SendUserDataComponent = ({ setOtpToken, diff --git a/src/core/components/ResendToken.jsx b/src/core/components/ResendToken.jsx index 906581c..d564397 100644 --- a/src/core/components/ResendToken.jsx +++ b/src/core/components/ResendToken.jsx @@ -1,11 +1,8 @@ -import Notifications from "@/core/components/notifications"; -import useDirection from "@/lib/app/hooks/useDirection"; import {Button} from "@mui/material"; -import axios from "axios"; import {useTranslations} from "next-intl"; import {useEffect} from "react"; -import {LOGIN, SEND_OTP_TOKEN} from "../data/apiRoutes"; -import useRequest from "@/lib/app/hooks/useRequest"; +import {SEND_OTP_TOKEN} from "../data/apiRoutes"; +import {useDirection, useRequest} from "@witel/webapp-builder"; const ResendToken = ({initialTimerValue, timer, setTimer, PhoneNumber, disabled}) => { const t = useTranslations(); diff --git a/src/pages/dashboard/navgan/[id]/show/index.jsx b/src/pages/dashboard/navgan/[id]/show/index.jsx new file mode 100644 index 0000000..202aa4d --- /dev/null +++ b/src/pages/dashboard/navgan/[id]/show/index.jsx @@ -0,0 +1,21 @@ +import {parse} from "next-useragent"; +import ShowLoan from "@/components/dashboard/navgan/show"; + +export default function ShowLoanRequest() { + return ( + + ); +} + +export async function getServerSideProps({req, locale}) { + const {isBot} = parse(req.headers["user-agent"]); + return { + props: { + messages: (await import(`&/locales/${locale}/app.json`)).default, + title: "showLoan.show_loan_page", + isBot, + locale, + layout: {name: 'DashboardLayout'} + }, + }; +}