Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c71d901556 | |||
| 804f76100a | |||
| 64f6e55fb6 | |||
| 16119dc332 |
@@ -75,4 +75,23 @@ export const AmountTo2DP = (
|
||||
|
||||
// return formattedNumber;
|
||||
return formattedNumber;
|
||||
};
|
||||
|
||||
|
||||
|
||||
// FUNCTION TO RETURN CURRENCY SYMBOL
|
||||
export const currencySymbol = (
|
||||
currencyName = "naira",
|
||||
amount = "00",
|
||||
) => {
|
||||
// Cureency Array
|
||||
let currencyArray = [
|
||||
{currencyName:'naira', symbol:'₦'},
|
||||
{currencyName:'usd', symbol:'$'},
|
||||
]
|
||||
|
||||
const matchedCurrency = currencyArray.filter(item => item.currencyName.toLocaleLowerCase() == currencyName.toLocaleLowerCase())
|
||||
const amountTo2DP = AmountTo2DP(amount)
|
||||
// return formattedNumber;
|
||||
return matchedCurrency.length ? <><span>{matchedCurrency[0].symbol}</span><span>{amountTo2DP}</span></> : <><span>$</span><span>{amountTo2DP}</span></>;
|
||||
};
|
||||
@@ -7,7 +7,7 @@ import PaginatedList from '../../components/Pagination/PaginatedList';
|
||||
|
||||
import LoadingSpinner from '../Spinners/LoadingSpinner';
|
||||
|
||||
import { AmountTo2DP, PriceFormatter } from '../Helpers/PriceFormatter';
|
||||
import { currencySymbol } from '../Helpers/PriceFormatter';
|
||||
import {NewDateTimeFormatter} from '../../lib/NewDateTimeFormatter'
|
||||
|
||||
function JobsCompleted() {
|
||||
@@ -76,10 +76,7 @@ function JobsCompleted() {
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td className="p-4 flex text-right justify-end items-center">{AmountTo2DP(item?.price*0.01)} {item?.currency_code}</td>
|
||||
{/* <td className="p-4 text-right">{PriceFormatter(item?.price*0.01, item?.currency_code)}</td> */}
|
||||
{/* <td className="p-4">{date}</td>
|
||||
<td className="p-4">{item?.contract}</td> */}
|
||||
<td className="p-4 flex text-right justify-end items-center">{currencySymbol(item?.currency_code, item?.price*0.01)}</td>
|
||||
</tr>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import PaginatedList from '../../components/Pagination/PaginatedList';
|
||||
|
||||
import LoadingSpinner from '../Spinners/LoadingSpinner';
|
||||
|
||||
import { AmountTo2DP } from '../Helpers/PriceFormatter';
|
||||
import { currencySymbol } from '../Helpers/PriceFormatter';
|
||||
|
||||
|
||||
export const RewardsTable = memo(() => {
|
||||
@@ -47,7 +47,7 @@ export const RewardsTable = memo(() => {
|
||||
}, [])
|
||||
|
||||
return (
|
||||
<div className='py-4 flex flex-col justify-between min-h-[500px]'>
|
||||
<div className='py-4 flex flex-col justify-between min-h-[500px] w-full overflow-x-auto'>
|
||||
{familyRewardHistory.loading ?
|
||||
<LoadingSpinner size='16' color='sky-blue' height='h-[500px]' />
|
||||
: familyRewardHistory.data.length ?
|
||||
@@ -55,9 +55,9 @@ export const RewardsTable = memo(() => {
|
||||
<thead className='w-full'>
|
||||
<tr className='text-slate-600 dark:text-white'>
|
||||
<th className="p-4"></th>
|
||||
<th className="p-4 text-right">Amount</th>
|
||||
<th className="p-4">Date</th>
|
||||
<th className="p-4">Confirmation</th>
|
||||
<th className="p-4 text-center">Amount</th>
|
||||
<th className="p-4 text-center">Date</th>
|
||||
<th className="p-4 text-center">Confirmation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -65,7 +65,7 @@ export const RewardsTable = memo(() => {
|
||||
let date = new Date(item.added).toLocaleDateString()
|
||||
return (
|
||||
<tr key={index} className='dark:text-white dark:bg-dark-white border-y dark:border-[#5356fb29] hover:bg-gray-50 dark:hover:bg-gray-50 dark:hover:text-black transition-all duration-300'>
|
||||
<td className="p-4 min-w-[350px] max-w-[400px]">
|
||||
<td className="p-4 min-w-[300px]">
|
||||
<div className='flex w-full items-center gap-2'>
|
||||
<img src={item.icon} className='min-w-[60px] max-w-[60px] min-h-[60px] max-h-[60px] rounded-full bg-slate-500' alt='Reward Logo' />
|
||||
<div className='flex flex-col w-full'>
|
||||
@@ -74,9 +74,9 @@ export const RewardsTable = memo(() => {
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td className="p-4 text-right">{AmountTo2DP(item.amount*0.01)} {item.currency}</td>
|
||||
<td className="p-4">{date}</td>
|
||||
<td className="p-4">{item.confirmation}</td>
|
||||
<td className="p-4 text-right flex-nowrap">{currencySymbol(item.currency, item.amount*0.01)}</td>
|
||||
<td className="p-4 text-center">{date}</td>
|
||||
<td className="p-4 text-center">{item.confirmation}</td>
|
||||
</tr>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -127,7 +127,7 @@ export default function History() {
|
||||
</div>
|
||||
</div>
|
||||
<div className="w-[1px] bg-[#E3E4FE] dark:bg-[#a7a9b533] mr-10"></div>
|
||||
<div className="flex-1 overflow-y-auto min-h-[520px]">
|
||||
<div className="w-full overflow-y-auto min-h-[520px]">
|
||||
<>
|
||||
{/* PURCHASE SECTION */}
|
||||
{selectedTab == 'purchases' &&
|
||||
|
||||
@@ -3,6 +3,8 @@ import React, {useState} from 'react'
|
||||
import PaginatedList from '../../Pagination/PaginatedList';
|
||||
import { handlePagingFunc } from '../../Pagination/HandlePagination';
|
||||
|
||||
import { currencySymbol } from '../../Helpers/PriceFormatter';
|
||||
|
||||
function PurchasesTable({purchase}) {
|
||||
|
||||
const [currentPage, setCurrentPage] = useState(0);
|
||||
@@ -31,8 +33,8 @@ function PurchasesTable({purchase}) {
|
||||
<td className="p-4">{item.added_date}<br />
|
||||
<b>{item.confirmation} </b>
|
||||
</td>
|
||||
<td className="p-4 text-right">{item.amount}</td>
|
||||
<td className="p-4 text-right">{item.fee}</td>
|
||||
<td className="p-4 text-right">{currencySymbol('', item.amount)}</td>
|
||||
<td className="p-4 text-right">{currencySymbol('', item.fee)}</td>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
|
||||
@@ -3,6 +3,8 @@ import React, { useState } from "react";
|
||||
import PaginatedList from "../../Pagination/PaginatedList";
|
||||
import { handlePagingFunc } from "../../Pagination/HandlePagination";
|
||||
|
||||
import { currencySymbol } from '../../Helpers/PriceFormatter';
|
||||
|
||||
function RecentActivityTable({ payment }) {
|
||||
const [currentPage, setCurrentPage] = useState(0);
|
||||
const indexOfFirstItem = Number(currentPage);
|
||||
@@ -38,9 +40,9 @@ function RecentActivityTable({ payment }) {
|
||||
dangerouslySetInnerHTML={{ __html: item.recipient }}
|
||||
></td>
|
||||
<td className="p-4 text-right">
|
||||
{item.amount}
|
||||
{currencySymbol('', item.amount)}
|
||||
<br />
|
||||
{item.fee}
|
||||
{currencySymbol('', item.fee)}
|
||||
</td>
|
||||
<td className="p-4">{item.status}</td>
|
||||
</tr>
|
||||
|
||||
@@ -413,7 +413,7 @@ export default function Header({ logoutModalHandler, sidebarHandler }) {
|
||||
</div>
|
||||
</Link>
|
||||
</li>
|
||||
{userDetails && userDetails?.account_type !== "FAMILY" && (
|
||||
{(userDetails && userDetails?.account_type !== "FAMILY" && Number(process.env.REACT_APP_SHOW_USER_PAGE) == 1) && (
|
||||
<li className="content-item my-2 hover:bg-slate-100 transition duration-500 rounded-lg">
|
||||
<Link to="/yourpage" className="notifications">
|
||||
<div className="name">
|
||||
|
||||
@@ -457,7 +457,7 @@ export default function MediaHeader({ logoutModalHandler, sidebarHandler, backpa
|
||||
</div>
|
||||
</Link>
|
||||
</li>
|
||||
{userDetails && userDetails?.account_type !== "FAMILY" && (
|
||||
{(userDetails && userDetails?.account_type !== "FAMILY" && Number(process.env.REACT_APP_SHOW_USER_PAGE) == 1) && (
|
||||
<li className="content-item my-2 hover:bg-slate-100 transition duration-500 rounded-lg">
|
||||
<Link to="/yourpage" className="notifications">
|
||||
<div className="name">
|
||||
|
||||
@@ -2,9 +2,10 @@ import ProductCardStyleTwo from "../../Cards/ProductCardStyleTwo";
|
||||
import DataIteration from "../../Helpers/DataIteration";
|
||||
import SearchCom from "../../Helpers/SearchCom";
|
||||
import ResourceBlogCard from "../../Cards/ResourceBlogCard";
|
||||
import NewPaginatedList from '../../../components/Pagination/NewPaginatedList'
|
||||
|
||||
export default function BlogTab({ className, blogdata }) {
|
||||
console.log("Blog data here>> ", blogdata);
|
||||
// console.log("Blog data here>> ", blogdata);
|
||||
// debugger;
|
||||
return (
|
||||
<>
|
||||
@@ -15,33 +16,9 @@ export default function BlogTab({ className, blogdata }) {
|
||||
<div className="sm:w-1/2 w-full sm:pr-20 pr-0 mb-5 sm:mb-0">
|
||||
<SearchCom placeholder='Search Blog Items...' />
|
||||
</div>
|
||||
{/* filer-dropdown */}
|
||||
<div className="flex-1 flex sm:justify-end">
|
||||
{/* <div className="flex space-x-1 items-center">*/}
|
||||
{/*<span className="text-18 text-thin-light-gray">*/}
|
||||
{/* Recently Received*/}
|
||||
{/*</span>*/}
|
||||
{/* <span>*/}
|
||||
{/* <svg*/}
|
||||
{/* width="20"*/}
|
||||
{/* height="10"*/}
|
||||
{/* viewBox="0 0 13 6"*/}
|
||||
{/* fill="none"*/}
|
||||
{/* xmlns="http://www.w3.org/2000/svg"*/}
|
||||
{/* >*/}
|
||||
{/* <path*/}
|
||||
{/* opacity="0.7"*/}
|
||||
{/* d="M12.4124 0.247421C12.3327 0.169022 12.2379 0.106794 12.1335 0.0643287C12.0291 0.0218632 11.917 0 11.8039 0C11.6908 0 11.5787 0.0218632 11.4743 0.0643287C11.3699 0.106794 11.2751 0.169022 11.1954 0.247421L7.27012 4.07837C7.19045 4.15677 7.09566 4.219 6.99122 4.26146C6.88678 4.30393 6.77476 4.32579 6.66162 4.32579C6.54848 4.32579 6.43646 4.30393 6.33202 4.26146C6.22758 4.219 6.13279 4.15677 6.05312 4.07837L2.12785 0.247421C2.04818 0.169022 1.95338 0.106794 1.84895 0.0643287C1.74451 0.0218632 1.63249 0 1.51935 0C1.40621 0 1.29419 0.0218632 1.18975 0.0643287C1.08531 0.106794 0.990517 0.169022 0.910844 0.247421C0.751218 0.404141 0.661621 0.616141 0.661621 0.837119C0.661621 1.0581 0.751218 1.2701 0.910844 1.42682L4.84468 5.26613C5.32677 5.73605 5.98027 6 6.66162 6C7.34297 6 7.99647 5.73605 8.47856 5.26613L12.4124 1.42682C12.572 1.2701 12.6616 1.0581 12.6616 0.837119C12.6616 0.616141 12.572 0.404141 12.4124 0.247421Z"*/}
|
||||
{/* fill="#374557"*/}
|
||||
{/* fillOpacity="0.6"*/}
|
||||
{/* />*/}
|
||||
{/* </svg>*/}
|
||||
{/*</span>*/}
|
||||
{/* </div>*/}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="content-section w-full-width">
|
||||
{/* <div className="content-section w-full-width">
|
||||
<div className="grid lg:grid-cols-3 sm:grid-cols-2 grid-cols-1 gap-[30px]">
|
||||
<DataIteration
|
||||
datas={blogdata?.blogdata}
|
||||
@@ -57,7 +34,42 @@ export default function BlogTab({ className, blogdata }) {
|
||||
)}
|
||||
</DataIteration>
|
||||
</div>
|
||||
</div> */}
|
||||
|
||||
{blogdata?.blogdata?.length ?
|
||||
<NewPaginatedList
|
||||
data={blogdata?.blogdata}
|
||||
itemsPerPage={9}
|
||||
filterItem=''
|
||||
tableTitle=''
|
||||
>
|
||||
{
|
||||
({data})=>(
|
||||
<div className="filter-navigate-content w-full min-h-[600px]">
|
||||
<div
|
||||
className={"grid lg:grid-cols-3 sm:grid-cols-2 gap-[30px]"}
|
||||
>
|
||||
{
|
||||
data.map((datum, index) => (
|
||||
<div key={index}>
|
||||
<ResourceBlogCard
|
||||
key={index}
|
||||
datas={datum}
|
||||
bg={blogdata.image_url}
|
||||
/>
|
||||
</div>
|
||||
))
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
</NewPaginatedList>
|
||||
:
|
||||
<div className="w-full h-[40rem] bg-white dark:bg-dark-white flex justify-center items-center">
|
||||
No Blog Found!
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</>
|
||||
|
||||
@@ -120,7 +120,7 @@ export default function ChangePasswordTab() {
|
||||
className="input-label text-dark-gray dark:text-white text-xl font-bold block mb-2.5"
|
||||
htmlFor="old_password"
|
||||
>
|
||||
Old Password <span className="text-[10px] text-red-500 italic px-2">{(inputEmpty && !inputs.old_pwd) && 'required'}</span>
|
||||
Current Password <span className="text-[10px] text-red-500 italic px-2">{(inputEmpty && !inputs.old_pwd) && 'required'}</span>
|
||||
</label>
|
||||
<div className="input-wrapper border border-light-purple dark:border-[#5356fb29] w-full rounded-[50px] h-[58px] overflow-hidden relative ">
|
||||
<div className="absolute left-6 bottom-[17px] z-10">
|
||||
|
||||
@@ -91,8 +91,8 @@ export default function Settings({ faq }) {
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
name: "login_activity",
|
||||
title: "Login Activity",
|
||||
name: "preferences",
|
||||
title: "Preferences",
|
||||
iconName: "login-activity",
|
||||
},
|
||||
{
|
||||
@@ -166,7 +166,7 @@ export default function Settings({ faq }) {
|
||||
<NotificationSettingTab />
|
||||
</div>
|
||||
),
|
||||
login_activity: <LoginActivityTab />,
|
||||
preferences: <LoginActivityTab />,
|
||||
recent_activities: <RecentActivitiesTab />,
|
||||
password: <ChangePasswordTab />,
|
||||
faq: <FaqTab datas={faq} />,
|
||||
|
||||
Reference in New Issue
Block a user