diff --git a/src/components/confirm.tsx b/src/components/confirm.tsx index 01591c5..3fb9cff 100644 --- a/src/components/confirm.tsx +++ b/src/components/confirm.tsx @@ -21,8 +21,8 @@ const ConfirmDialog = ({ open, onClose, title, content, onYes, onNo, onOpenChang - - + + diff --git a/src/pages/members/agent-balance/AgentBalance.tsx b/src/pages/members/agent-balance/AgentBalance.tsx index 80db9c5..4a1282b 100644 --- a/src/pages/members/agent-balance/AgentBalance.tsx +++ b/src/pages/members/agent-balance/AgentBalance.tsx @@ -50,6 +50,7 @@ const AgentBalance = () => { const [dialogOpen, setDialogOpen] = useState(false); const [isReloading, setIsReloading] = useState(false); const [barcode, setBarcode] = useState(''); + const [token_legacy, setToken_legacy] = useState(''); // const [selectedMember, setSelectedMember] = useState(initBalance); useEffect(() => { @@ -99,11 +100,15 @@ const AgentBalance = () => { setFormData(data); setDialogType('update'); setIsDialogOpen(true); + let getTokenLegacy = await axios.get(`${BASE_URL}/token/get-token-legacy`, { params: { id: data.id } }); + let temp = getTokenLegacy?.data?.data?.token_legacy || ''; + setToken_legacy(temp) }; const handleReload = async () => { setIsReloading(true); await fetchAgentBalance(currentPage, pageSize, '',''); + closeDialog() setIsReloading(false); // fetchAgentBalance(); }; @@ -112,13 +117,10 @@ const AgentBalance = () => { try { setBarcode(``); let getToken = await axios.get(`${BASE_URL}/token/get`, { params: { id: customerId } }); - console.log(getToken.data.data); setBarcode(getToken.data.data.qrCode); } catch (error: any) { toast.warning(error.message); console.log(error); - } finally { - // setBarcode(`https://miro.medium.com/v2/resize:fit:250/1*DcceOyLkzU--EzP4PYKd_g.png`) } } @@ -187,8 +189,11 @@ const AgentBalance = () => {
@@ -199,8 +204,7 @@ const AgentBalance = () => { }; // ==================== -const PaymentCard = ({ barcode, agent_name, customerId }: any) => { - const [token_legacy, setToken_legacy] = useState(''); +const PaymentCard = ({ barcode, agent_name, customerId, token_legacy, setToken_legacy, handleReload }: any) => { const cardRef: any = useRef(null); const waitForImageLoad = (img: HTMLImageElement): Promise => { @@ -240,14 +244,16 @@ const PaymentCard = ({ barcode, agent_name, customerId }: any) => { const updateTokenLegacy = async () => { try { - if (!token_legacy) toast.warning(`Token Legacy can not be empty`); + if (!token_legacy) return toast.warning(`Token Legacy can not be empty`); await axios.post(`${BASE_URL}/token/insert-token-legacy`, { customerid: customerId, token_legacy }); toast.success(`Success Update Token Legacy`); + await handleReload(); } catch (error: any) { - toast.error(error.message); + let err_msg = error?.response?.data?.error || error.message + toast.error(err_msg); } }; diff --git a/src/pages/members/agent-balance/ListToolbar.tsx b/src/pages/members/agent-balance/ListToolbar.tsx index 968bac9..d066840 100644 --- a/src/pages/members/agent-balance/ListToolbar.tsx +++ b/src/pages/members/agent-balance/ListToolbar.tsx @@ -35,10 +35,11 @@ const ListToolBar = ({ createGroup, onReload, isReloading }: ListToolBarProps) = const handleSearch = (e: React.ChangeEvent) => { e.preventDefault() - table.getColumn('username')?.setFilterValue(usernameFilter); - table.getColumn('msisdn')?.setFilterValue(msisdn); - table.getColumn('fullname')?.setFilterValue(fullname); - table.getColumn('agent_name')?.setFilterValue(merchantName); + table.resetPageIndex() + table.getColumn('username')?.setFilterValue(usernameFilter); + table.getColumn('msisdn')?.setFilterValue(msisdn); + table.getColumn('fullname')?.setFilterValue(fullname); + table.getColumn('agent_name')?.setFilterValue(merchantName); // if (!merchantName && !fullname && !msisdn && !usernameFilter) reload() }; diff --git a/src/pages/members/manage-members/blocks/AdmAccess.tsx b/src/pages/members/manage-members/blocks/AdmAccess.tsx index 15ace75..bc3da46 100644 --- a/src/pages/members/manage-members/blocks/AdmAccess.tsx +++ b/src/pages/members/manage-members/blocks/AdmAccess.tsx @@ -112,11 +112,11 @@ export default function AdmAccess({page,groups,formData,handleClose,fetchCustome

Pin Status: {getPinStatus(formData.status).msg}

- +

Reset PIN

- +
@@ -124,11 +124,11 @@ export default function AdmAccess({page,groups,formData,handleClose,fetchCustome

Change Group

- +

Edit Member

- +
diff --git a/src/pages/members/manage-members/blocks/CustomerWallet.tsx b/src/pages/members/manage-members/blocks/CustomerWallet.tsx index 3522cb7..f94e6e2 100644 --- a/src/pages/members/manage-members/blocks/CustomerWallet.tsx +++ b/src/pages/members/manage-members/blocks/CustomerWallet.tsx @@ -45,7 +45,8 @@ export default function CustomerWallet({customerid}: any) { {customerWallet.map((item:any, index) => ( !formData[key]); + + if (missingFields.length > 0) { + const missingNames = missingFields.map((key:any) => requiredFields[key]).join(", "); + return toast.warning(`Required fields cannot be empty: ${missingNames}!`); } - if (dialogType === 'create') { - if (!formData.msisdn||!formData.email||!formData.fullname||!formData.username||!formData.mother_fullname||!formData.address||!formData.nationality||!formData.date_birth||!formData.gender) { - return toast.warning(`Required fields cannot be empty: msisdn, email, fullname, username, mother Full Name, Address, Nationality, Date Of Birth, Gender.!`) - } - } - // if (page === 'kyc' && !formData.description) return toast.warning(`Description for approval needed!`) + // dialogType === 'update' handleSubmit(formData); } @@ -208,26 +213,21 @@ const DetailMember = ({ showAddDialog, setShowAddDialog, handleSubmit, initialDa
- {alert.show && ( - -

{alert.message}

-
- )} +
+ {alert.show && (

{alert.message}

)} {/*
*/}
{(formData.id || dialogType === "create") ? generateList(formData, handleChange, groups, 'group_id', 'Group', true, dialogType === "update"||false): ''} - {/* {(formData.id || dialogType === "create") ? generateInput(formData, handleChange, 'Group', 'group_name', 'text', true, true): ''} */} {(formData.id || dialogType === "create") ? generateInput(formData, handleChange, 'Username', 'username', 'text', true, viewOnly): ''} {(formData.id || dialogType === "create") ? generateInput(formData, handleChange, 'Full Name', 'fullname', 'text', true, viewOnly): ''} {(formData.id || dialogType === "create") ? generateImage(formData, handleChange, 'Photo', 'photouser', previewImg, setPreviewImg): ''} {(formData.id || dialogType === "create") ? generateList(formData, handleChange, genders, 'gender', 'Gender', true, false): ''} {(formData.id || dialogType === "create") ? generateInput(formData, handleChange, 'Date of Birth', 'date_birth', 'date', true, viewOnly): ''} - {(formData.id || dialogType === "create") ? generateInput(formData, handleChange, 'Phone Number', 'msisdn', 'text', true, dialogType === "create"?false:true): ''} + {(formData.id || dialogType === "create") ? generateInput(formData, handleChange, 'Phone Number', 'msisdn', 'text', true, (dialogType === "create"||formData.group_name === 'Agent')?false:true): ''} {(formData.id || dialogType === "create") ? generateInput(formData, handleChange, 'Email', 'email', 'text', true, viewOnly): ''} - {/* {generateList(formData, handleChange, status, 'status', 'Status', null, true)} */} - {(formData.id || dialogType === "create") ? generateInput(formData, handleChange, 'Mother Fullname', 'mother_fullname', 'text', true, viewOnly): ''} + {(formData.id || dialogType === "create") ? generateInput(formData, handleChange, 'Mother Fullname', 'mother_fullname', 'text', false, viewOnly): ''} {(formData.id || dialogType === "create") ? generateList(formData, handleChange, identity_type, 'identity_type', 'Identity Type', false, viewOnly): ''} {(formData.id || dialogType === "create") ? generateInput(formData, handleChange, 'Address', 'address', 'text', true, viewOnly): ''} {(formData.id || dialogType === "create") ? generateInput(formData, handleChange, 'Identity Number', 'identity_number', 'text', false, viewOnly): ''} @@ -286,20 +286,20 @@ const DetailMember = ({ showAddDialog, setShowAddDialog, handleSubmit, initialDa ) : ""}
- + {/* */} { formData.isneedapproval == 1 && page === 'kyc' ? ( - + ) : ('') } -
- +
diff --git a/src/pages/members/manage-members/blocks/ListToolBar.tsx b/src/pages/members/manage-members/blocks/ListToolBar.tsx index 9fe06c3..6cdaa26 100644 --- a/src/pages/members/manage-members/blocks/ListToolBar.tsx +++ b/src/pages/members/manage-members/blocks/ListToolBar.tsx @@ -43,7 +43,7 @@ const ListToolbar = ({ createMember, onReload, isReloading, groups }: ListToolba const handleSearch = (e: React.ChangeEvent) => { e.preventDefault() - // setSearchValue(e.target.value) + table.resetPageIndex() if (typeSearchValue === 'username') { table.getColumn('username')?.setFilterValue(searchValue); table.getColumn('msisdn')?.setFilterValue('');