From 6a26ebafa3ba386fca896131e2a8ad07e4c2362e Mon Sep 17 00:00:00 2001 From: Lungu Cristian Date: Wed, 16 Oct 2024 10:57:01 +0300 Subject: [PATCH] fix: clean up state after unmounting (#21435) --- src/status_im/contexts/wallet/swap/events.cljs | 8 ++++++-- src/status_im/contexts/wallet/swap/setup_swap/view.cljs | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/status_im/contexts/wallet/swap/events.cljs b/src/status_im/contexts/wallet/swap/events.cljs index 37e48b176a..3f84f4db73 100644 --- a/src/status_im/contexts/wallet/swap/events.cljs +++ b/src/status_im/contexts/wallet/swap/events.cljs @@ -204,6 +204,12 @@ (fn [{:keys [db]}] {:db (update-in db [:wallet :ui] dissoc :swap)})) +(rf/reg-event-fx + :wallet/on-swap-done + (fn [_] + {:fx [[:dispatch [:wallet/select-account-tab :activity]] + [:dispatch [:wallet/clean-swap]]]})) + (rf/reg-event-fx :wallet/swap-transaction (fn [{:keys [db]} [sha3-pwd]] (let [wallet-address (get-in db @@ -298,8 +304,6 @@ :screen/wallet.swap-set-spending-cap :screen/wallet.swap-confirmation)]) (when-not approval-required? - (rf/dispatch [:wallet/select-account-tab :activity]) - (rf/dispatch [:wallet/clean-swap]) (debounce/debounce-and-dispatch [:toasts/upsert {:id :swap-transaction-pending diff --git a/src/status_im/contexts/wallet/swap/setup_swap/view.cljs b/src/status_im/contexts/wallet/swap/setup_swap/view.cljs index af5305094f..eee6d1a3f7 100644 --- a/src/status_im/contexts/wallet/swap/setup_swap/view.cljs +++ b/src/status_im/contexts/wallet/swap/setup_swap/view.cljs @@ -148,6 +148,7 @@ :valid-input? valid-pay-input? :clean-approval-transaction? true})) [pay-input-amount])] + (rn/use-unmount #(rf/dispatch [:wallet/on-swap-done])) (rn/use-effect (fn [] (request-fetch-swap-proposal))