Skip to content

Commit fedfe7e

Browse files
committed
added multiple transaction tracking for price section
1 parent b911c55 commit fedfe7e

File tree

2 files changed

+25
-22
lines changed

2 files changed

+25
-22
lines changed

packages/checkout/src/hooks/useTransactionCounter.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
11
import { useState } from 'react'
22

33
export const useTransactionCounter = () => {
4-
const [transactionCount, setTransactionCount] = useState(1)
4+
const [currentTransactionNumber, setCurrentTransactionNumber] = useState(1)
55
const [maxTransactions, setMaxTransactions] = useState(0)
66

77
const initializeTransactionCounter = (maxTransactions: number) => {
8-
setTransactionCount(1)
8+
setCurrentTransactionNumber(1)
99
setMaxTransactions(maxTransactions)
1010
}
1111

1212
const resetTransactionCounter = () => {
13-
setTransactionCount(1)
13+
setCurrentTransactionNumber(1)
1414
setMaxTransactions(0)
1515
}
1616

1717
const incrementTransactionCount = () => {
18-
setTransactionCount(transactionCount + 1)
18+
setCurrentTransactionNumber(currentTransactionNumber + 1)
1919
}
2020

2121
const isTransactionCounterInitialized = maxTransactions > 0
2222

2323
return {
24-
transactionCount,
24+
currentTransactionNumber,
2525
maxTransactions,
2626
incrementTransactionCount,
2727
initializeTransactionCounter,

packages/checkout/src/views/Checkout/PaymentMethodSelect/PayWithCrypto/index.tsx

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ export const PayWithCryptoTab = ({ skipOnCloseCallback, isSwitchingChainRef }: P
5151
const {
5252
initializeTransactionCounter,
5353
incrementTransactionCount,
54-
transactionCount,
54+
currentTransactionNumber,
5555
maxTransactions,
5656
isTransactionCounterInitialized,
5757
resetTransactionCounter
@@ -364,6 +364,7 @@ export const PayWithCryptoTab = ({ skipOnCloseCallback, isSwitchingChainRef }: P
364364
setIsError(true)
365365
}
366366

367+
resetTransactionCounter()
367368
setIsPurchasing(false)
368369
}
369370

@@ -531,6 +532,7 @@ export const PayWithCryptoTab = ({ skipOnCloseCallback, isSwitchingChainRef }: P
531532
}
532533

533534
setIsPurchasing(false)
535+
resetTransactionCounter()
534536
}
535537

536538
const onClickPurchase = () => {
@@ -590,21 +592,6 @@ export const PayWithCryptoTab = ({ skipOnCloseCallback, isSwitchingChainRef }: P
590592
)
591593
}
592594

593-
const TransactionCounterInfo = () => {
594-
return (
595-
<div className="flex flex-row justify-between items-center w-full">
596-
<Text variant="xsmall" color="text50">
597-
{`${transactionCount} / ${maxTransactions}`}
598-
{isTransactionCounterInitialized && (
599-
<Text variant="xsmall" color="text50">
600-
"counter initialized"
601-
</Text>
602-
)}
603-
</Text>
604-
</div>
605-
)
606-
}
607-
608595
if (isLoading) {
609596
return (
610597
<div className="flex flex-col gap-3 justify-center items-center h-full pt-5">
@@ -669,6 +656,23 @@ export const PayWithCryptoTab = ({ skipOnCloseCallback, isSwitchingChainRef }: P
669656
}
670657

671658
const PriceSection = () => {
659+
if (isTransactionCounterInitialized) {
660+
const descriptionText =
661+
maxTransactions > 1
662+
? `Confirming transaction ${currentTransactionNumber} of ${maxTransactions}`
663+
: `Confirming transaction`
664+
return (
665+
<div className="flex flex-col flex-wrap justify-between items-center w-full gap-2">
666+
<div className="flex flex-col gap-0.5">
667+
<Text variant="xsmall" color="text50">
668+
{descriptionText}
669+
</Text>
670+
</div>
671+
<Spinner />
672+
</div>
673+
)
674+
}
675+
672676
if (isFree) {
673677
return (
674678
<div className="flex flex-col mt-2 mb-1 w-full">
@@ -707,7 +711,6 @@ export const PayWithCryptoTab = ({ skipOnCloseCallback, isSwitchingChainRef }: P
707711

708712
return (
709713
<div className="flex flex-row flex-wrap justify-between items-center w-full gap-2">
710-
<TransactionCounterInfo />
711714
<div className="flex flex-col gap-0 min-w-0">
712715
<Text
713716
variant="xsmall"

0 commit comments

Comments
 (0)