-
+
{text}
-
+
Try Again
+
+
+
+ Try Again
+
+
);
diff --git a/explorer/src/components/TransactionsCard.tsx b/explorer/src/components/TransactionsCard.tsx
index 1e3e9fad9e..6218378d09 100644
--- a/explorer/src/components/TransactionsCard.tsx
+++ b/explorer/src/components/TransactionsCard.tsx
@@ -2,24 +2,20 @@ import React from "react";
import { Link } from "react-router-dom";
import {
useTransactions,
- useTransactionsDispatch,
- checkTransactionStatus,
- ActionType,
TransactionStatus,
Source,
- FetchStatus
+ FetchStatus,
+ useFetchTransactionStatus
} from "../providers/transactions";
import bs58 from "bs58";
import { assertUnreachable } from "../utils";
-import { useCluster } from "../providers/cluster";
import Copyable from "./Copyable";
function TransactionsCard() {
const { transactions, idCounter } = useTransactions();
- const dispatch = useTransactionsDispatch();
+ const fetchTransaction = useFetchTransactionStatus();
const signatureInput = React.useRef
(null);
const [error, setError] = React.useState("");
- const { url } = useCluster();
const onNew = (signature: string) => {
if (signature.length === 0) return;
@@ -37,13 +33,7 @@ function TransactionsCard() {
return;
}
- dispatch({
- type: ActionType.FetchSignature,
- signature,
- source: Source.Input
- });
- checkTransactionStatus(dispatch, signature, url);
-
+ fetchTransaction(signature, Source.Input);
const inputEl = signatureInput.current;
if (inputEl) {
inputEl.value = "";
@@ -98,9 +88,7 @@ function TransactionsCard() {
- |
|
- {transactions.map(transaction =>
- renderTransactionRow(transaction, dispatch, url)
- )}
+ {transactions.map(transaction => renderTransactionRow(transaction))}
@@ -120,11 +108,7 @@ const renderHeader = () => {
);
};
-const renderTransactionRow = (
- transactionStatus: TransactionStatus,
- dispatch: any,
- url: string
-) => {
+const renderTransactionRow = (transactionStatus: TransactionStatus) => {
const { fetchStatus, info, signature, id } = transactionStatus;
let statusText;
@@ -162,30 +146,6 @@ const renderTransactionRow = (
confirmationsText = `${info.confirmations}`;
}
- const renderDetails = () => {
- if (info?.confirmations === "max") {
- return (
-