Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 64056bb2a4 | |||
| e49c4d66f8 | |||
| 38432a6d50 | |||
| 83a54ff3ef | |||
| 5e0fdffa1e | |||
| 11d2cb3e3a | |||
| 93ac55b44b | |||
| 237ce13a6c | |||
| 4253174494 | |||
| da0ed0364b | |||
| 466175c49d | |||
| ed148ce267 | |||
| 6de795c07b |
@@ -6,6 +6,7 @@ import InputCom from "../../Helpers/Inputs/InputCom";
|
|||||||
import AuthLayout from "../AuthLayout";
|
import AuthLayout from "../AuthLayout";
|
||||||
|
|
||||||
export default function SignUp() {
|
export default function SignUp() {
|
||||||
|
// eslint-disable-next-line no-restricted-globals
|
||||||
const queryParams = new URLSearchParams(location?.search);
|
const queryParams = new URLSearchParams(location?.search);
|
||||||
const country = queryParams.get("cnt")?.toUpperCase();
|
const country = queryParams.get("cnt")?.toUpperCase();
|
||||||
|
|
||||||
|
|||||||
@@ -54,6 +54,8 @@ export default function VerifyLink() {
|
|||||||
localStorage.setItem("member_id", `${data?.member_id}`);
|
localStorage.setItem("member_id", `${data?.member_id}`);
|
||||||
localStorage.setItem("session_token", `${data?.session}`);
|
localStorage.setItem("session_token", `${data?.session}`);
|
||||||
localStorage.setItem("session", `${data?.session}`);
|
localStorage.setItem("session", `${data?.session}`);
|
||||||
|
localStorage.setItem("uid", data?.uid)
|
||||||
|
|
||||||
|
|
||||||
navigate("/", { replace: true });
|
navigate("/", { replace: true });
|
||||||
setLinkLoader(false);
|
setLinkLoader(false);
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ export default function FamilyTable({
|
|||||||
family_uid,
|
family_uid,
|
||||||
banner,
|
banner,
|
||||||
enable_traking,
|
enable_traking,
|
||||||
|
profile_picture,
|
||||||
}) => {
|
}) => {
|
||||||
// Check for valid dates
|
// Check for valid dates
|
||||||
const addedDate = added ? added.split(" ")[0] : "N/A";
|
const addedDate = added ? added.split(" ")[0] : "N/A";
|
||||||
@@ -60,7 +61,11 @@ export default function FamilyTable({
|
|||||||
const key = `family-${family_uid}`; // Assign a unique key
|
const key = `family-${family_uid}`; // Assign a unique key
|
||||||
|
|
||||||
const trackingStatus =
|
const trackingStatus =
|
||||||
enable_traking === "0" ? "Stopped" : enable_traking === "100" ? "Active" : "";
|
enable_traking === "0"
|
||||||
|
? "Stopped"
|
||||||
|
: enable_traking === "100"
|
||||||
|
? "Active"
|
||||||
|
: "";
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<tr
|
<tr
|
||||||
@@ -71,7 +76,8 @@ export default function FamilyTable({
|
|||||||
<div className="flex space-x-2 items-center w-full">
|
<div className="flex space-x-2 items-center w-full">
|
||||||
<div className="w-[60px] h-[60px] rounded-full overflow-hidden flex justify-center items-center flex-[0.1]">
|
<div className="w-[60px] h-[60px] rounded-full overflow-hidden flex justify-center items-center flex-[0.1]">
|
||||||
<img
|
<img
|
||||||
src={localImgLoad(`images/icons/${banner}`)}
|
src={profile_picture}
|
||||||
|
// src={profile_picture || localImgLoad(`images/icons/${banner}`)}
|
||||||
alt={`Avatar of ${firstname} ${lastname}`}
|
alt={`Avatar of ${firstname} ${lastname}`}
|
||||||
className="w-full h-full"
|
className="w-full h-full"
|
||||||
/>
|
/>
|
||||||
@@ -130,17 +136,27 @@ export default function FamilyTable({
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
type="button"
|
type="button"
|
||||||
className="w-20 h-11 flex justify-center items-center btn-gradient text-base rounded-full text-white"
|
className="w-12 h-11 flex justify-center items-center btn-gradient text-base rounded-full text-white"
|
||||||
>
|
>
|
||||||
Manage
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 11 20"
|
||||||
|
id="Arrow"
|
||||||
|
className="w-[0.7rem]"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
fill-rule="evenodd"
|
||||||
|
d="M.366 19.708c.405.39 1.06.39 1.464 0l8.563-8.264a1.95 1.95 0 0 0 0-2.827L1.768.292A1.063 1.063 0 0 0 .314.282a.976.976 0 0 0-.011 1.425l7.894 7.617a.975.975 0 0 1 0 1.414L.366 18.295a.974.974 0 0 0 0 1.413"
|
||||||
|
fill="#4687ba"
|
||||||
|
className="color000000 svgShape"
|
||||||
|
></path>
|
||||||
|
</svg>
|
||||||
</button>
|
</button>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
console.log(currentFamilyList);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
className={`update-table w-full h-full p-4 bg-white dark:bg-dark-white overflow-y-auto rounded-2xl section-shadow min-h-[520px] flex flex-col justify-between ${
|
className={`update-table w-full h-full p-4 bg-white dark:bg-dark-white overflow-y-auto rounded-2xl section-shadow min-h-[520px] flex flex-col justify-between ${
|
||||||
|
|||||||
@@ -49,12 +49,12 @@ export default function FamilyProfile({ familyData, className }) {
|
|||||||
|
|
||||||
// initial values for formik
|
// initial values for formik
|
||||||
let initialValues = {
|
let initialValues = {
|
||||||
family_uid: familyData.uid,
|
family_uid: familyData?.uid,
|
||||||
firstname: familyData.firstname,
|
firstname: familyData?.firstname,
|
||||||
lastname: familyData.lastname,
|
lastname: familyData?.lastname,
|
||||||
year: familyData.year,
|
year: familyData?.year,
|
||||||
month: familyData.month,
|
month: familyData?.month,
|
||||||
enable_traking: familyData.enable_traking,
|
enable_traking: familyData?.enable_traking,
|
||||||
action: 22020,
|
action: 22020,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -16,11 +16,11 @@ export default function FourZeroFour() {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
return (
|
return (
|
||||||
<div className={`my-custom-bg-class flex justify-center items-center w-full h-screen before:content-[''] before:absolute before:inset-0 before:bg-[#cdcdcd]/[.8]`}>
|
<div className={`my-custom-bg-class flex justify-center items-center w-full min-h-screen before:content-[''] before:absolute before:inset-0 before:bg-[#cdcdcd]/[.8]`}>
|
||||||
<div className="relative pt-32 max-w-3xl">
|
<div className="relative pt-32 max-w-3xl">
|
||||||
{/* <Lottie options={defaultOptions} width={600} height={600} /> */}
|
{/* <Lottie options={defaultOptions} width={600} height={600} /> */}
|
||||||
<div className="px-16 md:px-24 flex flex-col items-center justify-center gap-4">
|
<div className="px-16 md:px-24 flex flex-col items-center justify-center gap-4">
|
||||||
<img src={localImgLoad('images/404.png')} className="w-72" alt='404 Image' />
|
<img src={localImgLoad('images/404.png')} className="w-72" alt='404Image' />
|
||||||
<p className="mt-8 text-red-600 font-black text-4xl md:text-5xl tracking-wider text-center">Sorry!</p>
|
<p className="mt-8 text-red-600 font-black text-4xl md:text-5xl tracking-wider text-center">Sorry!</p>
|
||||||
<h1 className="text-black text-4xl md:text-5xl font-black tracking-wide text-center leading-tight">The page can’t be found.</h1>
|
<h1 className="text-black text-4xl md:text-5xl font-black tracking-wide text-center leading-tight">The page can’t be found.</h1>
|
||||||
<p className="px-2 md:px-8 text-slate-700 text-base md:text-lg text-center">The page you're looking for isn't available. Use the go back button below</p>
|
<p className="px-2 md:px-8 text-slate-700 text-base md:text-lg text-center">The page you're looking for isn't available. Use the go back button below</p>
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ function RewardsTable() {
|
|||||||
<div className='flex flex-col justify-between min-h-[500px]'>
|
<div className='flex flex-col justify-between min-h-[500px]'>
|
||||||
{familyRewardHistory.loading ?
|
{familyRewardHistory.loading ?
|
||||||
<LoadingSpinner size='16' color='sky-blue' height='h-[500px]' />
|
<LoadingSpinner size='16' color='sky-blue' height='h-[500px]' />
|
||||||
:
|
: familyRewardHistory.data.length ?
|
||||||
<table className="wallet-activity w-full table-auto border-collapse text-left">
|
<table className="wallet-activity w-full table-auto border-collapse text-left">
|
||||||
<thead className='border-b-2'>
|
<thead className='border-b-2'>
|
||||||
<tr className='text-slate-600'>
|
<tr className='text-slate-600'>
|
||||||
@@ -60,8 +60,6 @@ function RewardsTable() {
|
|||||||
<th className="p-2">Confirmation</th>
|
<th className="p-2">Confirmation</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
{familyRewardHistory.data.length ?
|
|
||||||
(
|
|
||||||
<tbody>
|
<tbody>
|
||||||
{currentReward.map((item, index) => {
|
{currentReward.map((item, index) => {
|
||||||
let date = new Date(item.added).toLocaleDateString()
|
let date = new Date(item.added).toLocaleDateString()
|
||||||
@@ -84,24 +82,15 @@ function RewardsTable() {
|
|||||||
}
|
}
|
||||||
)}
|
)}
|
||||||
</tbody>
|
</tbody>
|
||||||
)
|
|
||||||
:
|
|
||||||
familyRewardHistory.error ?
|
|
||||||
(
|
|
||||||
<tbody>
|
|
||||||
<tr className='text-slate-500'>
|
|
||||||
<td className="p-2" colSpan={4}>Opps! an error occurred. Please try again!</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
)
|
|
||||||
:
|
|
||||||
<tbody>
|
|
||||||
<tr className='text-slate-500'>
|
|
||||||
<td className="p-2" colSpan={4}>No Rewards History Found!</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
}
|
|
||||||
</table>
|
</table>
|
||||||
|
:familyRewardHistory.error ?
|
||||||
|
<div className="p-2 text-slate-500 flex flex-col grow justify-center items-center">
|
||||||
|
<span>Opps! an error occurred. Please try again!</span>
|
||||||
|
</div>
|
||||||
|
:
|
||||||
|
<div className="p-2 text-slate-500 flex flex-col grow justify-center items-center">
|
||||||
|
<span>No Rewards History Found!</span>
|
||||||
|
</div>
|
||||||
}
|
}
|
||||||
|
|
||||||
{/* PAGINATION BUTTON */}
|
{/* PAGINATION BUTTON */}
|
||||||
|
|||||||
@@ -255,9 +255,9 @@ export default function History() {
|
|||||||
{/* PURCHASE SECTION */}
|
{/* PURCHASE SECTION */}
|
||||||
{tab == 'purchases' &&
|
{tab == 'purchases' &&
|
||||||
<div className="wallet w-full border-t">
|
<div className="wallet w-full border-t">
|
||||||
<h1 className="p-2 text-xl font-bold text-dark-gray dark:text-white tracking-wide">Purchases</h1>
|
{/* <h1 className="p-2 text-xl font-bold text-dark-gray dark:text-white tracking-wide">Purchases</h1> */}
|
||||||
{purchaseHistory.loading ?
|
{purchaseHistory.loading ?
|
||||||
<LoadingSpinner size='16' color='sky-blue' />
|
<LoadingSpinner size='16' color='sky-blue' height='h-[500px]' />
|
||||||
:
|
:
|
||||||
<PurchasesTable purchase={purchaseHistory} />
|
<PurchasesTable purchase={purchaseHistory} />
|
||||||
}
|
}
|
||||||
@@ -268,10 +268,10 @@ export default function History() {
|
|||||||
{/* RECENT ACTIVITY SECTION */}
|
{/* RECENT ACTIVITY SECTION */}
|
||||||
{tab == 'recent' &&
|
{tab == 'recent' &&
|
||||||
<div className="wallet w-full border-t">
|
<div className="wallet w-full border-t">
|
||||||
<h1 className="p-2 text-xl font-bold text-dark-gray dark:text-white tracking-wide">Recent Activity</h1>
|
{/* <h1 className="p-2 text-xl font-bold text-dark-gray dark:text-white tracking-wide">Recent Activity</h1> */}
|
||||||
{/* <p className='text-base text-slate-500 dark:text-white'>Activity Report</p> */}
|
{/* <p className='text-base text-slate-500 dark:text-white'>Activity Report</p> */}
|
||||||
{paymentHistory.loading ?
|
{paymentHistory.loading ?
|
||||||
<LoadingSpinner size='16' color='sky-blue' />
|
<LoadingSpinner size='16' color='sky-blue' height='h-[500px]' />
|
||||||
:
|
:
|
||||||
<RecentActivityTable payment={paymentHistory} />
|
<RecentActivityTable payment={paymentHistory} />
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,45 +16,36 @@ function PurchasesTable({purchase}) {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='flex flex-col justify-between min-h-[500px]'>
|
<div className='flex flex-col justify-between min-h-[500px]'>
|
||||||
<table className="wallet-activity w-full table-auto border-collapse text-left">
|
|
||||||
<thead className='border-b-2'>
|
|
||||||
<tr className='text-slate-600'>
|
|
||||||
<th className="p-2">Trx.</th>
|
|
||||||
<th className="p-2">Amount</th>
|
|
||||||
<th className="p-2">Fee</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
{purchase.data.length ?
|
{purchase.data.length ?
|
||||||
(
|
<table className="wallet-activity w-full table-auto border-collapse text-left">
|
||||||
<tbody>
|
<thead className='border-b-2'>
|
||||||
{currentPurchase.map((item, index) => (
|
<tr className='text-slate-600'>
|
||||||
<tr key={index} className='text-slate-500'>
|
<th className="p-2">Trx.</th>
|
||||||
<td className="p-2">{item.added_date}<br />
|
<th className="p-2">Amount</th>
|
||||||
<b>{item.confirmation} </b>
|
<th className="p-2">Fee</th>
|
||||||
</td>
|
</tr>
|
||||||
<td className="p-2">{item.amount}</td>
|
</thead>
|
||||||
<td className="p-2">{item.fee}</td>
|
<tbody>
|
||||||
</tr>
|
{currentPurchase.map((item, index) => (
|
||||||
))}
|
<tr key={index} className='text-slate-500'>
|
||||||
</tbody>
|
<td className="p-2">{item.added_date}<br />
|
||||||
)
|
<b>{item.confirmation} </b>
|
||||||
|
</td>
|
||||||
|
<td className="p-2">{item.amount}</td>
|
||||||
|
<td className="p-2">{item.fee}</td>
|
||||||
|
</tr>
|
||||||
|
))}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
:purchase.error ?
|
||||||
|
<div className="p-2 text-slate-500 flex flex-col grow justify-center items-center">
|
||||||
|
<span>Opps! an error occurred. Please try again!</span>
|
||||||
|
</div>
|
||||||
:
|
:
|
||||||
purchase.error ?
|
<div className="p-2 text-slate-500 flex flex-col grow justify-center items-center">
|
||||||
(
|
<span>No Purchase History Found!</span>
|
||||||
<tbody>
|
</div>
|
||||||
<tr className='text-slate-500'>
|
|
||||||
<td className="p-2" colSpan={4}>Opps! an error occurred. Please try again!</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
)
|
|
||||||
:
|
|
||||||
<tbody>
|
|
||||||
<tr className='text-slate-500'>
|
|
||||||
<td className="p-2" colSpan={4}>No Purchase History Found!</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
}
|
}
|
||||||
</table>
|
|
||||||
|
|
||||||
{/* PAGINATION BUTTON */}
|
{/* PAGINATION BUTTON */}
|
||||||
<PaginatedList onClick={handlePagination} prev={currentPage == 0 ? true : false} next={currentPage+Number(process.env.REACT_APP_ITEM_PER_PAGE) >= purchase?.data?.length ? true : false} data={purchase?.data} start={indexOfFirstItem} stop={indexOfLastItem} />
|
<PaginatedList onClick={handlePagination} prev={currentPage == 0 ? true : false} next={currentPage+Number(process.env.REACT_APP_ITEM_PER_PAGE) >= purchase?.data?.length ? true : false} data={purchase?.data} start={indexOfFirstItem} stop={indexOfLastItem} />
|
||||||
|
|||||||
@@ -19,16 +19,16 @@ function RecentActivityTable({ payment }) {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="flex flex-col justify-between min-h-[500px]">
|
<div className="flex flex-col justify-between min-h-[500px]">
|
||||||
<table className="wallet-activity w-full table-auto border-collapse text-left">
|
{payment?.data?.length > 0 ?
|
||||||
<thead className="border-b-2">
|
<table className="wallet-activity w-full table-auto border-collapse text-left">
|
||||||
<tr className="text-slate-600">
|
<thead className="border-b-2">
|
||||||
<th className="p-2">Date</th>
|
<tr className="text-slate-600">
|
||||||
<th className="p-4">Trx.</th>
|
<th className="p-2">Date</th>
|
||||||
<th className="p-2">Amnt./Fee</th>
|
<th className="p-4">Trx.</th>
|
||||||
<th className="p-2">Status</th>
|
<th className="p-2">Amnt./Fee</th>
|
||||||
</tr>
|
<th className="p-2">Status</th>
|
||||||
</thead>
|
</tr>
|
||||||
{payment?.data?.length > 0 ? (
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{currentActivity.map((item, index) => (
|
{currentActivity.map((item, index) => (
|
||||||
<tr key={index} className="text-slate-500">
|
<tr key={index} className="text-slate-500">
|
||||||
@@ -46,24 +46,16 @@ function RecentActivityTable({ payment }) {
|
|||||||
</tr>
|
</tr>
|
||||||
))}
|
))}
|
||||||
</tbody>
|
</tbody>
|
||||||
) : payment?.error ? (
|
</table>
|
||||||
<tbody>
|
:payment.error ?
|
||||||
<tr className="text-slate-500">
|
<div className="p-2 text-slate-500 flex flex-col grow justify-center items-center">
|
||||||
<td className="p-2" colSpan={4}>
|
<span>Opps! an error occurred. Please try again!</span>
|
||||||
Opps! an error occurred. Please try again!
|
</div>
|
||||||
</td>
|
:
|
||||||
</tr>
|
<div className="p-2 text-slate-500 flex flex-col grow justify-center items-center">
|
||||||
</tbody>
|
<span>No Payment History Found!</span>
|
||||||
) : (
|
</div>
|
||||||
<tbody>
|
}
|
||||||
<tr className="text-slate-500">
|
|
||||||
<td className="p-2" colSpan={4}>
|
|
||||||
No Payment History Found!
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
)}
|
|
||||||
</table>
|
|
||||||
|
|
||||||
{/* PAGINATION BUTTON */}
|
{/* PAGINATION BUTTON */}
|
||||||
<PaginatedList
|
<PaginatedList
|
||||||
|
|||||||
Reference in New Issue
Block a user