@@ -99,7 +94,6 @@ export default function ReadItem({ config, selectedItem }) {
{currentErp.emailSubject}
Body
-
>
);
diff --git a/frontend/src/modules/EmailModule/ReadEmailModule/index.jsx b/frontend/src/modules/EmailModule/ReadEmailModule/index.jsx
index 5e037e534..e839575f7 100644
--- a/frontend/src/modules/EmailModule/ReadEmailModule/index.jsx
+++ b/frontend/src/modules/EmailModule/ReadEmailModule/index.jsx
@@ -7,6 +7,7 @@ import { erp } from '@/redux/erp/actions';
import { selectReadItem } from '@/redux/erp/selectors';
import { useLayoutEffect } from 'react';
import { useDispatch, useSelector } from 'react-redux';
+import { selectCurrentLang } from '@/redux/lang/selectors';
import { useParams, useHistory } from 'react-router-dom';
export default function ReadEmailModule({ config }) {
diff --git a/frontend/src/modules/EmailModule/UpdateEmailModule/componenets/EmailForm.jsx b/frontend/src/modules/EmailModule/UpdateEmailModule/componenets/EmailForm.jsx
index c23105b11..9dcdd40de 100644
--- a/frontend/src/modules/EmailModule/UpdateEmailModule/componenets/EmailForm.jsx
+++ b/frontend/src/modules/EmailModule/UpdateEmailModule/componenets/EmailForm.jsx
@@ -3,6 +3,8 @@ import { Form, Input, InputNumber, Button, Select, Divider, Row, Col, Typography
import ReactQuill from 'react-quill';
import 'react-quill/dist/quill.snow.css';
import { PlusOutlined } from '@ant-design/icons';
+import { useSelector } from 'react-redux';
+import { selectCurrentLang } from '@/redux/lang/selectors';
const { Paragraph } = Typography;
diff --git a/frontend/src/modules/EmailModule/UpdateEmailModule/index.jsx b/frontend/src/modules/EmailModule/UpdateEmailModule/index.jsx
index 31225759f..fe2f25449 100644
--- a/frontend/src/modules/EmailModule/UpdateEmailModule/index.jsx
+++ b/frontend/src/modules/EmailModule/UpdateEmailModule/index.jsx
@@ -10,6 +10,7 @@ import { erp } from '@/redux/erp/actions';
import { selectReadItem } from '@/redux/erp/selectors';
import { useLayoutEffect } from 'react';
import { useDispatch, useSelector } from 'react-redux';
+import { selectCurrentLang } from '@/redux/lang/selectors';
import { useParams, useHistory } from 'react-router-dom';
export default function UpdateEmailModule({ config }) {
diff --git a/frontend/src/modules/ErpPanelModule/CreateItem.jsx b/frontend/src/modules/ErpPanelModule/CreateItem.jsx
index c8bd0ded6..ade4ed082 100644
--- a/frontend/src/modules/ErpPanelModule/CreateItem.jsx
+++ b/frontend/src/modules/ErpPanelModule/CreateItem.jsx
@@ -5,6 +5,8 @@ import { Button, PageHeader, Tag } from 'antd';
import { useSelector, useDispatch } from 'react-redux';
+import { selectCurrentLang } from '@/redux/lang/selectors';
+
import { settingsAction } from '@/redux/settings/actions';
import { erp } from '@/redux/erp/actions';
import { selectCreatedItem } from '@/redux/erp/selectors';
diff --git a/frontend/src/modules/ErpPanelModule/DataTable.jsx b/frontend/src/modules/ErpPanelModule/DataTable.jsx
index 8486d0fdb..131316f03 100644
--- a/frontend/src/modules/ErpPanelModule/DataTable.jsx
+++ b/frontend/src/modules/ErpPanelModule/DataTable.jsx
@@ -3,6 +3,7 @@ import { Descriptions, Dropdown, Table } from 'antd';
import { Button, PageHeader } from 'antd';
import { EllipsisOutlined } from '@ant-design/icons';
import { useSelector, useDispatch } from 'react-redux';
+import { selectCurrentLang } from '@/redux/lang/selectors';
import { erp } from '@/redux/erp/actions';
import { selectListItems } from '@/redux/erp/selectors';
import { useErpContext } from '@/context/erp';
diff --git a/frontend/src/modules/ErpPanelModule/DeleteItem.jsx b/frontend/src/modules/ErpPanelModule/DeleteItem.jsx
index 9587abff1..77a69db4a 100644
--- a/frontend/src/modules/ErpPanelModule/DeleteItem.jsx
+++ b/frontend/src/modules/ErpPanelModule/DeleteItem.jsx
@@ -2,6 +2,7 @@ import React, { useEffect, useState } from 'react';
import { Modal } from 'antd';
import { useDispatch, useSelector } from 'react-redux';
+import { selectCurrentLang } from '@/redux/lang/selectors';
import { erp } from '@/redux/erp/actions';
import { useErpContext } from '@/context/erp';
import { selectDeletedItem } from '@/redux/erp/selectors';
diff --git a/frontend/src/modules/ErpPanelModule/ReadItem.jsx b/frontend/src/modules/ErpPanelModule/ReadItem.jsx
index 9e5a8bb94..b223b444e 100644
--- a/frontend/src/modules/ErpPanelModule/ReadItem.jsx
+++ b/frontend/src/modules/ErpPanelModule/ReadItem.jsx
@@ -11,6 +11,7 @@ import {
} from '@ant-design/icons';
import { useSelector, useDispatch } from 'react-redux';
+import { selectCurrentLang } from '@/redux/lang/selectors';
import { erp } from '@/redux/erp/actions';
import uniqueId from '@/utils/uinqueId';
diff --git a/frontend/src/modules/ErpPanelModule/UpdateItem.jsx b/frontend/src/modules/ErpPanelModule/UpdateItem.jsx
index 41292bc51..eb873243e 100644
--- a/frontend/src/modules/ErpPanelModule/UpdateItem.jsx
+++ b/frontend/src/modules/ErpPanelModule/UpdateItem.jsx
@@ -4,6 +4,7 @@ import dayjs from 'dayjs';
import { Button, PageHeader, Row, Col, Tag } from 'antd';
import { useSelector, useDispatch } from 'react-redux';
+import { selectCurrentLang } from '@/redux/lang/selectors';
import { erp } from '@/redux/erp/actions';
import calculate from '@/utils/calculate';
diff --git a/frontend/src/modules/InvoiceModule/Forms/InvoiceForm.jsx b/frontend/src/modules/InvoiceModule/Forms/InvoiceForm.jsx
index 769179fd6..e2e0e6b03 100644
--- a/frontend/src/modules/InvoiceModule/Forms/InvoiceForm.jsx
+++ b/frontend/src/modules/InvoiceModule/Forms/InvoiceForm.jsx
@@ -12,6 +12,7 @@ import ItemRow from '@/modules/ErpPanelModule/ItemRow';
import MoneyInputFormItem from '@/components/MoneyInputFormItem';
import { selectFinanceSettings } from '@/redux/settings/selectors';
+import { selectCurrentLang } from '@/redux/lang/selectors';
import calculate from '@/utils/calculate';
import { useSelector } from 'react-redux';
diff --git a/frontend/src/modules/InvoiceModule/InvoiceDataTableModule/components/DataTableDropMenu.jsx b/frontend/src/modules/InvoiceModule/InvoiceDataTableModule/components/DataTableDropMenu.jsx
index 2792c23c3..61d212a5c 100644
--- a/frontend/src/modules/InvoiceModule/InvoiceDataTableModule/components/DataTableDropMenu.jsx
+++ b/frontend/src/modules/InvoiceModule/InvoiceDataTableModule/components/DataTableDropMenu.jsx
@@ -8,6 +8,7 @@ import {
CreditCardOutlined,
} from '@ant-design/icons';
import { useSelector, useDispatch } from 'react-redux';
+import { selectCurrentLang } from '@/redux/lang/selectors';
import { erp } from '@/redux/erp/actions';
import { selectItemById } from '@/redux/erp/selectors';
import { useErpContext } from '@/context/erp';
diff --git a/frontend/src/modules/InvoiceModule/ReadInvoiceModule/index.jsx b/frontend/src/modules/InvoiceModule/ReadInvoiceModule/index.jsx
index b6cb19466..3304b028f 100644
--- a/frontend/src/modules/InvoiceModule/ReadInvoiceModule/index.jsx
+++ b/frontend/src/modules/InvoiceModule/ReadInvoiceModule/index.jsx
@@ -7,6 +7,7 @@ import { erp } from '@/redux/erp/actions';
import { selectReadItem } from '@/redux/erp/selectors';
import { useLayoutEffect } from 'react';
import { useDispatch, useSelector } from 'react-redux';
+import { selectCurrentLang } from '@/redux/lang/selectors';
import { useParams, useHistory } from 'react-router-dom';
export default function ReadInvoiceModule({ config }) {
diff --git a/frontend/src/modules/InvoiceModule/RecordPaymentModule/components/Payment.jsx b/frontend/src/modules/InvoiceModule/RecordPaymentModule/components/Payment.jsx
index b20a96f0d..193f9c13d 100644
--- a/frontend/src/modules/InvoiceModule/RecordPaymentModule/components/Payment.jsx
+++ b/frontend/src/modules/InvoiceModule/RecordPaymentModule/components/Payment.jsx
@@ -11,6 +11,7 @@ import { useMoney } from '@/settings';
import RecordPayment from './RecordPayment';
import { useSelector } from 'react-redux';
+import { selectCurrentLang } from '@/redux/lang/selectors';
import { selectRecordPaymentItem } from '@/redux/erp/selectors';
import history from '@/utils/history';
diff --git a/frontend/src/modules/InvoiceModule/RecordPaymentModule/components/RecordPayment.jsx b/frontend/src/modules/InvoiceModule/RecordPaymentModule/components/RecordPayment.jsx
index 7b94d330d..8d92a4533 100644
--- a/frontend/src/modules/InvoiceModule/RecordPaymentModule/components/RecordPayment.jsx
+++ b/frontend/src/modules/InvoiceModule/RecordPaymentModule/components/RecordPayment.jsx
@@ -4,7 +4,7 @@ import { Form, Divider, Button, PageHeader, Tag } from 'antd';
import { useSelector, useDispatch } from 'react-redux';
import { erp } from '@/redux/erp/actions';
import { selectCurrentItem, selectRecordPaymentItem } from '@/redux/erp/selectors';
-
+import { selectCurrentLang } from '@/redux/lang/selectors';
import { useErpContext } from '@/context/erp';
import Loading from '@/components/Loading';
diff --git a/frontend/src/modules/InvoiceModule/UpdateInvoiceModule/index.jsx b/frontend/src/modules/InvoiceModule/UpdateInvoiceModule/index.jsx
index 8e68ac481..e03679076 100644
--- a/frontend/src/modules/InvoiceModule/UpdateInvoiceModule/index.jsx
+++ b/frontend/src/modules/InvoiceModule/UpdateInvoiceModule/index.jsx
@@ -7,6 +7,7 @@ import InvoiceForm from '@/modules/InvoiceModule/Forms/InvoiceForm';
import PageLoader from '@/components/PageLoader';
import { erp } from '@/redux/erp/actions';
+import { selectCurrentLang } from '@/redux/lang/selectors';
import { selectReadItem } from '@/redux/erp/selectors';
import { useLayoutEffect } from 'react';
import { useDispatch, useSelector } from 'react-redux';
diff --git a/frontend/src/modules/OfferModule/Forms/OfferForm.jsx b/frontend/src/modules/OfferModule/Forms/OfferForm.jsx
index 1447a6c6c..2358b7bb8 100644
--- a/frontend/src/modules/OfferModule/Forms/OfferForm.jsx
+++ b/frontend/src/modules/OfferModule/Forms/OfferForm.jsx
@@ -16,6 +16,7 @@ import calculate from '@/utils/calculate';
import { selectFinanceSettings } from '@/redux/settings/selectors';
import { useSelector } from 'react-redux';
+import { selectCurrentLang } from '@/redux/lang/selectors';
export default function OfferForm({ subTotal = 0, current = null }) {
const { last_offer_number } = useSelector(selectFinanceSettings);
diff --git a/frontend/src/modules/OfferModule/OfferDataTableModule/components/DataTableDropMenu.jsx b/frontend/src/modules/OfferModule/OfferDataTableModule/components/DataTableDropMenu.jsx
index 1bef9d1b2..2c652a408 100644
--- a/frontend/src/modules/OfferModule/OfferDataTableModule/components/DataTableDropMenu.jsx
+++ b/frontend/src/modules/OfferModule/OfferDataTableModule/components/DataTableDropMenu.jsx
@@ -8,6 +8,7 @@ import {
CreditCardOutlined,
} from '@ant-design/icons';
import { useSelector, useDispatch } from 'react-redux';
+import { selectCurrentLang } from '@/redux/lang/selectors';
import { erp } from '@/redux/erp/actions';
import { selectItemById } from '@/redux/erp/selectors';
import { useErpContext } from '@/context/erp';
diff --git a/frontend/src/modules/OfferModule/ReadOfferModule/ReadOfferItem.jsx b/frontend/src/modules/OfferModule/ReadOfferModule/ReadOfferItem.jsx
index 20bc76a55..a2ecfbd27 100644
--- a/frontend/src/modules/OfferModule/ReadOfferModule/ReadOfferItem.jsx
+++ b/frontend/src/modules/OfferModule/ReadOfferModule/ReadOfferItem.jsx
@@ -11,6 +11,7 @@ import {
} from '@ant-design/icons';
import { useSelector, useDispatch } from 'react-redux';
+import { selectCurrentLang } from '@/redux/lang/selectors';
import { erp } from '@/redux/erp/actions';
import uniqueId from '@/utils/uinqueId';
diff --git a/frontend/src/modules/OfferModule/ReadOfferModule/index.jsx b/frontend/src/modules/OfferModule/ReadOfferModule/index.jsx
index 104d3a339..32a0ebec8 100644
--- a/frontend/src/modules/OfferModule/ReadOfferModule/index.jsx
+++ b/frontend/src/modules/OfferModule/ReadOfferModule/index.jsx
@@ -4,6 +4,7 @@ import ReadOfferItem from './ReadOfferItem';
import PageLoader from '@/components/PageLoader';
import { erp } from '@/redux/erp/actions';
+import { selectCurrentLang } from '@/redux/lang/selectors';
import { selectReadItem } from '@/redux/erp/selectors';
import { useLayoutEffect } from 'react';
import { useDispatch, useSelector } from 'react-redux';
diff --git a/frontend/src/modules/OfferModule/UpdateOfferModule/index.jsx b/frontend/src/modules/OfferModule/UpdateOfferModule/index.jsx
index a4d0b58e2..6800ffd5e 100644
--- a/frontend/src/modules/OfferModule/UpdateOfferModule/index.jsx
+++ b/frontend/src/modules/OfferModule/UpdateOfferModule/index.jsx
@@ -7,6 +7,7 @@ import OfferForm from '@/modules/OfferModule/Forms/OfferForm';
import PageLoader from '@/components/PageLoader';
import { erp } from '@/redux/erp/actions';
+import { selectCurrentLang } from '@/redux/lang/selectors';
import { selectReadItem } from '@/redux/erp/selectors';
import { useLayoutEffect } from 'react';
import { useDispatch, useSelector } from 'react-redux';
diff --git a/frontend/src/modules/PaymentModule/Forms/PaymentForm.jsx b/frontend/src/modules/PaymentModule/Forms/PaymentForm.jsx
index 73a78c173..72f713597 100644
--- a/frontend/src/modules/PaymentModule/Forms/PaymentForm.jsx
+++ b/frontend/src/modules/PaymentModule/Forms/PaymentForm.jsx
@@ -4,6 +4,8 @@ import { Form, Input, InputNumber } from 'antd';
import { DatePicker } from '@/components/CustomAntd';
import SelectAsync from '@/components/SelectAsync';
import { useMoney } from '@/settings';
+import { selectCurrentLang } from '@/redux/lang/selectors';
+
export default function PaymentForm({ maxAmount = null, current = null }) {
const { TextArea } = Input;
const money = useMoney();
diff --git a/frontend/src/modules/PaymentModule/PaymentDataTableModule/components/DataTableDropMenu.jsx b/frontend/src/modules/PaymentModule/PaymentDataTableModule/components/DataTableDropMenu.jsx
index 344a5d20c..84aa0fbff 100644
--- a/frontend/src/modules/PaymentModule/PaymentDataTableModule/components/DataTableDropMenu.jsx
+++ b/frontend/src/modules/PaymentModule/PaymentDataTableModule/components/DataTableDropMenu.jsx
@@ -9,6 +9,7 @@ import {
} from '@ant-design/icons';
import { useSelector, useDispatch } from 'react-redux';
import { erp } from '@/redux/erp/actions';
+import { selectCurrentLang } from '@/redux/lang/selectors';
import { selectItemById } from '@/redux/erp/selectors';
import { useErpContext } from '@/context/erp';
diff --git a/frontend/src/modules/PaymentModule/PaymentDataTableModule/components/PaymentDataTable.jsx b/frontend/src/modules/PaymentModule/PaymentDataTableModule/components/PaymentDataTable.jsx
index 34cfaa5d6..99ce57dde 100644
--- a/frontend/src/modules/PaymentModule/PaymentDataTableModule/components/PaymentDataTable.jsx
+++ b/frontend/src/modules/PaymentModule/PaymentDataTableModule/components/PaymentDataTable.jsx
@@ -4,6 +4,7 @@ import { Button, PageHeader } from 'antd';
import { EllipsisOutlined } from '@ant-design/icons';
import { useSelector, useDispatch } from 'react-redux';
import { erp } from '@/redux/erp/actions';
+import { selectCurrentLang } from '@/redux/lang/selectors';
import { selectListItems } from '@/redux/erp/selectors';
import { useErpContext } from '@/context/erp';
import uniqueId from '@/utils/uinqueId';
diff --git a/frontend/src/modules/PaymentModule/ReadPaymentModule/components/ReadItem.jsx b/frontend/src/modules/PaymentModule/ReadPaymentModule/components/ReadItem.jsx
index 84b51975f..386e69b12 100644
--- a/frontend/src/modules/PaymentModule/ReadPaymentModule/components/ReadItem.jsx
+++ b/frontend/src/modules/PaymentModule/ReadPaymentModule/components/ReadItem.jsx
@@ -13,6 +13,7 @@ import {
import { useSelector, useDispatch } from 'react-redux';
import { erp } from '@/redux/erp/actions';
+import { selectCurrentLang } from '@/redux/lang/selectors';
import { useErpContext } from '@/context/erp';
import uniqueId from '@/utils/uinqueId';
diff --git a/frontend/src/modules/PaymentModule/UpdatePaymentModule/components/Payment.jsx b/frontend/src/modules/PaymentModule/UpdatePaymentModule/components/Payment.jsx
index bfa4f2814..41322911a 100644
--- a/frontend/src/modules/PaymentModule/UpdatePaymentModule/components/Payment.jsx
+++ b/frontend/src/modules/PaymentModule/UpdatePaymentModule/components/Payment.jsx
@@ -5,6 +5,8 @@ import { FileTextOutlined, CloseCircleOutlined } from '@ant-design/icons';
import uniqueId from '@/utils/uinqueId';
import { useMoney } from '@/settings';
import history from '@/utils/history';
+import { useSelector } from 'react-redux';
+import { selectCurrentLang } from '@/redux/lang/selectors';
import UpdatePayment from './UpdatePayment';
export default function Payment({ config, currentItem }) {
diff --git a/frontend/src/modules/PaymentModule/UpdatePaymentModule/components/UpdatePayment.jsx b/frontend/src/modules/PaymentModule/UpdatePaymentModule/components/UpdatePayment.jsx
index 7c314d964..5f5202df9 100644
--- a/frontend/src/modules/PaymentModule/UpdatePaymentModule/components/UpdatePayment.jsx
+++ b/frontend/src/modules/PaymentModule/UpdatePaymentModule/components/UpdatePayment.jsx
@@ -7,6 +7,8 @@ import { selectUpdatedItem } from '@/redux/erp/selectors';
import { useErpContext } from '@/context/erp';
+import { selectCurrentLang } from '@/redux/lang/selectors';
+
import Loading from '@/components/Loading';
import calculate from '@/utils/calculate';
diff --git a/frontend/src/modules/ProfileModule/components/AdminInfo.jsx b/frontend/src/modules/ProfileModule/components/AdminInfo.jsx
index 14b3f9002..9d9324d7c 100644
--- a/frontend/src/modules/ProfileModule/components/AdminInfo.jsx
+++ b/frontend/src/modules/ProfileModule/components/AdminInfo.jsx
@@ -7,6 +7,8 @@ import photo from '@/style/images/photo.png';
import history from '@/utils/history';
import { selectCurrentItem, selectReadItem } from '@/redux/crud/selectors';
import { selectCurrentAdmin } from '@/redux/auth/selectors';
+
+import { selectCurrentLang } from '@/redux/lang/selectors';
import { BASE_URL } from '@/config/serverApiConfig';
import { checkImage } from '@/request';
diff --git a/frontend/src/modules/ProfileModule/components/PasswordModal.jsx b/frontend/src/modules/ProfileModule/components/PasswordModal.jsx
index d5d5290af..8b0cdd7a5 100644
--- a/frontend/src/modules/ProfileModule/components/PasswordModal.jsx
+++ b/frontend/src/modules/ProfileModule/components/PasswordModal.jsx
@@ -3,6 +3,8 @@ import useOnFetch from '@/hooks/useOnFetch';
import { request } from '@/request';
import { Button, Form, Input, Modal } from 'antd';
import React, { useEffect } from 'react';
+import { useSelector } from 'react-redux';
+import { selectCurrentLang } from '@/redux/lang/selectors';
const PasswordModal = ({ config }) => {
const { state, profileContextAction } = useProfileContext();
diff --git a/frontend/src/modules/ProfileModule/components/UpdateAdmin.jsx b/frontend/src/modules/ProfileModule/components/UpdateAdmin.jsx
index af0b30883..5f5f4b490 100644
--- a/frontend/src/modules/ProfileModule/components/UpdateAdmin.jsx
+++ b/frontend/src/modules/ProfileModule/components/UpdateAdmin.jsx
@@ -10,6 +10,8 @@ import { updateProfile } from '@/redux/auth/actions';
import { selectCurrentAdmin } from '@/redux/auth/selectors';
+import { selectCurrentLang } from '@/redux/lang/selectors';
+
const UpdateAdmin = ({ config }) => {
const { profileContextAction } = useProfileContext();
const { updatePanel } = profileContextAction;
diff --git a/frontend/src/modules/ProfileModule/components/UploadImg.jsx b/frontend/src/modules/ProfileModule/components/UploadImg.jsx
index d4a55e099..00118db41 100644
--- a/frontend/src/modules/ProfileModule/components/UploadImg.jsx
+++ b/frontend/src/modules/ProfileModule/components/UploadImg.jsx
@@ -1,5 +1,7 @@
import { UploadOutlined } from '@ant-design/icons';
import { message, Upload, Form, Button } from 'antd';
+import { useSelector } from 'react-redux';
+import { selectCurrentLang } from '@/redux/lang/selectors';
// import photo from '@/style/images/photo.png';
diff --git a/frontend/src/modules/QuoteModule/Forms/QuoteForm.jsx b/frontend/src/modules/QuoteModule/Forms/QuoteForm.jsx
index 747b2c19a..50829f20c 100644
--- a/frontend/src/modules/QuoteModule/Forms/QuoteForm.jsx
+++ b/frontend/src/modules/QuoteModule/Forms/QuoteForm.jsx
@@ -12,6 +12,7 @@ import ItemRow from '@/modules/ErpPanelModule/ItemRow';
import MoneyInputFormItem from '@/components/MoneyInputFormItem';
import { selectFinanceSettings } from '@/redux/settings/selectors';
+import { selectCurrentLang } from '@/redux/lang/selectors';
import calculate from '@/utils/calculate';
import { useSelector } from 'react-redux';
diff --git a/frontend/src/modules/QuoteModule/QuoteDataTableModule/components/DataTableDropMenu.jsx b/frontend/src/modules/QuoteModule/QuoteDataTableModule/components/DataTableDropMenu.jsx
index 2c93f794d..e57767fcb 100644
--- a/frontend/src/modules/QuoteModule/QuoteDataTableModule/components/DataTableDropMenu.jsx
+++ b/frontend/src/modules/QuoteModule/QuoteDataTableModule/components/DataTableDropMenu.jsx
@@ -8,6 +8,7 @@ import {
CreditCardOutlined,
} from '@ant-design/icons';
import { useSelector, useDispatch } from 'react-redux';
+import { selectCurrentLang } from '@/redux/lang/selectors';
import { erp } from '@/redux/erp/actions';
import { selectItemById } from '@/redux/erp/selectors';
import { useErpContext } from '@/context/erp';
@@ -24,13 +25,11 @@ export default function DataTableDropMenu({ row, entity }) {
const item = useSelector(selectItemById(row._id));
function Read() {
dispatch(erp.currentItem({ data: item }));
- // readPanel.open();
history.push(`/quote/read/${row._id}`);
}
function Edit() {
dispatch(erp.currentAction({ actionType: 'update', data: item }));
- // updatePanel.open();
history.push(`/quote/update/${row._id}`);
}
function Delete() {
diff --git a/frontend/src/modules/QuoteModule/ReadQuoteModule/index.jsx b/frontend/src/modules/QuoteModule/ReadQuoteModule/index.jsx
index 8aefcc202..4664587da 100644
--- a/frontend/src/modules/QuoteModule/ReadQuoteModule/index.jsx
+++ b/frontend/src/modules/QuoteModule/ReadQuoteModule/index.jsx
@@ -4,6 +4,7 @@ import ReadItem from '@/modules/ErpPanelModule/ReadItem';
import PageLoader from '@/components/PageLoader';
import { erp } from '@/redux/erp/actions';
+import { selectCurrentLang } from '@/redux/lang/selectors';
import { selectReadItem } from '@/redux/erp/selectors';
import { useLayoutEffect } from 'react';
import { useDispatch, useSelector } from 'react-redux';
diff --git a/frontend/src/modules/QuoteModule/UpdateQuoteModule/index.jsx b/frontend/src/modules/QuoteModule/UpdateQuoteModule/index.jsx
index c497833c2..c9c5b7c66 100644
--- a/frontend/src/modules/QuoteModule/UpdateQuoteModule/index.jsx
+++ b/frontend/src/modules/QuoteModule/UpdateQuoteModule/index.jsx
@@ -7,6 +7,7 @@ import QuoteForm from '@/modules/QuoteModule/Forms/QuoteForm';
import PageLoader from '@/components/PageLoader';
import { erp } from '@/redux/erp/actions';
+import { selectCurrentLang } from '@/redux/lang/selectors';
import { selectReadItem } from '@/redux/erp/selectors';
import { useLayoutEffect } from 'react';
import { useDispatch, useSelector } from 'react-redux';
From de1fe83faec006f49f963833a62abe1985527a54 Mon Sep 17 00:00:00 2001
From: Salah Eddine Lalami <50052356+idurar@users.noreply.github.com>
Date: Fri, 27 Oct 2023 19:17:26 +0100
Subject: [PATCH 5/5] =?UTF-8?q?=E2=9C=A8=20Add=20Ant=20lang=20ConfigProvid?=
=?UTF-8?q?er?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
frontend/src/app/index.jsx | 42 +++++++++++++++++++++++-------
frontend/src/redux/lang/actions.js | 1 +
frontend/src/redux/lang/reducer.js | 2 +-
3 files changed, 34 insertions(+), 11 deletions(-)
diff --git a/frontend/src/app/index.jsx b/frontend/src/app/index.jsx
index a45faef90..1cab1b622 100644
--- a/frontend/src/app/index.jsx
+++ b/frontend/src/app/index.jsx
@@ -1,14 +1,18 @@
-
+import { useState, useEffect } from 'react';
import Router from '@/router';
+import enUS from 'antd/es/locale/en_US';
+import zhCN from 'antd/es/locale/zh_CN';
+import frFR from 'antd/es/locale/fr_FR';
import useNetwork from '@/hooks/useNetwork';
-import { Layout, notification } from 'antd';
+import { Layout, ConfigProvider } from 'antd';
import Navigation from '@/app/Navigation';
import { useSelector, useDispatch } from 'react-redux';
import { selectAuth } from '@/redux/auth/selectors';
+import { selectLangCode } from '@/redux/lang/selectors';
import HeaderContent from '@/app/HeaderContent';
// import { useNetworkState } from "react-use";
@@ -26,23 +30,41 @@ function App() {
// description: "Cannot connect to the server, Check your internet network",
// });
// }
- const dispatch = useDispatch();
+ const { isLoggedIn } = useSelector(selectAuth);
+ const langCode = useSelector(selectLangCode);
+ const [locale, setLocal] = useState(enUS);
+ useEffect(() => {
+ if (langCode === 'fr_FR') {
+ setLocal(frFR);
+ } else {
+ setLocal(enUS);
+ }
- const { isLoggedIn } = useSelector(selectAuth);
+ return () => {
+ return false;
+ };
+ }, [langCode]);
- if (!isLoggedIn) return