From 9695a09358cefaa8bdb66c6f4eed42da6b6fadec Mon Sep 17 00:00:00 2001 From: AminGhasempoor Date: Mon, 6 Nov 2023 15:05:17 +0330 Subject: [PATCH 1/8] LFFE-12 change confirm title --- public/locales/fa/app.json | 19 ++++++++++++------- .../Form/ConfirmForm/index.jsx | 7 +++---- .../Form/ConfirmForm/index.jsx | 7 +++---- .../passenger-boss/Form/ConfirmForm/index.jsx | 7 +++---- .../Form/ConfirmForm/index.jsx | 7 +++---- .../Form/ConfirmForm/index.jsx | 7 +++---- 6 files changed, 27 insertions(+), 27 deletions(-) diff --git a/public/locales/fa/app.json b/public/locales/fa/app.json index 9fd2984..4f32987 100644 --- a/public/locales/fa/app.json +++ b/public/locales/fa/app.json @@ -160,7 +160,8 @@ "updated_at": "تاریخ بروزرسانی", "navgan_id": "کد ناوگان", "vehicle_type": "نوع ماشین", - "state_name": "وضعیت درخواست" + "state_name": "وضعیت درخواست", + "confirm" : "ارجاع به ماشین آلات" }, "CommercialChief": { "name": "نام", @@ -182,7 +183,8 @@ "updated_at": "تاریخ بروزرسانی", "navgan_id": "کد ناوگان", "vehicle_type": "نوع ماشین", - "state_name": "وضعیت درخواست" + "state_name": "وضعیت درخواست", + "confirm" : "تایید نهایی و ارجاع به بانک" }, "PassengerBoss": { "name": "نام", @@ -193,7 +195,8 @@ "updated_at": "تاریخ بروزرسانی", "navgan_id": "کد ناوگان", "vehicle_type": "نوع ماشین", - "state_name": "وضعیت درخواست" + "state_name": "وضعیت درخواست", + "confirm" : "ارجاع به معاونت حمل و نقل" }, "RefahiProvinceManager": { "name": "نام", @@ -261,7 +264,8 @@ "updated_at": "تاریخ بروزرسانی", "navgan_id": "کد ناوگان", "vehicle_type": "نوع ماشین", - "state_name": "وضعیت درخواست" + "state_name": "وضعیت درخواست", + "confirm" : "ارجاع به مدیر کل استانی" }, "InspectorExpert": { "name": "نام", @@ -283,7 +287,8 @@ "updated_at": "تاریخ بروزرسانی", "navgan_id": "کد ناوگان", "vehicle_type": "نوع ماشین", - "state_name": "وضعیت درخواست" + "state_name": "وضعیت درخواست", + "confirm" : "ارجاع به کارگروه استانی" }, "UserManagement": { "name": "نام", @@ -305,10 +310,10 @@ "updated_at": "تاریخ بروزرسانی" }, "ConfirmDialog": { - "confirm": "تایید", + "confirm": "ارجاع", "context": "آیا از تایید این آیتم اطمینان دارید؟", "button-cancel": "بستن", - "button-confirm": "تایید", + "button-confirm": "ارجاع", "description_error": "وارد کردن توضیحات الزامی است!", "optional": " (اختیاری)", "unit": " (ریال)", diff --git a/src/components/dashboard/machinary-office/Form/ConfirmForm/index.jsx b/src/components/dashboard/machinary-office/Form/ConfirmForm/index.jsx index 95a6367..5ed809f 100644 --- a/src/components/dashboard/machinary-office/Form/ConfirmForm/index.jsx +++ b/src/components/dashboard/machinary-office/Form/ConfirmForm/index.jsx @@ -1,9 +1,8 @@ import {Dialog, DialogTitle, IconButton, Tooltip} from "@mui/material"; import {useTranslations} from "next-intl"; -import ThumbUpAltIcon from "@mui/icons-material/ThumbUpAlt"; import {useState} from "react"; import ConfirmContent from "./ConfirmContent"; - +import CallMadeIcon from '@mui/icons-material/CallMade'; const Confirm = ({rowId, mutate}) => { const t = useTranslations(); const [openConfirmDialog, setOpenConfirmDialog] = useState(false); @@ -16,12 +15,12 @@ const Confirm = ({rowId, mutate}) => { setOpenConfirmDialog(true) }} > - + - {t("ConfirmDialog.confirm")} + {t("MachinaryOffice.confirm")} diff --git a/src/components/dashboard/navgan-province-manager/Form/ConfirmForm/index.jsx b/src/components/dashboard/navgan-province-manager/Form/ConfirmForm/index.jsx index 95a6367..2d983db 100644 --- a/src/components/dashboard/navgan-province-manager/Form/ConfirmForm/index.jsx +++ b/src/components/dashboard/navgan-province-manager/Form/ConfirmForm/index.jsx @@ -1,9 +1,8 @@ import {Dialog, DialogTitle, IconButton, Tooltip} from "@mui/material"; import {useTranslations} from "next-intl"; -import ThumbUpAltIcon from "@mui/icons-material/ThumbUpAlt"; import {useState} from "react"; import ConfirmContent from "./ConfirmContent"; - +import CallMadeIcon from '@mui/icons-material/CallMade'; const Confirm = ({rowId, mutate}) => { const t = useTranslations(); const [openConfirmDialog, setOpenConfirmDialog] = useState(false); @@ -16,12 +15,12 @@ const Confirm = ({rowId, mutate}) => { setOpenConfirmDialog(true) }} > - + - {t("ConfirmDialog.confirm")} + {t("NavganProvinceManager.confirm")} diff --git a/src/components/dashboard/passenger-boss/Form/ConfirmForm/index.jsx b/src/components/dashboard/passenger-boss/Form/ConfirmForm/index.jsx index 95a6367..30f15dd 100644 --- a/src/components/dashboard/passenger-boss/Form/ConfirmForm/index.jsx +++ b/src/components/dashboard/passenger-boss/Form/ConfirmForm/index.jsx @@ -1,9 +1,8 @@ import {Dialog, DialogTitle, IconButton, Tooltip} from "@mui/material"; import {useTranslations} from "next-intl"; -import ThumbUpAltIcon from "@mui/icons-material/ThumbUpAlt"; import {useState} from "react"; import ConfirmContent from "./ConfirmContent"; - +import CallMadeIcon from '@mui/icons-material/CallMade'; const Confirm = ({rowId, mutate}) => { const t = useTranslations(); const [openConfirmDialog, setOpenConfirmDialog] = useState(false); @@ -16,12 +15,12 @@ const Confirm = ({rowId, mutate}) => { setOpenConfirmDialog(true) }} > - + - {t("ConfirmDialog.confirm")} + {t("PassengerBoss.confirm")} diff --git a/src/components/dashboard/passenger-office/Form/ConfirmForm/index.jsx b/src/components/dashboard/passenger-office/Form/ConfirmForm/index.jsx index 95a6367..fa47fcf 100644 --- a/src/components/dashboard/passenger-office/Form/ConfirmForm/index.jsx +++ b/src/components/dashboard/passenger-office/Form/ConfirmForm/index.jsx @@ -1,9 +1,8 @@ import {Dialog, DialogTitle, IconButton, Tooltip} from "@mui/material"; import {useTranslations} from "next-intl"; -import ThumbUpAltIcon from "@mui/icons-material/ThumbUpAlt"; import {useState} from "react"; import ConfirmContent from "./ConfirmContent"; - +import CallMadeIcon from '@mui/icons-material/CallMade'; const Confirm = ({rowId, mutate}) => { const t = useTranslations(); const [openConfirmDialog, setOpenConfirmDialog] = useState(false); @@ -16,12 +15,12 @@ const Confirm = ({rowId, mutate}) => { setOpenConfirmDialog(true) }} > - + - {t("ConfirmDialog.confirm")} + {t("PassengerOffice.confirm")} diff --git a/src/components/dashboard/transportation-assistance/Form/ConfirmForm/index.jsx b/src/components/dashboard/transportation-assistance/Form/ConfirmForm/index.jsx index 95a6367..2ef7d25 100644 --- a/src/components/dashboard/transportation-assistance/Form/ConfirmForm/index.jsx +++ b/src/components/dashboard/transportation-assistance/Form/ConfirmForm/index.jsx @@ -1,9 +1,8 @@ import {Dialog, DialogTitle, IconButton, Tooltip} from "@mui/material"; import {useTranslations} from "next-intl"; -import ThumbUpAltIcon from "@mui/icons-material/ThumbUpAlt"; import {useState} from "react"; import ConfirmContent from "./ConfirmContent"; - +import CallMadeIcon from '@mui/icons-material/CallMade'; const Confirm = ({rowId, mutate}) => { const t = useTranslations(); const [openConfirmDialog, setOpenConfirmDialog] = useState(false); @@ -16,12 +15,12 @@ const Confirm = ({rowId, mutate}) => { setOpenConfirmDialog(true) }} > - + - {t("ConfirmDialog.confirm")} + {t("TransportationAssistance.confirm")} From 1cd81a77ba03576f6a3e47329a1db097d5ceedeb Mon Sep 17 00:00:00 2001 From: AminGhasempoor Date: Mon, 6 Nov 2023 15:05:17 +0330 Subject: [PATCH 2/8] LFFE-18 change confirm title --- public/locales/fa/app.json | 19 ++++++++++++------- .../Form/ConfirmForm/index.jsx | 7 +++---- .../Form/ConfirmForm/index.jsx | 7 +++---- .../passenger-boss/Form/ConfirmForm/index.jsx | 7 +++---- .../Form/ConfirmForm/index.jsx | 7 +++---- .../Form/ConfirmForm/index.jsx | 7 +++---- 6 files changed, 27 insertions(+), 27 deletions(-) diff --git a/public/locales/fa/app.json b/public/locales/fa/app.json index 9fd2984..4f32987 100644 --- a/public/locales/fa/app.json +++ b/public/locales/fa/app.json @@ -160,7 +160,8 @@ "updated_at": "تاریخ بروزرسانی", "navgan_id": "کد ناوگان", "vehicle_type": "نوع ماشین", - "state_name": "وضعیت درخواست" + "state_name": "وضعیت درخواست", + "confirm" : "ارجاع به ماشین آلات" }, "CommercialChief": { "name": "نام", @@ -182,7 +183,8 @@ "updated_at": "تاریخ بروزرسانی", "navgan_id": "کد ناوگان", "vehicle_type": "نوع ماشین", - "state_name": "وضعیت درخواست" + "state_name": "وضعیت درخواست", + "confirm" : "تایید نهایی و ارجاع به بانک" }, "PassengerBoss": { "name": "نام", @@ -193,7 +195,8 @@ "updated_at": "تاریخ بروزرسانی", "navgan_id": "کد ناوگان", "vehicle_type": "نوع ماشین", - "state_name": "وضعیت درخواست" + "state_name": "وضعیت درخواست", + "confirm" : "ارجاع به معاونت حمل و نقل" }, "RefahiProvinceManager": { "name": "نام", @@ -261,7 +264,8 @@ "updated_at": "تاریخ بروزرسانی", "navgan_id": "کد ناوگان", "vehicle_type": "نوع ماشین", - "state_name": "وضعیت درخواست" + "state_name": "وضعیت درخواست", + "confirm" : "ارجاع به مدیر کل استانی" }, "InspectorExpert": { "name": "نام", @@ -283,7 +287,8 @@ "updated_at": "تاریخ بروزرسانی", "navgan_id": "کد ناوگان", "vehicle_type": "نوع ماشین", - "state_name": "وضعیت درخواست" + "state_name": "وضعیت درخواست", + "confirm" : "ارجاع به کارگروه استانی" }, "UserManagement": { "name": "نام", @@ -305,10 +310,10 @@ "updated_at": "تاریخ بروزرسانی" }, "ConfirmDialog": { - "confirm": "تایید", + "confirm": "ارجاع", "context": "آیا از تایید این آیتم اطمینان دارید؟", "button-cancel": "بستن", - "button-confirm": "تایید", + "button-confirm": "ارجاع", "description_error": "وارد کردن توضیحات الزامی است!", "optional": " (اختیاری)", "unit": " (ریال)", diff --git a/src/components/dashboard/machinary-office/Form/ConfirmForm/index.jsx b/src/components/dashboard/machinary-office/Form/ConfirmForm/index.jsx index 95a6367..5ed809f 100644 --- a/src/components/dashboard/machinary-office/Form/ConfirmForm/index.jsx +++ b/src/components/dashboard/machinary-office/Form/ConfirmForm/index.jsx @@ -1,9 +1,8 @@ import {Dialog, DialogTitle, IconButton, Tooltip} from "@mui/material"; import {useTranslations} from "next-intl"; -import ThumbUpAltIcon from "@mui/icons-material/ThumbUpAlt"; import {useState} from "react"; import ConfirmContent from "./ConfirmContent"; - +import CallMadeIcon from '@mui/icons-material/CallMade'; const Confirm = ({rowId, mutate}) => { const t = useTranslations(); const [openConfirmDialog, setOpenConfirmDialog] = useState(false); @@ -16,12 +15,12 @@ const Confirm = ({rowId, mutate}) => { setOpenConfirmDialog(true) }} > - + - {t("ConfirmDialog.confirm")} + {t("MachinaryOffice.confirm")} diff --git a/src/components/dashboard/navgan-province-manager/Form/ConfirmForm/index.jsx b/src/components/dashboard/navgan-province-manager/Form/ConfirmForm/index.jsx index 95a6367..2d983db 100644 --- a/src/components/dashboard/navgan-province-manager/Form/ConfirmForm/index.jsx +++ b/src/components/dashboard/navgan-province-manager/Form/ConfirmForm/index.jsx @@ -1,9 +1,8 @@ import {Dialog, DialogTitle, IconButton, Tooltip} from "@mui/material"; import {useTranslations} from "next-intl"; -import ThumbUpAltIcon from "@mui/icons-material/ThumbUpAlt"; import {useState} from "react"; import ConfirmContent from "./ConfirmContent"; - +import CallMadeIcon from '@mui/icons-material/CallMade'; const Confirm = ({rowId, mutate}) => { const t = useTranslations(); const [openConfirmDialog, setOpenConfirmDialog] = useState(false); @@ -16,12 +15,12 @@ const Confirm = ({rowId, mutate}) => { setOpenConfirmDialog(true) }} > - + - {t("ConfirmDialog.confirm")} + {t("NavganProvinceManager.confirm")} diff --git a/src/components/dashboard/passenger-boss/Form/ConfirmForm/index.jsx b/src/components/dashboard/passenger-boss/Form/ConfirmForm/index.jsx index 95a6367..30f15dd 100644 --- a/src/components/dashboard/passenger-boss/Form/ConfirmForm/index.jsx +++ b/src/components/dashboard/passenger-boss/Form/ConfirmForm/index.jsx @@ -1,9 +1,8 @@ import {Dialog, DialogTitle, IconButton, Tooltip} from "@mui/material"; import {useTranslations} from "next-intl"; -import ThumbUpAltIcon from "@mui/icons-material/ThumbUpAlt"; import {useState} from "react"; import ConfirmContent from "./ConfirmContent"; - +import CallMadeIcon from '@mui/icons-material/CallMade'; const Confirm = ({rowId, mutate}) => { const t = useTranslations(); const [openConfirmDialog, setOpenConfirmDialog] = useState(false); @@ -16,12 +15,12 @@ const Confirm = ({rowId, mutate}) => { setOpenConfirmDialog(true) }} > - + - {t("ConfirmDialog.confirm")} + {t("PassengerBoss.confirm")} diff --git a/src/components/dashboard/passenger-office/Form/ConfirmForm/index.jsx b/src/components/dashboard/passenger-office/Form/ConfirmForm/index.jsx index 95a6367..fa47fcf 100644 --- a/src/components/dashboard/passenger-office/Form/ConfirmForm/index.jsx +++ b/src/components/dashboard/passenger-office/Form/ConfirmForm/index.jsx @@ -1,9 +1,8 @@ import {Dialog, DialogTitle, IconButton, Tooltip} from "@mui/material"; import {useTranslations} from "next-intl"; -import ThumbUpAltIcon from "@mui/icons-material/ThumbUpAlt"; import {useState} from "react"; import ConfirmContent from "./ConfirmContent"; - +import CallMadeIcon from '@mui/icons-material/CallMade'; const Confirm = ({rowId, mutate}) => { const t = useTranslations(); const [openConfirmDialog, setOpenConfirmDialog] = useState(false); @@ -16,12 +15,12 @@ const Confirm = ({rowId, mutate}) => { setOpenConfirmDialog(true) }} > - + - {t("ConfirmDialog.confirm")} + {t("PassengerOffice.confirm")} diff --git a/src/components/dashboard/transportation-assistance/Form/ConfirmForm/index.jsx b/src/components/dashboard/transportation-assistance/Form/ConfirmForm/index.jsx index 95a6367..2ef7d25 100644 --- a/src/components/dashboard/transportation-assistance/Form/ConfirmForm/index.jsx +++ b/src/components/dashboard/transportation-assistance/Form/ConfirmForm/index.jsx @@ -1,9 +1,8 @@ import {Dialog, DialogTitle, IconButton, Tooltip} from "@mui/material"; import {useTranslations} from "next-intl"; -import ThumbUpAltIcon from "@mui/icons-material/ThumbUpAlt"; import {useState} from "react"; import ConfirmContent from "./ConfirmContent"; - +import CallMadeIcon from '@mui/icons-material/CallMade'; const Confirm = ({rowId, mutate}) => { const t = useTranslations(); const [openConfirmDialog, setOpenConfirmDialog] = useState(false); @@ -16,12 +15,12 @@ const Confirm = ({rowId, mutate}) => { setOpenConfirmDialog(true) }} > - + - {t("ConfirmDialog.confirm")} + {t("TransportationAssistance.confirm")} From 1074f2be1f9889c955bc70d37064bac143f3f869 Mon Sep 17 00:00:00 2001 From: AminGhasempoor Date: Mon, 6 Nov 2023 16:48:08 +0330 Subject: [PATCH 3/8] LFFE-18 validation on confirm img in machinary expert --- public/locales/fa/app.json | 17 +++++++-- .../Form/ConfirmForm/ConfirmContent.jsx | 38 +++++++++++++++++-- src/core/components/UploadSystem.jsx | 1 - 3 files changed, 49 insertions(+), 7 deletions(-) diff --git a/public/locales/fa/app.json b/public/locales/fa/app.json index 4f32987..ba420e7 100644 --- a/public/locales/fa/app.json +++ b/public/locales/fa/app.json @@ -161,7 +161,7 @@ "navgan_id": "کد ناوگان", "vehicle_type": "نوع ماشین", "state_name": "وضعیت درخواست", - "confirm" : "ارجاع به ماشین آلات" + "confirm" : "ارجاع به کارشناس ماشین آلات" }, "CommercialChief": { "name": "نام", @@ -196,7 +196,7 @@ "navgan_id": "کد ناوگان", "vehicle_type": "نوع ماشین", "state_name": "وضعیت درخواست", - "confirm" : "ارجاع به معاونت حمل و نقل" + "confirm" : "ارجاع به معاون حمل و نقل" }, "RefahiProvinceManager": { "name": "نام", @@ -288,7 +288,17 @@ "navgan_id": "کد ناوگان", "vehicle_type": "نوع ماشین", "state_name": "وضعیت درخواست", - "confirm" : "ارجاع به کارگروه استانی" + "confirm" : "ارجاع به کارگروه استانی", + "upload_file": "گزارش کارشناسی را وارد کنید", + "upload_file_required": "وارد کردن گزارش کارشناسی الزامیست", + "upload_file_unit": "حداکثر 2Mb", + "upload_file_format": "فرمت قابل قبول : png,jpg,pdf", + "delete": "پاک کردن", + "phone_number": "شماره تلفن", + "national_id": "کد ملی", + "navgan_id": "کد ناوگان", + "type_id": "نوع کاربر", + "uploadfile_error": "حجم فایل بیشتر از 2 مگابایت می باشد" }, "UserManagement": { "name": "نام", @@ -325,6 +335,7 @@ "approved_amount_number": "مبلغ تصویب شده باید عدد باشد", "toman": "تومان", "proposed_amount_error": "وارد کردن مقدار پیشنهادی الزامیست", + "proposed_amount_number": "مقدار پیشنهادی باید عدد باشد", "proposed_amount": "مقدار پیشنهادی", "proposed_amount_positive": "مقدار پیشنهادی باید مثبت باشد" }, diff --git a/src/components/dashboard/machinary-office/Form/ConfirmForm/ConfirmContent.jsx b/src/components/dashboard/machinary-office/Form/ConfirmForm/ConfirmContent.jsx index da0acda..94106a1 100644 --- a/src/components/dashboard/machinary-office/Form/ConfirmForm/ConfirmContent.jsx +++ b/src/components/dashboard/machinary-office/Form/ConfirmForm/ConfirmContent.jsx @@ -1,7 +1,15 @@ import UploadSystem from "@/core/components/UploadSystem"; import useNotification from "@/lib/app/hooks/useNotification"; import useRequest from "@/lib/app/hooks/useRequest"; -import {Button, DialogActions, DialogContent, Stack, TextField, Typography} from "@mui/material" +import { + Button, + DialogActions, + DialogContent, + FormHelperText, + Stack, + TextField, + Typography +} from "@mui/material" import {useFormik} from "formik"; import {useTranslations} from "next-intl"; import {CONFIRM_MACHINARY_OFFICE} from "@/core/data/apiRoutes"; @@ -25,7 +33,18 @@ const ConfirmContent = ({rowId, mutate, setOpenConfirmDialog}) => { `${t("ConfirmDialog.proposed_amount_number")}`, (value) => !isNaN(value) ).test("positive", `${t("ConfirmDialog.proposed_amount_positive")}`, (value) => value >= 0) - .required(t("ConfirmDialog.proposed_amount_error")) + .required(t("ConfirmDialog.proposed_amount_error")), + confirm_img: Yup.mixed() + .required(t("MachinaryOffice.upload_file_required")) + .test('fileSize', `${t("MachinaryOffice.upload_file_unit")}`, (value) => { + // if (!value) return true; // Skip if no file is provided + return value.size <= 2 * 1024 * 1024; // 100KB limit (adjust as needed) + }) + .test('fileType', `${t("MachinaryOffice.upload_file_format")}`, (value) => { + // if (!value) return true; // Skip if no file is provided + const allowedTypes = ['image/jpg', 'image/png', 'application/pdf']; // Define your allowed file types + return allowedTypes.includes(value.type); + }) }); const formik = useFormik({ @@ -129,7 +148,7 @@ const ConfirmContent = ({rowId, mutate, setOpenConfirmDialog}) => { /> - {t("UploadSystem.upload_file")}{t("UploadSystem.optional")} + {t("MachinaryOffice.upload_file")} { fileName={fileName} imageAlt={t("app_name")} imageSize={[250, 150]} + onBlur={formik.handleBlur("confirm_img")} + error={ + formik.touched.confirm_img && + Boolean(formik.errors.confirm_img) + } + helperText={ + formik.touched.confirm_img && formik.errors.confirm_img + } setShowAddIcon={setShowAddIcon} showAddIcon={showAddIcon} /> + + {formik.errors.confirm_img ? formik.errors.confirm_img : null} + diff --git a/src/core/components/UploadSystem.jsx b/src/core/components/UploadSystem.jsx index b40fb46..5bdec75 100644 --- a/src/core/components/UploadSystem.jsx +++ b/src/core/components/UploadSystem.jsx @@ -10,7 +10,6 @@ const UploadSystem = ({ handleUploadChange, fieldname, setFieldValue, - imageAlt, imageSize, fileType, fileName, From a0efa89304fb152a215149cf8f2bb6e9aa014bd7 Mon Sep 17 00:00:00 2001 From: AminGhasempoor Date: Tue, 7 Nov 2023 10:54:45 +0330 Subject: [PATCH 4/8] LFFE-18 make confir img to be required in machinary and passenger boss --- public/locales/fa/app.json | 16 +++++--- .../Form/ConfirmForm/ConfirmContent.jsx | 27 +++---------- .../Form/ConfirmForm/ConfirmContent.jsx | 40 ++++++++++++------- src/core/components/UploadSystem.jsx | 1 - 4 files changed, 41 insertions(+), 43 deletions(-) diff --git a/public/locales/fa/app.json b/public/locales/fa/app.json index ba420e7..0500aa2 100644 --- a/public/locales/fa/app.json +++ b/public/locales/fa/app.json @@ -161,7 +161,7 @@ "navgan_id": "کد ناوگان", "vehicle_type": "نوع ماشین", "state_name": "وضعیت درخواست", - "confirm" : "ارجاع به کارشناس ماشین آلات" + "confirm": "ارجاع به کارشناس ماشین آلات" }, "CommercialChief": { "name": "نام", @@ -184,7 +184,7 @@ "navgan_id": "کد ناوگان", "vehicle_type": "نوع ماشین", "state_name": "وضعیت درخواست", - "confirm" : "تایید نهایی و ارجاع به بانک" + "confirm": "تایید نهایی و ارجاع به بانک" }, "PassengerBoss": { "name": "نام", @@ -196,7 +196,11 @@ "navgan_id": "کد ناوگان", "vehicle_type": "نوع ماشین", "state_name": "وضعیت درخواست", - "confirm" : "ارجاع به معاون حمل و نقل" + "confirm": "ارجاع به معاون حمل و نقل", + "upload_file": "صورت جلسه کارگروه را وارد کنید", + "upload_file_required": "وارد کردن صورت جلسه کارگروه الزامیست", + "upload_file_unit": "فایل بارگذاری شده باید حداکثر 2Mb باشد", + "upload_file_format": "فرمت قابل قبول : png,jpg,pdf" }, "RefahiProvinceManager": { "name": "نام", @@ -265,7 +269,7 @@ "navgan_id": "کد ناوگان", "vehicle_type": "نوع ماشین", "state_name": "وضعیت درخواست", - "confirm" : "ارجاع به مدیر کل استانی" + "confirm": "ارجاع به مدیر کل استانی" }, "InspectorExpert": { "name": "نام", @@ -288,10 +292,10 @@ "navgan_id": "کد ناوگان", "vehicle_type": "نوع ماشین", "state_name": "وضعیت درخواست", - "confirm" : "ارجاع به کارگروه استانی", + "confirm": "ارجاع به کارگروه استانی", "upload_file": "گزارش کارشناسی را وارد کنید", "upload_file_required": "وارد کردن گزارش کارشناسی الزامیست", - "upload_file_unit": "حداکثر 2Mb", + "upload_file_unit": "فایل بارگذاری شده باید حداکثر 2Mb باشد", "upload_file_format": "فرمت قابل قبول : png,jpg,pdf", "delete": "پاک کردن", "phone_number": "شماره تلفن", diff --git a/src/components/dashboard/machinary-office/Form/ConfirmForm/ConfirmContent.jsx b/src/components/dashboard/machinary-office/Form/ConfirmForm/ConfirmContent.jsx index 94106a1..75dd563 100644 --- a/src/components/dashboard/machinary-office/Form/ConfirmForm/ConfirmContent.jsx +++ b/src/components/dashboard/machinary-office/Form/ConfirmForm/ConfirmContent.jsx @@ -1,19 +1,10 @@ import UploadSystem from "@/core/components/UploadSystem"; import useNotification from "@/lib/app/hooks/useNotification"; import useRequest from "@/lib/app/hooks/useRequest"; -import { - Button, - DialogActions, - DialogContent, - FormHelperText, - Stack, - TextField, - Typography -} from "@mui/material" +import {Button, DialogActions, DialogContent, FormHelperText, Stack, TextField, Typography} from "@mui/material" import {useFormik} from "formik"; import {useTranslations} from "next-intl"; import {CONFIRM_MACHINARY_OFFICE} from "@/core/data/apiRoutes"; -import UploadFileNotification from "@/core/components/notifications/UploadFileNotification"; import {useState} from "react"; import PriceField from "@/core/components/PriceField"; import * as Yup from "yup"; @@ -79,19 +70,14 @@ const ConfirmContent = ({rowId, mutate, setOpenConfirmDialog}) => { const handleUploadChange = (event) => { const uploadedFile = event.target?.files?.[0]; if (uploadedFile) { - const maxFileSize = 2 * 1024 * 1024; - if (uploadedFile.size > maxFileSize) { - UploadFileNotification(t); - event.target.value = ""; - return; - } - const fileType = event.target?.files?.[0].type; const fileName = event.target?.files?.[0].name; setSelectedImage(URL.createObjectURL(uploadedFile)); setfileType(fileType); setfileName(fileName); - formik.setFieldValue("confirm_img", uploadedFile); + formik.setFieldValue("confirm_img", uploadedFile).then(() => { + formik.setFieldTouched("confirm_img", true); + }) setShowAddIcon(false); } }; @@ -164,16 +150,13 @@ const ConfirmContent = ({rowId, mutate, setOpenConfirmDialog}) => { formik.touched.confirm_img && Boolean(formik.errors.confirm_img) } - helperText={ - formik.touched.confirm_img && formik.errors.confirm_img - } setShowAddIcon={setShowAddIcon} showAddIcon={showAddIcon} /> - {formik.errors.confirm_img ? formik.errors.confirm_img : null} + {formik.touched.confirm_img && formik.errors.confirm_img} diff --git a/src/components/dashboard/passenger-boss/Form/ConfirmForm/ConfirmContent.jsx b/src/components/dashboard/passenger-boss/Form/ConfirmForm/ConfirmContent.jsx index d189a6b..e51d01c 100644 --- a/src/components/dashboard/passenger-boss/Form/ConfirmForm/ConfirmContent.jsx +++ b/src/components/dashboard/passenger-boss/Form/ConfirmForm/ConfirmContent.jsx @@ -1,11 +1,10 @@ import UploadSystem from "@/core/components/UploadSystem"; import useNotification from "@/lib/app/hooks/useNotification"; import useRequest from "@/lib/app/hooks/useRequest"; -import {Button, DialogActions, DialogContent, Stack, TextField, Typography} from "@mui/material" +import {Button, DialogActions, DialogContent, FormHelperText, Stack, TextField, Typography} from "@mui/material" import {useFormik} from "formik"; import {useTranslations} from "next-intl"; import {CONFIRM_PASSENGER_BOSS} from "@/core/data/apiRoutes"; -import UploadFileNotification from "@/core/components/notifications/UploadFileNotification"; import {useState} from "react"; import PriceField from "@/core/components/PriceField"; import * as Yup from "yup"; @@ -25,7 +24,16 @@ const ConfirmContent = ({rowId, mutate, setOpenConfirmDialog}) => { `${t("ConfirmDialog.approved_amount_number")}`, (value) => !isNaN(value) ).test("positive", `${t("ConfirmDialog.approved_amount_positive")}`, (value) => value >= 0) - .required(t("ConfirmDialog.approved_amount_error")) + .required(t("ConfirmDialog.approved_amount_error")), + confirm_img: Yup.mixed() + .required(t("PassengerBoss.upload_file_required")) + .test('fileSize', `${t("PassengerBoss.upload_file_unit")}`, (value) => { + return value.size <= 2 * 1024 * 1024; + }) + .test('fileType', `${t("PassengerBoss.upload_file_format")}`, (value) => { + const allowedTypes = ['image/jpg', 'image/png', 'application/pdf']; // Define your allowed file types + return allowedTypes.includes(value.type); + }) }); const formik = useFormik({ @@ -38,7 +46,7 @@ const ConfirmContent = ({rowId, mutate, setOpenConfirmDialog}) => { const formData = new FormData(); formData.append("approved_amount", values.approved_amount); if (values.description != "") formData.append("expert_description", values.description); - if (values.confirm_img != null) formData.append("attachment", values.confirm_img); + formData.append("attachment", values.confirm_img); requestServer(`${CONFIRM_PASSENGER_BOSS}/${rowId}`, 'post', { data: formData, @@ -60,19 +68,14 @@ const ConfirmContent = ({rowId, mutate, setOpenConfirmDialog}) => { const handleUploadChange = (event) => { const uploadedFile = event.target?.files?.[0]; if (uploadedFile) { - const maxFileSize = 2 * 1024 * 1024; - if (uploadedFile.size > maxFileSize) { - UploadFileNotification(t); - event.target.value = ""; - return; - } - const fileType = event.target?.files?.[0].type; const fileName = event.target?.files?.[0].name; setSelectedImage(URL.createObjectURL(uploadedFile)); setfileType(fileType); setfileName(fileName); - formik.setFieldValue("confirm_img", uploadedFile); + formik.setFieldValue("confirm_img", uploadedFile).then(() => { + formik.setFieldTouched("confirm_img", true); + }) setShowAddIcon(false); } }; @@ -83,7 +86,6 @@ const ConfirmContent = ({rowId, mutate, setOpenConfirmDialog}) => { formik.setFieldValue("approved_amount", formik.values.approved_amount) } }; - return ( <> @@ -129,7 +131,7 @@ const ConfirmContent = ({rowId, mutate, setOpenConfirmDialog}) => { /> - {t("UploadSystem.upload_file")}{t("UploadSystem.optional")} + {t("PassengerBoss.upload_file")} { imageSize={[250, 150]} setShowAddIcon={setShowAddIcon} showAddIcon={showAddIcon} + onBlur={() => formik.handleBlur("confirm_img")} + error={ + formik.touched.confirm_img && + Boolean(formik.errors.confirm_img) + } /> + + {formik.touched.confirm_img && formik.errors.confirm_img} + diff --git a/src/core/components/UploadSystem.jsx b/src/core/components/UploadSystem.jsx index 5bdec75..7a25890 100644 --- a/src/core/components/UploadSystem.jsx +++ b/src/core/components/UploadSystem.jsx @@ -18,7 +18,6 @@ const UploadSystem = ({ }) => { const t = useTranslations(); const fileInputRef = useRef(null); - const handleClick = () => { fileInputRef.current.click(); }; From 1bd2f4938b8a0e012290cd823ad865cda765aa1c Mon Sep 17 00:00:00 2001 From: AminGhasempoor Date: Tue, 7 Nov 2023 11:25:41 +0330 Subject: [PATCH 5/8] LFFE-18 make cofirm img validation on format and size in passenger office --- .../Form/ConfirmForm/ConfirmContent.jsx | 42 +++++++++++++------ 1 file changed, 30 insertions(+), 12 deletions(-) diff --git a/src/components/dashboard/passenger-office/Form/ConfirmForm/ConfirmContent.jsx b/src/components/dashboard/passenger-office/Form/ConfirmForm/ConfirmContent.jsx index 46a735f..2a6084b 100644 --- a/src/components/dashboard/passenger-office/Form/ConfirmForm/ConfirmContent.jsx +++ b/src/components/dashboard/passenger-office/Form/ConfirmForm/ConfirmContent.jsx @@ -1,12 +1,12 @@ import UploadSystem from "@/core/components/UploadSystem"; import useNotification from "@/lib/app/hooks/useNotification"; import useRequest from "@/lib/app/hooks/useRequest"; -import {Button, DialogActions, DialogContent, Stack, TextField, Typography} from "@mui/material" +import {Button, DialogActions, DialogContent, FormHelperText, Stack, TextField, Typography} from "@mui/material" import {useFormik} from "formik"; import {useTranslations} from "next-intl"; import {CONFIRM_PASSENGER_OFFICE} from "@/core/data/apiRoutes"; -import UploadFileNotification from "@/core/components/notifications/UploadFileNotification"; import {useState} from "react"; +import * as Yup from "yup"; const ConfirmContent = ({rowId, mutate, setOpenConfirmDialog}) => { const t = useTranslations(); @@ -17,11 +17,24 @@ const ConfirmContent = ({rowId, mutate, setOpenConfirmDialog}) => { const requestServer = useRequest({auth: true}) const {update_notification} = useNotification() + const validationSchema = Yup.object().shape({ + confirm_img: Yup.mixed().notRequired(t("ConfirmDialog.approved_amount_error")) + .test('fileSize', `${t("PassengerBoss.upload_file_unit")}`, (value) => { + if (!value) return true + return value.size <= 2 * 1024 * 1024; + }) + .test('fileType', `${t("PassengerBoss.upload_file_format")}`, (value) => { + if (!value) return true + const allowedTypes = ['image/jpg', 'image/png', 'application/pdf']; // Define your allowed file types + return allowedTypes.includes(value.type); + }) + }) + const formik = useFormik({ initialValues: { description: "", confirm_img: null - }, + }, validationSchema, onSubmit: (values, {setSubmitting}) => { const formData = new FormData(); if (values.description != "") formData.append("description", values.description); @@ -47,19 +60,14 @@ const ConfirmContent = ({rowId, mutate, setOpenConfirmDialog}) => { const handleUploadChange = (event) => { const uploadedFile = event.target?.files?.[0]; if (uploadedFile) { - const maxFileSize = 2 * 1024 * 1024; - if (uploadedFile.size > maxFileSize) { - UploadFileNotification(t); - event.target.value = ""; - return; - } - const fileType = event.target?.files?.[0].type; const fileName = event.target?.files?.[0].name; setSelectedImage(URL.createObjectURL(uploadedFile)); setfileType(fileType); setfileName(fileName); - formik.setFieldValue("confirm_img", uploadedFile); + formik.setFieldValue("confirm_img", uploadedFile).then(() => { + formik.setFieldTouched("confirm_img", true); + }) setShowAddIcon(false); } }; @@ -96,7 +104,17 @@ const ConfirmContent = ({rowId, mutate, setOpenConfirmDialog}) => { imageSize={[250, 150]} setShowAddIcon={setShowAddIcon} showAddIcon={showAddIcon} + onBlur={() => formik.handleBlur("confirm_img")} + error={ + formik.touched.confirm_img && + Boolean(formik.errors.confirm_img) + } /> + + {formik.touched.confirm_img && formik.errors.confirm_img} + @@ -106,7 +124,7 @@ const ConfirmContent = ({rowId, mutate, setOpenConfirmDialog}) => { {t("ConfirmDialog.button-cancel")} From 8e067bcb58467b443f3c9bca7c652d5a13965234 Mon Sep 17 00:00:00 2001 From: AminGhasempoor Date: Tue, 7 Nov 2023 11:38:52 +0330 Subject: [PATCH 6/8] LFFE-18 make cofirm img validation on format and size in province manager and transportation --- public/locales/fa/app.json | 12 ++++-- .../Form/ConfirmForm/ConfirmContent.jsx | 42 +++++++++++++------ .../Form/ConfirmForm/ConfirmContent.jsx | 4 +- .../Form/ConfirmForm/ConfirmContent.jsx | 42 +++++++++++++------ 4 files changed, 71 insertions(+), 29 deletions(-) diff --git a/public/locales/fa/app.json b/public/locales/fa/app.json index 0500aa2..9381558 100644 --- a/public/locales/fa/app.json +++ b/public/locales/fa/app.json @@ -161,7 +161,9 @@ "navgan_id": "کد ناوگان", "vehicle_type": "نوع ماشین", "state_name": "وضعیت درخواست", - "confirm": "ارجاع به کارشناس ماشین آلات" + "confirm": "ارجاع به کارشناس ماشین آلات", + "upload_file_unit": "فایل بارگذاری شده باید حداکثر 2Mb باشد", + "upload_file_format": "فرمت قابل قبول : png,jpg,pdf" }, "CommercialChief": { "name": "نام", @@ -184,7 +186,9 @@ "navgan_id": "کد ناوگان", "vehicle_type": "نوع ماشین", "state_name": "وضعیت درخواست", - "confirm": "تایید نهایی و ارجاع به بانک" + "confirm": "تایید نهایی و ارجاع به بانک", + "upload_file_unit": "فایل بارگذاری شده باید حداکثر 2Mb باشد", + "upload_file_format": "فرمت قابل قبول : png,jpg,pdf" }, "PassengerBoss": { "name": "نام", @@ -269,7 +273,9 @@ "navgan_id": "کد ناوگان", "vehicle_type": "نوع ماشین", "state_name": "وضعیت درخواست", - "confirm": "ارجاع به مدیر کل استانی" + "confirm": "ارجاع به مدیر کل استانی", + "upload_file_unit": "فایل بارگذاری شده باید حداکثر 2Mb باشد", + "upload_file_format": "فرمت قابل قبول : png,jpg,pdf" }, "InspectorExpert": { "name": "نام", diff --git a/src/components/dashboard/navgan-province-manager/Form/ConfirmForm/ConfirmContent.jsx b/src/components/dashboard/navgan-province-manager/Form/ConfirmForm/ConfirmContent.jsx index af9e93a..8ca532e 100644 --- a/src/components/dashboard/navgan-province-manager/Form/ConfirmForm/ConfirmContent.jsx +++ b/src/components/dashboard/navgan-province-manager/Form/ConfirmForm/ConfirmContent.jsx @@ -1,12 +1,12 @@ import UploadSystem from "@/core/components/UploadSystem"; import useNotification from "@/lib/app/hooks/useNotification"; import useRequest from "@/lib/app/hooks/useRequest"; -import {Button, DialogActions, DialogContent, Stack, TextField, Typography} from "@mui/material" +import {Button, DialogActions, DialogContent, FormHelperText, Stack, TextField, Typography} from "@mui/material" import {useFormik} from "formik"; import {useTranslations} from "next-intl"; import {CONFIRM_NAVGAN_PROVINCE_MANAGER} from "@/core/data/apiRoutes"; -import UploadFileNotification from "@/core/components/notifications/UploadFileNotification"; import {useState} from "react"; +import * as Yup from "yup"; const ConfirmContent = ({rowId, mutate, setOpenConfirmDialog}) => { const t = useTranslations(); @@ -17,11 +17,24 @@ const ConfirmContent = ({rowId, mutate, setOpenConfirmDialog}) => { const requestServer = useRequest({auth: true}) const {update_notification} = useNotification() + const validationSchema = Yup.object().shape({ + confirm_img: Yup.mixed().notRequired(t("ConfirmDialog.approved_amount_error")) + .test('fileSize', `${t("NavganProvinceManager.upload_file_unit")}`, (value) => { + if (!value) return true + return value.size <= 2 * 1024 * 1024; + }) + .test('fileType', `${t("NavganProvinceManager.upload_file_format")}`, (value) => { + if (!value) return true + const allowedTypes = ['image/jpg', 'image/png', 'application/pdf']; // Define your allowed file types + return allowedTypes.includes(value.type); + }) + }) + const formik = useFormik({ initialValues: { description: "", confirm_img: null - }, + }, validationSchema, onSubmit: (values, {setSubmitting}) => { const formData = new FormData(); if (values.description != "") formData.append("expert_description", values.description); @@ -47,19 +60,14 @@ const ConfirmContent = ({rowId, mutate, setOpenConfirmDialog}) => { const handleUploadChange = (event) => { const uploadedFile = event.target?.files?.[0]; if (uploadedFile) { - const maxFileSize = 2 * 1024 * 1024; - if (uploadedFile.size > maxFileSize) { - UploadFileNotification(t); - event.target.value = ""; - return; - } - const fileType = event.target?.files?.[0].type; const fileName = event.target?.files?.[0].name; setSelectedImage(URL.createObjectURL(uploadedFile)); setfileType(fileType); setfileName(fileName); - formik.setFieldValue("confirm_img", uploadedFile); + formik.setFieldValue("confirm_img", uploadedFile).then(() => { + formik.setFieldTouched("confirm_img", true); + }) setShowAddIcon(false); } }; @@ -96,7 +104,17 @@ const ConfirmContent = ({rowId, mutate, setOpenConfirmDialog}) => { imageSize={[250, 150]} setShowAddIcon={setShowAddIcon} showAddIcon={showAddIcon} + onBlur={() => formik.handleBlur("confirm_img")} + error={ + formik.touched.confirm_img && + Boolean(formik.errors.confirm_img) + } /> + + {formik.touched.confirm_img && formik.errors.confirm_img} + @@ -106,7 +124,7 @@ const ConfirmContent = ({rowId, mutate, setOpenConfirmDialog}) => { {t("ConfirmDialog.button-cancel")} diff --git a/src/components/dashboard/passenger-office/Form/ConfirmForm/ConfirmContent.jsx b/src/components/dashboard/passenger-office/Form/ConfirmForm/ConfirmContent.jsx index 2a6084b..458f8b5 100644 --- a/src/components/dashboard/passenger-office/Form/ConfirmForm/ConfirmContent.jsx +++ b/src/components/dashboard/passenger-office/Form/ConfirmForm/ConfirmContent.jsx @@ -19,11 +19,11 @@ const ConfirmContent = ({rowId, mutate, setOpenConfirmDialog}) => { const validationSchema = Yup.object().shape({ confirm_img: Yup.mixed().notRequired(t("ConfirmDialog.approved_amount_error")) - .test('fileSize', `${t("PassengerBoss.upload_file_unit")}`, (value) => { + .test('fileSize', `${t("PassengerOffice.upload_file_unit")}`, (value) => { if (!value) return true return value.size <= 2 * 1024 * 1024; }) - .test('fileType', `${t("PassengerBoss.upload_file_format")}`, (value) => { + .test('fileType', `${t("PassengerOffice.upload_file_format")}`, (value) => { if (!value) return true const allowedTypes = ['image/jpg', 'image/png', 'application/pdf']; // Define your allowed file types return allowedTypes.includes(value.type); diff --git a/src/components/dashboard/transportation-assistance/Form/ConfirmForm/ConfirmContent.jsx b/src/components/dashboard/transportation-assistance/Form/ConfirmForm/ConfirmContent.jsx index 52137c2..949dd04 100644 --- a/src/components/dashboard/transportation-assistance/Form/ConfirmForm/ConfirmContent.jsx +++ b/src/components/dashboard/transportation-assistance/Form/ConfirmForm/ConfirmContent.jsx @@ -1,12 +1,12 @@ import UploadSystem from "@/core/components/UploadSystem"; import useNotification from "@/lib/app/hooks/useNotification"; import useRequest from "@/lib/app/hooks/useRequest"; -import {Button, DialogActions, DialogContent, Stack, TextField, Typography} from "@mui/material" +import {Button, DialogActions, DialogContent, FormHelperText, Stack, TextField, Typography} from "@mui/material" import {useFormik} from "formik"; import {useTranslations} from "next-intl"; import {CONFIRM_TRANSPORTATION_ASSISTANCE} from "@/core/data/apiRoutes"; -import UploadFileNotification from "@/core/components/notifications/UploadFileNotification"; import {useState} from "react"; +import * as Yup from "yup"; const ConfirmContent = ({rowId, mutate, setOpenConfirmDialog}) => { const t = useTranslations(); @@ -17,11 +17,24 @@ const ConfirmContent = ({rowId, mutate, setOpenConfirmDialog}) => { const requestServer = useRequest({auth: true}) const {update_notification} = useNotification() + const validationSchema = Yup.object().shape({ + confirm_img: Yup.mixed().notRequired(t("ConfirmDialog.approved_amount_error")) + .test('fileSize', `${t("TransportationAssistance.upload_file_unit")}`, (value) => { + if (!value) return true + return value.size <= 2 * 1024 * 1024; + }) + .test('fileType', `${t("TransportationAssistance.upload_file_format")}`, (value) => { + if (!value) return true + const allowedTypes = ['image/jpg', 'image/png', 'application/pdf']; // Define your allowed file types + return allowedTypes.includes(value.type); + }) + }) + const formik = useFormik({ initialValues: { description: "", confirm_img: null - }, + }, validationSchema, onSubmit: (values, {setSubmitting}) => { const formData = new FormData(); if (values.description != "") formData.append("expert_description", values.description); @@ -47,19 +60,14 @@ const ConfirmContent = ({rowId, mutate, setOpenConfirmDialog}) => { const handleUploadChange = (event) => { const uploadedFile = event.target?.files?.[0]; if (uploadedFile) { - const maxFileSize = 2 * 1024 * 1024; - if (uploadedFile.size > maxFileSize) { - UploadFileNotification(t); - event.target.value = ""; - return; - } - const fileType = event.target?.files?.[0].type; const fileName = event.target?.files?.[0].name; setSelectedImage(URL.createObjectURL(uploadedFile)); setfileType(fileType); setfileName(fileName); - formik.setFieldValue("confirm_img", uploadedFile); + formik.setFieldValue("confirm_img", uploadedFile).then(() => { + formik.setFieldTouched("confirm_img", true); + }) setShowAddIcon(false); } }; @@ -96,7 +104,17 @@ const ConfirmContent = ({rowId, mutate, setOpenConfirmDialog}) => { imageSize={[250, 150]} setShowAddIcon={setShowAddIcon} showAddIcon={showAddIcon} + onBlur={() => formik.handleBlur("confirm_img")} + error={ + formik.touched.confirm_img && + Boolean(formik.errors.confirm_img) + } /> + + {formik.touched.confirm_img && formik.errors.confirm_img} + @@ -106,7 +124,7 @@ const ConfirmContent = ({rowId, mutate, setOpenConfirmDialog}) => { {t("ConfirmDialog.button-cancel")} From 38ee0622a605d185147a0e816395f2a41bc96769 Mon Sep 17 00:00:00 2001 From: AminGhasempoor Date: Tue, 7 Nov 2023 12:08:44 +0330 Subject: [PATCH 7/8] LFFE-18 make change text in file upload --- public/locales/fa/app.json | 8 ++++---- src/core/components/UploadSystem.jsx | 5 +++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/public/locales/fa/app.json b/public/locales/fa/app.json index 9381558..6aef6ea 100644 --- a/public/locales/fa/app.json +++ b/public/locales/fa/app.json @@ -201,7 +201,7 @@ "vehicle_type": "نوع ماشین", "state_name": "وضعیت درخواست", "confirm": "ارجاع به معاون حمل و نقل", - "upload_file": "صورت جلسه کارگروه را وارد کنید", + "upload_file": "صورت جلسه کارگروه را بارگذاری کنید", "upload_file_required": "وارد کردن صورت جلسه کارگروه الزامیست", "upload_file_unit": "فایل بارگذاری شده باید حداکثر 2Mb باشد", "upload_file_format": "فرمت قابل قبول : png,jpg,pdf" @@ -299,7 +299,7 @@ "vehicle_type": "نوع ماشین", "state_name": "وضعیت درخواست", "confirm": "ارجاع به کارگروه استانی", - "upload_file": "گزارش کارشناسی را وارد کنید", + "upload_file": "گزارش کارشناسی را بارگذاری کنید", "upload_file_required": "وارد کردن گزارش کارشناسی الزامیست", "upload_file_unit": "فایل بارگذاری شده باید حداکثر 2Mb باشد", "upload_file_format": "فرمت قابل قبول : png,jpg,pdf", @@ -390,9 +390,9 @@ "loading_permissions_list": "درحال دریافت لیست دسترسی ها" }, "UploadSystem": { - "upload_file": "فایل خود را بارگذاری کنید", + "upload_file": "بارگذاری فایل", "optional": " (اختیاری)", - "upload_file_unit": "حداکثر 2Mb", + "upload_file_unit": "فایل بارگذاری شده باید حداکثر 2Mb باشد", "upload_file_format": "فرمت قابل قبول : png,jpg,pdf", "delete": "پاک کردن", "phone_number": "شماره تلفن", diff --git a/src/core/components/UploadSystem.jsx b/src/core/components/UploadSystem.jsx index 7a25890..ea573d7 100644 --- a/src/core/components/UploadSystem.jsx +++ b/src/core/components/UploadSystem.jsx @@ -67,13 +67,14 @@ const UploadSystem = ({ variant="subtitle2" sx={{ fontWeight: 600, - fontSize: "1rem", + fontSize: "0.8rem", color: "#a19d9d", mt: 1, }} textAlign="center" > - {t("UploadSystem.upload_file")} + {t("UploadSystem.upload_file_format")}
+ {t("UploadSystem.upload_file_unit")} From 1d1f0a1ffec15bc8200a4e9799cc1b06c58a8575 Mon Sep 17 00:00:00 2001 From: AminGhasempoor Date: Tue, 7 Nov 2023 13:46:46 +0330 Subject: [PATCH 8/8] LFFE-18 appJson --- public/locales/fa/app.json | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/public/locales/fa/app.json b/public/locales/fa/app.json index a29657b..f3effaf 100644 --- a/public/locales/fa/app.json +++ b/public/locales/fa/app.json @@ -185,7 +185,10 @@ "updated_at": "تاریخ بروزرسانی", "navgan_id": "کد ناوگان", "vehicle_type": "نوع ماشین", - "state_name": "وضعیت درخواست" + "state_name": "وضعیت درخواست", + "confirm": "تایید نهایی و ارجاع به بانک", + "upload_file_unit": "فایل بارگذاری شده باید حداکثر 2Mb باشد", + "upload_file_format": "فرمت قابل قبول : png,jpg,pdf" }, "PassengerBoss": { "name": "نام", @@ -196,7 +199,12 @@ "updated_at": "تاریخ بروزرسانی", "navgan_id": "کد ناوگان", "vehicle_type": "نوع ماشین", - "state_name": "وضعیت درخواست" + "state_name": "وضعیت درخواست", + "confirm": "ارجاع به معاون حمل و نقل", + "upload_file": "صورت جلسه کارگروه استانی را بارگذاری کنید", + "upload_file_required": "وارد کردن صورت جلسه کارگروه استانی الزامیست", + "upload_file_unit": "فایل بارگذاری شده باید حداکثر 2Mb باشد", + "upload_file_format": "فرمت قابل قبول : png,jpg,pdf" }, "RefahiProvinceManager": { "name": "نام", @@ -264,7 +272,10 @@ "updated_at": "تاریخ بروزرسانی", "navgan_id": "کد ناوگان", "vehicle_type": "نوع ماشین", - "state_name": "وضعیت درخواست" + "state_name": "وضعیت درخواست", + "confirm": "ارجاع به مدیر کل استانی", + "upload_file_unit": "فایل بارگذاری شده باید حداکثر 2Mb باشد", + "upload_file_format": "فرمت قابل قبول : png,jpg,pdf" }, "InspectorExpert": { "name": "نام", @@ -286,7 +297,12 @@ "updated_at": "تاریخ بروزرسانی", "navgan_id": "کد ناوگان", "vehicle_type": "نوع ماشین", - "state_name": "وضعیت درخواست" + "state_name": "وضعیت درخواست", + "confirm": "ارجاع به کارگروه استانی", + "upload_file": "گزارش کارشناسی را بارگذاری کنید", + "upload_file_required": "وارد کردن گزارش کارشناسی الزامیست", + "upload_file_unit": "فایل بارگذاری شده باید حداکثر 2Mb باشد", + "upload_file_format": "فرمت قابل قبول : png,jpg,pdf" }, "UserManagement": { "name": "نام", @@ -324,7 +340,8 @@ "toman": "تومان", "proposed_amount_error": "وارد کردن مقدار پیشنهادی الزامیست", "proposed_amount": "مقدار پیشنهادی", - "proposed_amount_positive": "مقدار پیشنهادی باید مثبت باشد" + "proposed_amount_positive": "مقدار پیشنهادی باید مثبت باشد", + "proposed_amount_number": "مقدار پیشنهادی باید عدد باشد" }, "ReviseDialog": { "revise": " نیاز به ویرایش",