|
17 | 17 | (fn [{:keys [db]} [{:keys [network asset-to-receive open-new-screen?] :as data}]]
|
18 | 18 | (let [{:keys [wallet]} db
|
19 | 19 | test-networks-enabled? (get-in db [:profile/profile :test-networks-enabled?])
|
| 20 | + view-id (:view-id db) |
20 | 21 | account (swap-utils/wallet-account wallet)
|
21 | 22 | asset-to-pay (if (get-in data [:asset-to-pay :networks])
|
22 | 23 | (:asset-to-pay data)
|
|
30 | 31 | {:db (-> db
|
31 | 32 | (assoc-in [:wallet :ui :swap :asset-to-pay] asset-to-pay)
|
32 | 33 | (assoc-in [:wallet :ui :swap :asset-to-receive] asset-to-receive)
|
33 |
| - (assoc-in [:wallet :ui :swap :network] network')) |
| 34 | + (assoc-in [:wallet :ui :swap :network] network') |
| 35 | + (assoc-in [:wallet :ui :swap :launch-screen] view-id)) |
34 | 36 | :fx (if network'
|
35 | 37 | [[:dispatch [:wallet/switch-current-viewing-account (:address account)]]
|
36 | 38 | [:dispatch
|
37 | 39 | (if open-new-screen?
|
38 |
| - [:navigate-to :screen/wallet.setup-swap] |
| 40 | + [:open-modal :screen/wallet.setup-swap] |
39 | 41 | [:navigate-to-within-stack
|
40 | 42 | [:screen/wallet.setup-swap :screen/wallet.swap-select-asset-to-pay]])]
|
41 | 43 | [:dispatch [:wallet.swap/set-default-slippage]]]
|
|
204 | 206 | (fn [{:keys [db]}]
|
205 | 207 | {:db (update-in db [:wallet :ui] dissoc :swap)}))
|
206 | 208 |
|
207 |
| -(rf/reg-event-fx |
208 |
| - :wallet/on-swap-done |
209 |
| - (fn [_] |
210 |
| - {:fx [[:dispatch [:wallet/select-account-tab :activity]] |
211 |
| - [:dispatch [:wallet/clean-swap]]]})) |
212 |
| - |
213 | 209 | (rf/reg-event-fx :wallet/swap-transaction
|
214 | 210 | (fn [{:keys [db]} [sha3-pwd]]
|
215 | 211 | (let [wallet-address (get-in db
|
|
299 | 295 | :screen/wallet.swap-set-spending-cap
|
300 | 296 | :screen/wallet.swap-confirmation)])
|
301 | 297 | (when-not approval-required?
|
| 298 | + (rf/dispatch [:wallet/end-swap-flow]) |
302 | 299 | (debounce/debounce-and-dispatch
|
303 | 300 | [:toasts/upsert
|
304 | 301 | {:id :swap-transaction-pending
|
|
424 | 421 | :last-request-uuid
|
425 | 422 | :approved-amount
|
426 | 423 | :approval-transaction-id)))})))
|
| 424 | + |
| 425 | +(rf/reg-event-fx :wallet/end-swap-flow |
| 426 | + (fn [{:keys [db]}] |
| 427 | + (let [launch-screen (get-in db [:wallet :ui :swap :launch-screen]) |
| 428 | + address (get-in db [:wallet :current-viewing-account-address])] |
| 429 | + {:fx [(when (= launch-screen :wallet-stack) |
| 430 | + [:dispatch [:wallet/navigate-to-account-within-stack address]]) |
| 431 | + [:dispatch [:wallet/fetch-activities-for-current-account]] |
| 432 | + [:dispatch [:wallet/select-account-tab :activity]]]}))) |
0 commit comments