diff --git a/src/components/GetLoanScreens.jsx b/src/components/GetLoanScreens.jsx
index 421f527..497839e 100644
--- a/src/components/GetLoanScreens.jsx
+++ b/src/components/GetLoanScreens.jsx
@@ -13,6 +13,7 @@ import LoanPin from './loan_screen/LoanPin';
import SelectedOffer from './loan_screen/SelectedOffer';
import GetLoan from './loan_screen/GetLoan';
import TermsAndConditions from './loan_screen/TermsAndConditions';
+import LoanDetails from './loan_screen/LoanDetails';
export default function GetLoanScreens() {
@@ -21,6 +22,7 @@ export default function GetLoanScreens() {
terms_conditions: 'terms_conditions',
getLoan: 'get-loan',
pin: 'pin-screen',
+ loan_details: 'loan_details',
offers: 'offers-screen',
selected_offer: 'selected-offer-screen',
loan_pin: 'loan-pin-screen'
@@ -138,7 +140,11 @@ export default function GetLoanScreens() {
<>
>
- : step?.screen[step.screen.length -1 ] == screens.loan_pin ?
+ : step?.screen[step.screen.length -1 ] == screens.loan_details?
+ <>
+
+ >
+ :step?.screen[step.screen.length -1 ] == screens.loan_pin ?
<>
>
diff --git a/src/components/loan_screen/LoanDetails.jsx b/src/components/loan_screen/LoanDetails.jsx
new file mode 100644
index 0000000..2aac7f0
--- /dev/null
+++ b/src/components/loan_screen/LoanDetails.jsx
@@ -0,0 +1,23 @@
+import React from 'react'
+
+export default function LoanDetails({step, handleStep, screens}) {
+
+ const handleGetLoan = () => {
+ handleStep({...step.details}, screens.loan_pin)
+ }
+
+ return (
+
+
Loan Details
+
+
Loan Amount: ₦{step.details.selectedAmount}
+
Interest 3%: ₦{step.details.selectedAmount*0.03}
+
Mgt Fee 1%: ₦{step.details.selectedAmount*0.01}
+
Insurance 1%: ₦{step.details.selectedAmount*0.01}
+
+
+
+
+
+ )
+}
diff --git a/src/components/loan_screen/Offers.jsx b/src/components/loan_screen/Offers.jsx
index 4b8014f..8ec0ab9 100644
--- a/src/components/loan_screen/Offers.jsx
+++ b/src/components/loan_screen/Offers.jsx
@@ -1,4 +1,4 @@
-import React from 'react'
+import React, { useState } from 'react'
import { useQuery } from "@tanstack/react-query";
import { useMutation } from '@tanstack/react-query'
import { IoIosArrowForward } from "react-icons/io";
@@ -8,6 +8,8 @@ import queryKeys from '../../services/queryKeys'
export default function Offers({step, handleStep, screens}) {
+ const [selectedAmount, setSelectedAmount] = useState('')
+
const {data, isFetching, isError, error} = useQuery({
queryKey: queryKeys.offers,
queryFn: () => getOffers()
@@ -16,11 +18,12 @@ export default function Offers({step, handleStep, screens}) {
const offers = data?.data?.product_data?.offers // OFFERS LIST
const selectedLoan = useMutation({
- mutationFn: (loan) => {
- let fields = {bvn:step.activeUser.bvn, loan}
+ mutationFn: (details) => {
+ let fields = {bvn:step.activeUser.bvn, loan: details.loan}
// if(!fields.bvn){
// throw new Error('*')
// }
+ setSelectedAmount(details.amount)
return loanSelect(fields)
},
onError: (error) => {
@@ -28,7 +31,7 @@ export default function Offers({step, handleStep, screens}) {
},
onSuccess: (res) => {
const selectedOffer = res.data.loan
- handleStep({selectedOffer, ...res.data}, screens.selected_offer)
+ handleStep({selectedAmount, selectedOffer, ...res.data}, screens.selected_offer)
}
})
@@ -54,7 +57,7 @@ export default function Offers({step, handleStep, screens}) {
key={item?.cid}
disabled={isDisabled || selectedLoan.isPending}
// value={item.loan}
- onClick={()=>selectedLoan.mutate(item.loan)}
+ onClick={()=>selectedLoan.mutate(item)}
className={`w-full flex gap-2 justify-between items-center p-2 bg-purple-800 ${selectedLoan.isPending && 'bg-purple-800/50'} text-base sm:text-xl text-white font-bold rounded ${isDisabled && 'opacity-50'}`}
>
{item?.description}
diff --git a/src/components/loan_screen/SelectedOffer.jsx b/src/components/loan_screen/SelectedOffer.jsx
index 93688c3..bcfe342 100644
--- a/src/components/loan_screen/SelectedOffer.jsx
+++ b/src/components/loan_screen/SelectedOffer.jsx
@@ -23,6 +23,10 @@ export default function SelectedOffer({step, handleStep, screens}) {
// throw new Error('*')
throw ({message:'Please enter amount'})
}
+ if(fields.amount > Number(step.details.selectedAmount)){
+ // throw new Error('*')
+ throw ({message:`Please enter amount not more than ${step.details.selectedAmount}`})
+ }
if(isNaN(amount)){
throw ({message:'Amount must be a valid figure'})
}
@@ -34,20 +38,20 @@ export default function SelectedOffer({step, handleStep, screens}) {
},
onSuccess: (res) => {
// const selectedOffer = res.data.loan[0].loan
- handleStep({loan_application_id:res.data.loan_application_id[0], ...step.details}, screens.loan_pin)
+ handleStep({loan_application_id:res.data.loan_application_id[0], ...step.details}, screens.loan_details)
}
})
return (
-
Tenor: 30 Days
-
+
Your eligible loan amount is ₦{step.details.selectedAmount}
+
-
+ {/*
Upfront Interest 200 Naira
Due Date: Next Salary or 30 Days
-
+
*/}