99 lines
5.3 KiB
React
99 lines
5.3 KiB
React
import React from 'react'
|
|
import Img from '../../../assets/user_avatar.jpg'
|
|
import CustomCounter from '../../CustomCounter'
|
|
|
|
export default function RecentPaymentsBar({data, isFetching, isError, error}) {
|
|
return (
|
|
<div className='h-full p-2 sm:p-4 large:p-8 flex flex-col gap-16 overflow-y-auto aside-scroll-design'>
|
|
<div className='flex flex-col gap-4'>
|
|
<p className='text-base text-white-body font-bold'>Recent Payments [7 days]</p>
|
|
{isFetching ?
|
|
<div className='w-full flex justify-center'>
|
|
<div className="w-6 h-6 border-2 border-gray-300 border-b-gray-500 rounded-full animate-spin"></div>
|
|
</div>
|
|
:
|
|
isError ?
|
|
<p className='text-base text-white-body font-bold'>{error?.message}</p>
|
|
:
|
|
<div className='grid grid-cols-2 gap-4 sm:gap-6 large:gap-8'>
|
|
<div className='p-2 sm:p-3 large:p-4 flex flex-col border border-slate-500 border-dashed'>
|
|
<p className='text-base font-bold text-white-body'>
|
|
<CustomCounter targetNumber={18} timeInSeconds={1} />
|
|
</p>
|
|
<p className='text-sm text-slate-500'>Approved</p>
|
|
</div>
|
|
<div className='p-2 sm:p-3 large:p-4 flex flex-col border border-slate-500 border-dashed'>
|
|
<p className='text-base font-bold text-white-body'>
|
|
<CustomCounter targetNumber={5} timeInSeconds={1} />
|
|
</p>
|
|
<p className='text-sm text-slate-500'>Verified</p>
|
|
</div>
|
|
<div className='p-2 sm:p-3 large:p-4 flex flex-col border border-slate-500 border-dashed'>
|
|
<p className='text-base font-bold text-white-body'>
|
|
<CustomCounter targetNumber={1} timeInSeconds={1} />
|
|
</p>
|
|
<p className='text-sm text-slate-500'>Failed</p>
|
|
</div>
|
|
<div className='p-2 sm:p-3 large:p-4 flex flex-col border border-slate-500 border-dashed'>
|
|
<p className='text-base font-bold text-white-body'>
|
|
<CustomCounter targetNumber={1} timeInSeconds={1} />
|
|
</p>
|
|
<p className='text-sm text-slate-500'>Total</p>
|
|
</div>
|
|
</div>
|
|
}
|
|
</div>
|
|
<div className='flex flex-col gap-4'>
|
|
<p className='text-base text-white-body font-bold'>Recent Login</p>
|
|
{isFetching ?
|
|
<div className='w-full flex justify-center'>
|
|
<div className="w-6 h-6 border-2 border-gray-300 border-b-gray-500 rounded-full animate-spin"></div>
|
|
</div>
|
|
:
|
|
isError ?
|
|
<p className='text-base text-white-body font-bold'>{error?.message}</p>
|
|
:
|
|
<div className='flex flex-col gap-4'>
|
|
<div className='flex gap-3 items-center'>
|
|
<div className='px-4 py-2 bg-[#0E172E] rounded-md'>
|
|
<img src={Img} className='w-8' alt="Order" />
|
|
</div>
|
|
<div className='flex-col'>
|
|
<p className='text-base font-bold text-white-body'>Project Briefing</p>
|
|
<p className='text-sm text-slate-500'>Project Manager</p>
|
|
</div>
|
|
</div>
|
|
<div className='flex gap-3 items-center'>
|
|
<div className='px-4 py-2 bg-[#0E172E] rounded-md'>
|
|
<img src={Img} className='w-8' alt="Order" />
|
|
</div>
|
|
<div className='flex-col'>
|
|
<p className='text-base font-bold text-white-body'>Project Briefing</p>
|
|
<p className='text-sm text-slate-500'>Project Manager</p>
|
|
</div>
|
|
</div>
|
|
<div className='flex gap-3 items-center'>
|
|
<div className='px-4 py-2 bg-[#0E172E] rounded-md'>
|
|
<img src={Img} className='w-8' alt="Order" />
|
|
</div>
|
|
<div className='flex-col'>
|
|
<p className='text-base font-bold text-white-body'>Project Briefing</p>
|
|
<p className='text-sm text-slate-500'>Project Manager</p>
|
|
</div>
|
|
</div>
|
|
<div className='flex gap-3 items-center'>
|
|
<div className='px-4 py-2 bg-[#0E172E] rounded-md'>
|
|
<img src={Img} className='w-8' alt="Order" />
|
|
</div>
|
|
<div className='flex-col'>
|
|
<p className='text-base font-bold text-white-body'>Project Briefing</p>
|
|
<p className='text-sm text-slate-500'>Project Manager</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|