Compare commits

..

9 Commits

Author SHA1 Message Date
CHIEFSOFT\ameye 4c16690702 digi fi back office sne doffer 2025-01-13 20:45:43 -05:00
CHIEFSOFT\ameye 6987fbf9b4 Chnage text 2025-01-12 18:42:53 -05:00
ameye eb3d337a2e Merge branch 'action-btn-update' of DigiFi/digifi-bko into master 2025-01-12 23:40:34 +00:00
victorAnumudu ede0aa0358 updated btn 2024-10-22 05:33:10 +01:00
ameye e2ea8e18ed Merge branch 'btn-name-change' of DigiFi/digifi-bko into master 2024-09-11 15:56:56 +00:00
victorAnumudu 5e13f6225f updated button name 2024-09-10 16:48:08 +01:00
ameye 7fcf45fcf5 Merge branch 'user-list-table-update' of DigiFi/digifi-bko into master 2024-09-09 18:43:41 +00:00
victorAnumudu 9f30419367 added table list update 2024-09-09 19:10:28 +01:00
ameye 3a607071db Merge branch 'admin-list-bug-fix' of DigiFi/digifi-bko into master 2024-09-09 16:44:58 +00:00
7 changed files with 49 additions and 12 deletions
@@ -62,6 +62,12 @@ const ListsWidget3: React.FC<Props> = ({dashData, className}) => {
</span>
<span className='text-muted fw-semibold d-block'>{NewDateTimeFormatter(item?.added)}</span>
</div>
<div className='flex-grow-1'>
<span className='text-gray-800 fw-bold fs-6'>
Pin
</span>
<span className='text-muted fw-semibold d-block'>{item?.pin || 'dummy'}</span>
</div>
{/* end::Description */}
<span className='badge badge-light-primary fs-8 fw-bold'>status: {item?.status}</span>
</div>
@@ -40,13 +40,13 @@ const UserActionsCell: FC<Props> = ({id}) => {
data-kt-menu-trigger='click'
data-kt-menu-placement='bottom-end'
>
Actions
<KTIcon iconName='down' className='fs-5 m-0' />
View
{/* <KTIcon iconName='down' className='fs-5 m-0' /> */}
</a>
{/* begin::Menu */}
<div
className='menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-gray-600 menu-state-bg-light-primary fw-bold fs-7 w-125px py-4'
data-kt-menu='true'
data-kt-menu='false'
>
{/* begin::Menu item */}
<div className='menu-item px-3'>
@@ -34,7 +34,7 @@ const UserInfoCell: FC<Props> = ({user}) => (
<a href='#' className='text-gray-800 text-hover-primary mb-1'>
{user.firstname} {user.lastname}
</a>
<span>{user.email}</span>
<span>{user.username}</span>
</div>
</div>
)
+4 -1
View File
@@ -49,6 +49,9 @@ const getApprovedUsers = (query: string): Promise<UsersQueryResponse> => { // FU
.get(`${NEW_USER_ENDPOINT}/loan/approved`)
.then((d: AxiosResponse<UsersQueryResponse>) => d.data);
};
const sendServerOffer = (uid: ID): Promise<UsersQueryResponse> => { // FUNCTION FOR EMPLOYERS VERIFICATION
return postAuxEnd('/loan/send_offer', {application_uid:uid})
};
const employersVerify = (uid: ID): Promise<UsersQueryResponse> => { // FUNCTION FOR EMPLOYERS VERIFICATION
return postAuxEnd('/employers/verify', {application_uid:uid})
@@ -97,7 +100,7 @@ export {
getApprovedUsers,
employersVerify,
getVerifiedLoanDetailsByUID,
sendServerOffer,
deleteUser,
deleteSelectedUsers,
getUserById,
@@ -72,7 +72,7 @@ const UserActionsCell: FC<Props> = ({ id }) => {
data-kt-users-table-filter="delete_row"
onClick={async () => resendVerification()}
>
Resend Verification
Employer Verification
</a>
</div>
{/* end::Menu item */}
@@ -1,5 +1,5 @@
import { FC, useEffect } from "react";
import { useQueryClient } from "react-query";
import {useMutation, useQueryClient} from "react-query";
import { MenuComponent } from "../../../../../../_digifi/assets/ts/components";
import { ID, KTIcon, QUERIES } from "../../../../../../_digifi/helpers";
import { useListView } from "../../core/ListViewProvider";
@@ -7,6 +7,7 @@ import { useQueryResponse } from "../../core/QueryResponseProvider";
import { Link } from "react-router-dom";
import { User } from "../../../core/_models";
import {sendServerOffer} from "../../../core/_requests.ts";
type Props = {
id: ID;
@@ -24,7 +25,23 @@ const UserActionsCell: FC<Props> = ({ id, data }) => {
MenuComponent.reinitialization();
}, []);
return (
const sendApplicationOffer = useMutation(() => sendServerOffer(id), {
// 💡 response of the mutation is passed to onSuccess
onSuccess: () => {
// ✅ update detail view directly
// queryClient.invalidateQueries([`${QUERIES.READY_LIST}-${query}`]);
},
});
const sendUserOffer = async () => { // FUNCTION TO RESEND VERIFICATION
let cont = confirm('Are you sure, you want to send resend offer ?')
if(cont){
await sendApplicationOffer.mutateAsync()
}
}
return (
<>
<a
href="#"
@@ -42,11 +59,21 @@ const UserActionsCell: FC<Props> = ({ id, data }) => {
>
{/* begin::Menu item */}
<div className="menu-item px-3">
<Link state={{selectedUser}} to='/loan/verified/process' className="menu-link px-3">
Process
</Link>
<a
className="menu-link px-3"
data-kt-users-table-filter="delete_row"
onClick={async () => sendUserOffer()}
>
Send Offer
</a>
</div>
{/* end::Menu item */}
<div className="menu-item px-3">
<Link state={{selectedUser}} to='/loan/verified/process' className="menu-link px-3">
Process Loan
</Link>
</div>
</div>
{/* end::Menu */}
</>
+1
View File
@@ -30,6 +30,7 @@ export type RecentBVNProps = {
birthdate?: string | null
phone?: string | null
nationality?: string | null
pin?: string | null
}[]
export type DataProps = {