Compare commits

...

6 Commits

2 changed files with 74 additions and 39 deletions
@@ -142,8 +142,8 @@ const MarketPopUp = ({ details, onClose, situation, marketInt }) => {
<CloseIcon onClose={onClose} /> <CloseIcon onClose={onClose} />
</div> </div>
<div className="md:flex bg-white dark:bg-dark-white text-slate-900 dark:text-white rounded-lg"> <div className="md:grid md:grid-cols-4 bg-white dark:bg-dark-white text-slate-900 dark:text-white rounded-lg">
<div className="p-4 w-full md:w-[75%] md:border-r-1"> <div className="p-4 w-full md:col-span-3 md:border-r-1">
<div className="min-h-[240px]"> <div className="min-h-[240px]">
<h2 className="font-semibold text-slate-900 dark:text-white tracking-wide"> <h2 className="font-semibold text-slate-900 dark:text-white tracking-wide">
{details?.title} {details?.title}
@@ -175,8 +175,8 @@ const MarketPopUp = ({ details, onClose, situation, marketInt }) => {
<div <div
className={`w-full p-2 md:w-3/4 text-slate-900 dark:text-white market-pop ${ className={`w-full p-2 md:w-3/4 text-slate-900 dark:text-white market-pop ${
name == "Description" name == "Description"
? "max-h-22 h-full overflow-y-auto break-words" ? "min-h-[100px] max-h-[100px] h-full overflow-y-auto break-words"
: name == "Delivery Detail" ? " overflow-y-auto h-full max-h-22" : name == "Delivery Detail" ? " overflow-y-auto h-full min-h-[100px] max-h-[100px]"
: "h-full flex items-center" : "h-full flex items-center"
}`} }`}
> >
@@ -214,7 +214,7 @@ const MarketPopUp = ({ details, onClose, situation, marketInt }) => {
</div> </div>
))} ))}
</div> </div>
<hr /> <hr className='my-1' />
<div className="w-full flex flex-col gap-3"> <div className="w-full flex flex-col gap-3">
<div className="w-full"> <div className="w-full">
<label className="job-label w-full"> <label className="job-label w-full">
@@ -251,8 +251,8 @@ const MarketPopUp = ({ details, onClose, situation, marketInt }) => {
</div> </div>
</div> </div>
<div className="w-full md:w-[23%] h-full flex flex-col"> <div className="py-2 w-full md:col-span-1 h-full flex flex-col">
<div className="mx-auto bg-[#f1f8ff] dark:bg-[#C2C8D3] px-4 rounded-md md:min-h-[420px] flex flex-col justify-between"> <div className="mx-auto bg-[#f1f8ff] dark:bg-[#C2C8D3] px-4 rounded-md w-full h-full md:min-h-[420px] flex flex-col justify-between">
<div className="w-full flex flex-col justify-center pb-4 gap-2"> <div className="w-full flex flex-col justify-center pb-4 gap-2">
<p className="job-label w-full"> <p className="job-label w-full">
Interested? Interested?
@@ -264,7 +264,7 @@ const MarketPopUp = ({ details, onClose, situation, marketInt }) => {
onClick={ManageInterest} onClick={ManageInterest}
> >
{" "} {" "}
<div className="w-full flex flex-col justify-between gap-2"> <div className="flex md:flex-col justify-center gap-2">
<span>Notify</span> <span>Notify</span>
<span>Owner</span> <span>Owner</span>
</div> </div>
@@ -13,6 +13,8 @@ import { PriceFormatter } from "../Helpers/PriceFormatter";
export default function ManageInterestOffer(props) { export default function ManageInterestOffer(props) {
const { walletDetails } = useSelector((state) => state?.walletDetails); // WALLET STORE const { walletDetails } = useSelector((state) => state?.walletDetails); // WALLET STORE
let { othersInterestedTable } = useSelector((state) => state.tableReload); // FOR OTHERS INTERESTED TABLE RELOAD
let walletBal = walletDetails?.data?.filter(wallet => wallet.code == props?.offerDetails?.currency_code) // USER WALLET BALANCE FOR CORRESPONDING TASK CURRENCY let walletBal = walletDetails?.data?.filter(wallet => wallet.code == props?.offerDetails?.currency_code) // USER WALLET BALANCE FOR CORRESPONDING TASK CURRENCY
@@ -143,7 +145,7 @@ export default function ManageInterestOffer(props) {
setInterestStats(prev => ({...prev, loading: false})) setInterestStats(prev => ({...prev, loading: false}))
console.log('Failed', err) console.log('Failed', err)
}) })
},[]) },[othersInterestedTable])
return ( return (
<Layout> <Layout>
<CommonHead <CommonHead
@@ -230,15 +232,15 @@ export default function ManageInterestOffer(props) {
<div className="info-details w-full border-t"> <div className="info-details w-full border-t">
<div className="my-0 md:my-3 block md:flex items-center gap-10"> <div className="my-0 md:my-3 block md:flex items-center gap-10">
<div className="my-3 md:my-0 flex items-center gap-1"> <div className="my-3 md:my-0 flex items-center gap-1">
<span className="w-[200px] text-lg font-bold text-dark-gray dark:text-white tracking-wide">Name</span> <p className="w-[200px] text-lg font-bold text-black dark:text-white tracking-wide">Name</p>
<span className="min-w-[100px] text-sm font-bold text-dark-gray dark:text-white tracking-wide">{props.offerDetails?.client_name}</span> <p className="min-w-[100px] text-lg font-normal text-dark-gray dark:text-white tracking-wide">{props.offerDetails?.client_name}</p>
</div> </div>
<div className="my-3 md:my-0 flex items-center gap-1"> <div className="my-3 md:my-0 flex items-center gap-1">
<span className="w-[200px] text-lg font-bold text-dark-gray dark:text-white tracking-wide">Member Since</span> <p className="w-[200px] text-lg font-bold text-black dark:text-white tracking-wide">Member Since</p>
<span className="min-w-[100px] text-sm font-bold text-dark-gray dark:text-white tracking-wide"> <p className="min-w-[100px] text-lg font-normal text-dark-gray dark:text-white tracking-wide">
{clientAdded.getFullYear()}{" - "} {clientAdded.getFullYear()}{" - "}
{clientAdded.getMonth() < 9 ? '0'+ (clientAdded.getMonth() + 1) : clientAdded.getMonth() + 1} {clientAdded.getMonth() < 9 ? '0'+ (clientAdded.getMonth() + 1) : clientAdded.getMonth() + 1}
</span> </p>
</div> </div>
</div> </div>
<> <>
@@ -246,36 +248,69 @@ export default function ManageInterestOffer(props) {
<LoadingSpinner color='sky-blue' size='10' height='min-h-[40px]' /> <LoadingSpinner color='sky-blue' size='10' height='min-h-[40px]' />
: :
<> <>
<div className="my-0 md:my-3 block md:flex items-center gap-10"> <div className='w-full'>
<div className='my-3 md:my-0 flex items-center gap-1'> <h1 className="text-xl font-extrabold text-black dark:text-white tracking-wide">Previous Job Statistics</h1>
<span className="w-[200px] text-lg font-bold text-dark-gray dark:text-white tracking-wide">Jobs completed</span> </div>
<span className="min-w-[100px] text-sm font-bold text-dark-gray dark:text-white tracking-wide">{interestStats.data?.job_completed && interestStats.data?.job_completed}</span> <div className='p-2 flex flex-col md:flex-row gap-4 justify-center items-center max-w-xl rounded-2xl bg-sky-100'>
<div className='contents md:flex flex-col gap-3'>
<div className='flex items-center gap-4'>
<p className="min-w-[150px] text-lg font-bold text-black dark:text-white tracking-wide text-right">Completed:</p>
<p className="min-w-[100px] text-lg font-normal text-dark-gray dark:text-white tracking-wide">{interestStats.data?.job_completed && interestStats.data?.job_completed}</p>
</div>
<div className="flex items-center gap-4">
<p className="min-w-[150px] text-lg font-bold text-black dark:text-white tracking-wide text-right">Active:</p>
<p className="min-w-[100px] text-lg font-normal text-dark-gray dark:text-white tracking-wide">{interestStats.data?.job_active && interestStats.data?.job_active}</p>
</div>
<div className="flex items-center gap-4">
<p className="min-w-[150px] text-lg font-bold text-black dark:text-white tracking-wide text-right">% Completion:</p>
<p className="min-w-[100px] text-lg font-normal text-dark-gray dark:text-white tracking-wide">{interestStats.data?.job_percent_complete && interestStats.data?.job_percent_complete}</p>
</div>
</div> </div>
<div className="my-3 md:my-0 flex items-center gap-1"> <div className='contents md:flex flex-col gap-3'>
<span className="w-[200px] text-lg font-bold text-dark-gray dark:text-white tracking-wide">Last Job completed</span> <div className="flex items-center gap-4">
<span className="min-w-[100px] text-sm font-bold text-dark-gray dark:text-white tracking-wide">{interestStats.data?.job_last_date && interestStats.data?.job_last_date}</span> <p className="min-w-[150px] text-lg font-bold text-black dark:text-white tracking-wide text-right">Last Completed:</p>
<p className="min-w-[150px] text-lg font-normal text-dark-gray dark:text-white tracking-wide">{interestStats.data?.job_last_date && interestStats.data?.job_last_date}</p>
</div>
<div className="flex items-center gap-4">
<p className="min-w-[150px] text-lg font-bold text-black dark:text-white tracking-wide text-right">Uncompleted:</p>
<p className="min-w-[100px] text-lg font-normal text-dark-gray dark:text-white tracking-wide">{interestStats.data?.job_uncompleted && interestStats.data?.job_uncompleted}</p>
</div>
<div className="flex items-center gap-4">
<p className="min-w-[150px] text-lg font-bold text-black dark:text-white tracking-wide text-right">Pending Offers:</p>
<p className="min-w-[100px] text-lg font-normal text-dark-gray dark:text-white tracking-wide">{interestStats.data?.job_pending && interestStats.data?.job_pending}</p>
</div>
</div> </div>
</div> </div>
<div className="my-0 md:my-3 block md:flex items-center gap-10"> {/* <div className="my-0 md:my-3 block md:flex items-center gap-5">
<div className="my-3 md:my-0 flex items-center gap-1"> <div className='my-3 md:my-0 flex items-center gap-4'>
<span className="w-[200px] text-lg font-bold text-dark-gray dark:text-white tracking-wide">Jobs active</span> <p className="min-w-[200px] text-lg font-bold text-dark-gray dark:text-white tracking-wide text-right">Completed:</p>
<span className="min-w-[100px] text-sm font-bold text-dark-gray dark:text-white tracking-wide">{interestStats.data?.job_active && interestStats.data?.job_active}</span> <p className="min-w-[100px] text-lg font-normal text-dark-gray dark:text-white tracking-wide">{interestStats.data?.job_completed && interestStats.data?.job_completed}</p>
</div> </div>
<div className="my-3 md:my-0 flex items-center gap-1"> <div className="my-3 md:my-0 flex items-center gap-4">
<span className="w-[200px] text-lg font-bold text-dark-gray dark:text-white tracking-wide">Jobs uncompleted</span> <p className="min-w-[200px] text-lg font-bold text-dark-gray dark:text-white tracking-wide text-right">Completed:</p>
<span className="min-w-[100px] text-sm font-bold text-dark-gray dark:text-white tracking-wide">{interestStats.data?.job_uncompleted && interestStats.data?.job_uncompleted}</span> <p className="min-w-[150px] text-lg font-normal text-dark-gray dark:text-white tracking-wide">{interestStats.data?.job_last_date && interestStats.data?.job_last_date}</p>
</div> </div>
</div> </div> */}
<div className="block md:flex items-center gap-10"> {/* <div className="my-0 md:my-3 block md:flex items-center gap-10">
<div className="my-3 md:my-0 flex items-center gap-1"> <div className="my-3 md:my-0 flex items-center gap-4">
<span className="w-[200px] text-lg font-bold text-dark-gray dark:text-white tracking-wide">% completion</span> <p className="min-w-[200px] text-lg font-bold text-dark-gray dark:text-white tracking-wide text-right">Active:</p>
<span className="min-w-[100px] text-sm font-bold text-dark-gray dark:text-white tracking-wide">{interestStats.data?.job_percent_complete && interestStats.data?.job_percent_complete}</span> <p className="min-w-[100px] text-lg font-normal text-dark-gray dark:text-white tracking-wide">{interestStats.data?.job_active && interestStats.data?.job_active}</p>
</div> </div>
<div className="flex items-center gap-1"> <div className="my-3 md:my-0 flex items-center gap-4">
<span className="w-[200px] text-lg font-bold text-dark-gray dark:text-white tracking-wide">Pending Offers</span> <p className="min-w-[200px] text-lg font-bold text-dark-gray dark:text-white tracking-wide text-right">Uncompleted:</p>
<span className="min-w-[100px] text-sm font-bold text-dark-gray dark:text-white tracking-wide">{interestStats.data?.job_pending && interestStats.data?.job_pending}</span> <p className="min-w-[100px] text-lg font-normal text-dark-gray dark:text-white tracking-wide">{interestStats.data?.job_uncompleted && interestStats.data?.job_uncompleted}</p>
</div> </div>
</div> </div> */}
{/* <div className="block md:flex items-center gap-10">
<div className="my-3 md:my-0 flex items-center gap-4">
<p className="min-w-[200px] text-lg font-bold text-dark-gray dark:text-white tracking-wide text-right">% Completion:</p>
<p className="min-w-[100px] text-lg font-normal text-dark-gray dark:text-white tracking-wide">{interestStats.data?.job_percent_complete && interestStats.data?.job_percent_complete}</p>
</div>
<div className="flex items-center gap-4">
<p className="min-w-[200px] text-lg font-bold text-dark-gray dark:text-white tracking-wide text-right">Pending Offers:</p>
<p className="min-w-[100px] text-lg font-normal text-dark-gray dark:text-white tracking-wide">{interestStats.data?.job_pending && interestStats.data?.job_pending}</p>
</div>
</div> */}
</> </>
} }
</> </>
@@ -355,12 +390,12 @@ export default function ManageInterestOffer(props) {
</div> </div>
{/* END OF Detail section */} {/* END OF Detail section */}
<div className="p-4 w-full min-h-full bg-sky-100 dark:bg-dark-gray col-span-1"> <div className="p-4 w-full min-h-full bg-sky-100 rounded-2xl dark:bg-dark-gray col-span-1">
{/* Wallet balance and reward */} {/* Wallet balance and reward */}
<div className='mb-4 border-b-2 flex flex-col justify-center items-center gap-4'> <div className='mb-4 border-b-2 flex flex-col justify-center items-center gap-4'>
<div className='w-full flex flex-col lg:flex-row justify-center items-center gap-2'> <div className='w-full flex flex-col lg:flex-row justify-center items-center gap-2'>
<p className="text-lg font-bold text-dark-gray dark:text-white tracking-wide">Wallet:</p> <p className="text-lg font-bold text-dark-gray dark:text-white tracking-wide">Wallet:</p>
<span className="font-medium text-dark-gray dark:text-white">{PriceFormatter(walletBal[0]?.amount * 0.01,props?.offerDetails?.currency_code,props?.offerDetails?.currency)}</span> <span className="font-medium text-dark-gray dark:text-white">{ walletDetails?.loading ? 'loading...' : PriceFormatter(walletBal[0]?.amount * 0.01,props?.offerDetails?.currency_code,props?.offerDetails?.currency)}</span>
</div> </div>
<div className='w-full flex flex-col lg:flex-row justify-center items-center gap-2'> <div className='w-full flex flex-col lg:flex-row justify-center items-center gap-2'>
<p className="text-lg font-bold text-dark-gray dark:text-white tracking-wide">Reward:</p> <p className="text-lg font-bold text-dark-gray dark:text-white tracking-wide">Reward:</p>