From 9cc3e9d134d073f5ac4c4dbb5ab5f37e5170d5ee Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Sat, 13 Sep 2025 07:14:20 -0400 Subject: [PATCH] Recent page added --- src/SiteRoutes.jsx | 5 +- src/components/recent_signup/RecentSignup.jsx | 135 ++++++++++++++++++ src/pages/RecentSignupPage.jsx | 8 ++ 3 files changed, 146 insertions(+), 2 deletions(-) create mode 100644 src/components/recent_signup/RecentSignup.jsx create mode 100644 src/pages/RecentSignupPage.jsx diff --git a/src/SiteRoutes.jsx b/src/SiteRoutes.jsx index eb262fe..fcdad9e 100644 --- a/src/SiteRoutes.jsx +++ b/src/SiteRoutes.jsx @@ -16,7 +16,8 @@ import TransactionDetailsPage from './pages/TransactionDetailsPage' // TRANSACTI import OffersPage from './pages/OffersPage' // LOAN OFFERS PAGE import ErrorPage from './pages/ErrorPage'; -import UsersAdminPage from "./pages/UsersAdminPage"; // ERROR PAGE +import UsersAdminPage from "./pages/UsersAdminPage"; +import RecentSignupPage from "./pages/RecentSignupPage"; // ERROR PAGE // const Home = lazy(() => import('./pages/Home')); @@ -28,7 +29,7 @@ export default function SiteRoutes() { }> } /> {`*/HOME PAGE*/`} - } /> {`*/HOME PAGE*/`} + } /> {`*/HOME PAGE*/`} } /> {`*/SUBSCRIPTIONS PAGE*/`} } /> {`*/CUSTOMER PAGE*/`} } /> {`*/BILLINGS PAGE*/`} diff --git a/src/components/recent_signup/RecentSignup.jsx b/src/components/recent_signup/RecentSignup.jsx new file mode 100644 index 0000000..4d5356f --- /dev/null +++ b/src/components/recent_signup/RecentSignup.jsx @@ -0,0 +1,135 @@ +import React, { useState } from 'react' +import { useQuery } from "@tanstack/react-query"; + +import BreadcrumbCom from '../breadcrumb/BreadcrumbCom' +import TablePaginatedWrapper from '../tableWrapper/TablePaginatedWrapper' +import Icons from '../Icons' + +import Avatar from '../../assets/user_avatar.jpg' +import queryKeys from '../../services/queryKeys' +import { getOffers } from '../../services/siteServices' +// import getDateFromDateString from '../../helpers/GetDateFromDateString'; +import formatNumber from '../../helpers/formatNumber'; + +export default function RecentSignup() { + + const [page, setPage] = useState(1) + + const {data, isFetching, isError, error} = useQuery({ + queryKey: [...queryKeys.offers, page], + queryFn: () => getOffers({page}), + staleTime: 0, + // placeholderData: keepPreviousData, + }) + + const offers = data?.data?.offers // LOAN CHARGES LIST + const pagination = data?.data?.pagination + console.log('offers', offers) + + return ( +
+ + +
+ {isFetching ? + <> +

Loading...

+ + : isError ? +

{error.message}

+ : + + {({ data }) => ( + <> + + + + + + + + + + + + + + {(data && data.length > 0) ? data?.map((item, index) => ( + + + + + + + + + + )) + : + + + + } + +
+ Name + + Interest Rate + + Insurance Rate + + Mgt. Rate + + Max/Min Amount + + Tenor + + Action +
+
+ Jese +
+
{item?.product_id || ''}
+ {/*
{item?.description}
*/} +
+
+
+
+
{formatNumber(item?.interest_rate)}
+
+
+
+
{formatNumber(item?.insurance_rate)}
+
+
+
+
{formatNumber(item?.management_rate)}
+
+
+
+
{formatNumber(item?.maximum_amount)}
+
{formatNumber(item?.minimum_amount)}
+
+
+
+
{item?.tenor}
+
+
+
+
+ +
+
+
+
+ No Record Found +
+
+ + )} +
+ } +
+
+ ) +} \ No newline at end of file diff --git a/src/pages/RecentSignupPage.jsx b/src/pages/RecentSignupPage.jsx new file mode 100644 index 0000000..b5ec956 --- /dev/null +++ b/src/pages/RecentSignupPage.jsx @@ -0,0 +1,8 @@ +import React from 'react' +import RecentSignup from "../components/recent_signup/RecentSignup"; + +export default function RecentSignupPage() { + return ( + + ) +}