diff --git a/src/Services/api.service.js b/src/Services/api.service.js index 01494dd..250f1ea 100644 --- a/src/Services/api.service.js +++ b/src/Services/api.service.js @@ -10,31 +10,31 @@ export const rubix = createApi({ }), tagTypes: [ "getTransCount", - "getTransAll" + "getTransAll", + "getTransById", + "getMainNet" ], endpoints: (builder) => ({ - getTransCount: builder.query({ query: () => `api/Analytics/Transactions/GetCount`, providesTags: ["getTransCount"], }), - - getTransAll: builder.query({ - query: ({ pageNumber = 1, pageSize = 10 }) => - `api/Analytics/Transactions/GetAll?pageNumber=${pageNumber}&pageSize=${pageSize}`, + query: ({ pageNumber = 1, pageSize = 10 }) => `api/Analytics/Transactions/GetAll?pageNumber=${pageNumber}&pageSize=${pageSize}`, providesTags: ["getTransAll"], }), getTransById: builder.query({ - query: (id) => - `/api/Transaction/GetById/${id}`, - providesTags: ["getTransAll"], + query: (id) => `/api/Transaction/GetById/${id}`, + providesTags: ["getTransById"], }), - + getMainNet: builder.query({ + query: ({ pageNumber = 1, pageSize = 10 }) => `api/MainNet/Transactions/GetAll?pageNumber=${pageNumber}&pageSize=${pageSize}`, + providesTags: ["getMainNet"], + }), }), }); @@ -42,4 +42,5 @@ export const { useGetTransCountQuery, useGetTransAllQuery, useGetTransByIdQuery, + useGetMainNetQuery, } = rubix; diff --git a/src/components/ChartsTabs.jsx b/src/components/ChartsTabs.jsx index b269db8..e2c3c8f 100644 --- a/src/components/ChartsTabs.jsx +++ b/src/components/ChartsTabs.jsx @@ -22,15 +22,15 @@ function ChartsTabs({ selectedValue, setSelectedValue, days }) { const checkbox = getRadioProps(); return ( - + {props.children} @@ -61,13 +61,26 @@ function ChartsTabs({ selectedValue, setSelectedValue, days }) { const group = getRootProps(); return ( - - + + + + + Last {/* */} - - - {options.map((value) => { const radio = getRadioProps({ value }); return ( diff --git a/src/components/LatestTransactions/LatestTransactions.jsx b/src/components/LatestTransactions/LatestTransactions.jsx index cb0321b..8f19d9f 100644 --- a/src/components/LatestTransactions/LatestTransactions.jsx +++ b/src/components/LatestTransactions/LatestTransactions.jsx @@ -144,7 +144,7 @@ const LatestTransactions = () => { // bg={"#232127"} roundedTop={"lg"} > - + Sr. no @@ -162,7 +162,7 @@ const LatestTransactions = () => { gap={2} onClick={handleRefreshClick} // Trigger the rotation when clicked > - Last refresh {relativeRefreshTime} + Last refresh {relativeRefreshTime} {transAll?.data?.items?.map( ( diff --git a/src/pages/Home.jsx b/src/pages/Home.jsx index 7a28217..38844b4 100644 --- a/src/pages/Home.jsx +++ b/src/pages/Home.jsx @@ -142,6 +142,8 @@ const Home = () => { > Latest Transactions + + { - const { overview } = useContext(GlobalStateContext); const { colorMode} = useColorMode(); const navigate = useNavigate() - const toast = useToast() + + + const [isRotating, setIsRotating] = useState(false); + const [currentPage, setCurrentPage] = useState(1); // Tracks the current page + const [pageSize, setPageSize] = useState(10); // Number of items per page + const [totalItems, setTotalItems] = useState(null); // Total items in the dataset + const [lastRefreshedTime, setLastRefreshedTime] = useState(new Date()); // Store the last refresh time + const [relativeRefreshTime, setRelativeRefreshTime] = useState("Just now"); + + const { + data: mainNetData, + isLoading: isMainNetDataLoading, + refetch: mainNetRefetch + } = useGetMainNetQuery({ + pageNumber: currentPage, + pageSize: pageSize, + }) + + console.log(mainNetData); + + + useEffect(() => { + setTotalItems(mainNetData?.data?.totalCount); + }, [mainNetData]); + function copyToClipboard(text) { navigator.clipboard .writeText(text) .then(() => { - // console.log('Text copied to clipboard'); - // alert('Text copied to clipboard'); toast({ render: () => ( @@ -44,14 +68,14 @@ const MainNet = () => { Main Net - Overview - + {/* View total number of records - + */} @@ -71,236 +95,280 @@ const MainNet = () => { - {overview.map((transaction, index) => ( - - - {index + 1}. - - - {/* */} - - - - - copyToClipboard(transaction.description)} - /> - - - - - - Sender: - - - - - - - copyToClipboard(transaction.sender)} - /> - - - - - - Receiver: - - - - navigate(`/did-info/${transaction.receiver}`) - } - > - {transaction.receiver} - - - copyToClipboard(transaction.receiver)} - /> - - - - - - - Smart contract ID : - - - {transaction.contract} - - - - - Date and Time Stamp : - - - {transaction.date} - - - - - Amount: - - - {transaction.amount} - - - - - - - - - - - Transaction type : - - - {transaction.transactionType} - - - - - Main net : - navigate(`/mainnet-id-overview/${transaction.subnetID}`)} color={colorMode === "light" ? "#230A79" : "#B09AFF"}> - {transaction.subnetID} - - - - - {/* */} - - - ))} + {mainNetData?.data?.items?.map( + ( + { + transactionId, + smartContract, + sender, + receiver, + contract, + timestamp, + amount, + transactionType, + subNetworkId, + }, + index + ) => ( + + + {index + 1}. + + + {/* */} + + + + + copyToClipboard(transactionId)} + /> + + + + + + Sender: + + + + + + copyToClipboard(sender)} /> + + + + + + Receiver: + + + navigate(`/did-info/${receiver}`)} + > + {receiver} + + + copyToClipboard(receiver)} + /> + + + + + {smartContract && ( + + + Smart contract ID : + + + {smartContract} + + + )} + + + Date and Time Stamp : + + + {formatRelativeDate(timestamp)} + + + + + Amount: + + + + {amount} + + + + + + + + + + + Transaction type : + + + {transactionType} + + + + + + {subNetworkId === "MainNet" ? "Main net" : "Subnet ID"}{" "} + : + + + + {subNetworkId} + + + + + + {/* */} + + + ) + )} - +