diff --git a/frontend/src/app/hooks/useOptimisticUI.ts b/frontend/src/app/hooks/useOptimisticUI.ts index 5264645c..1cf74429 100644 --- a/frontend/src/app/hooks/useOptimisticUI.ts +++ b/frontend/src/app/hooks/useOptimisticUI.ts @@ -236,7 +236,11 @@ export function useTransaction(id: string) { sign: (message?: string) => store.signTransaction(id, message), fail: (error: string) => store.failTransaction(id, error), clear: () => store.clearTransaction(id), - isLoading: transaction?.status === "pending" || transaction?.status === "signing", + isLoading: + transaction?.status === "pending" || + transaction?.status === "signing" || + transaction?.status === "submitted" || + transaction?.status === "confirming", isSigning: transaction?.status === "signing", isSubmitted: transaction?.status === "submitted", isConfirming: transaction?.status === "confirming", diff --git a/frontend/src/app/hooks/useRepaymentOperation.ts b/frontend/src/app/hooks/useRepaymentOperation.ts index 56a16f33..06a40060 100644 --- a/frontend/src/app/hooks/useRepaymentOperation.ts +++ b/frontend/src/app/hooks/useRepaymentOperation.ts @@ -20,7 +20,7 @@ * ``` */ -import { useCallback, useState } from "react"; +import { useCallback, useId, useState } from "react"; import { useQueryClient } from "@tanstack/react-query"; import { useTransaction } from "./useOptimisticUI"; import { useWallet } from "../components/providers/WalletProvider"; @@ -47,7 +47,8 @@ export function useRepaymentOperation(options?: { onError?: (error: Error) => void; }) { const queryClient = useQueryClient(); - const transactionId = `repayment-${Date.now()}`; + const uid = useId(); + const transactionId = `repayment-${uid}`; const transaction = useTransaction(transactionId); const [error, setError] = useState(null); @@ -126,7 +127,8 @@ export function useDepositOperation(options?: { const buildDeposit = useDepositToPool(); const { data: poolStats } = usePoolStats(); - const transactionId = `deposit-${Date.now()}`; + const uid = useId(); + const transactionId = `deposit-${uid}`; const transaction = useTransaction(transactionId); const [error, setError] = useState(null); @@ -217,7 +219,8 @@ export function useWithdrawalOperation(options?: { const buildWithdraw = useWithdrawFromPool(); const { data: poolStats } = usePoolStats(); - const transactionId = `withdrawal-${Date.now()}`; + const uid = useId(); + const transactionId = `withdrawal-${uid}`; const transaction = useTransaction(transactionId); const [error, setError] = useState(null);