Skip to content

Commit b065d3d

Browse files
committed
Merge pull request #5983 from EdgeApp/jon/fix/swap-kyc-modal-popup
2 parents 5fdf884 + d66ae01 commit b065d3d

File tree

3 files changed

+17
-4
lines changed

3 files changed

+17
-4
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
- added: Include Zano sweep private key support for ZANO and tokens.
88
- changed: Move `importKeyOptions` into `CreateWalletImportScene`
9+
- fixed: Swap KYC terms modal stacking on auto-refresh and accidental dismissal disabling providers
910
- removed: Remove `CreateWalletImportOptionsScene`
1011

1112
## 4.46.0 (2026-03-20)

src/components/modals/SwapVerifyTermsModal.tsx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,6 @@ const SwapVerifyTermsModal: React.FC<Props> = props => {
111111
<ModalTitle>{displayName}</ModalTitle>
112112
</View>
113113
}
114-
onCancel={() => {
115-
bridge.resolve(false)
116-
}}
117114
>
118115
<Paragraph>{lstrings.swap_terms_statement}</Paragraph>
119116
<ModalButtons

src/components/scenes/SwapConfirmationScene.tsx

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,9 @@ export const SwapConfirmationScene: React.FC<Props> = (props: Props) => {
9898

9999
const isFocused = useIsFocused()
100100

101+
const termsCheckPending = React.useRef(false)
102+
const timerExpiredDuringTerms = React.useRef(false)
103+
101104
const pickBestQuoteWithPreference = (
102105
allQuotes: EdgeSwapQuote[]
103106
): EdgeSwapQuote => {
@@ -206,6 +209,10 @@ export const SwapConfirmationScene: React.FC<Props> = (props: Props) => {
206209

207210
const handleExchangeTimerExpired = useHandler(() => {
208211
if (!isFocused) return
212+
if (termsCheckPending.current) {
213+
timerExpiredDuringTerms.current = true
214+
return
215+
}
209216

210217
navigation.replace('swapProcessing', {
211218
swapRequest: selectedQuote.request,
@@ -227,12 +234,20 @@ export const SwapConfirmationScene: React.FC<Props> = (props: Props) => {
227234
const swapConfig = account.swapConfig[pluginId]
228235

229236
dispatch(logEvent('Exchange_Shift_Quote'))
237+
termsCheckPending.current = true
230238
swapVerifyTerms(swapConfig)
231239
.then(async result => {
232-
if (!result) handleExchangeTimerExpired()
240+
termsCheckPending.current = false
241+
if (!result || timerExpiredDuringTerms.current) {
242+
handleExchangeTimerExpired()
243+
}
233244
})
234245
.catch((err: unknown) => {
246+
termsCheckPending.current = false
235247
showError(err)
248+
if (timerExpiredDuringTerms.current) {
249+
handleExchangeTimerExpired()
250+
}
236251
})
237252
})
238253

0 commit comments

Comments
 (0)