diff --git a/src/status_im/common/enter_seed_phrase/view.cljs b/src/status_im/common/enter_seed_phrase/view.cljs index 16ae317a94..20fb41424b 100644 --- a/src/status_im/common/enter_seed_phrase/view.cljs +++ b/src/status_im/common/enter_seed_phrase/view.cljs @@ -200,13 +200,13 @@ (.remove keyboard-hide-listener)))) (defn screen - [{:keys [initial-insets title keypair navigation-icon recovering-keypair? render-controls]}] - (let [{navigation-bar-top :top} initial-insets - banner-offset (rf/sub [:alert-banners/top-margin])] + [{:keys [title keypair navigation-icon recovering-keypair? render-controls]}] + (let [[insets _] (rn/use-state (safe-area/get-insets)) + banner-offset (rf/sub [:alert-banners/top-margin])] [rn/view {:style style/full-layout} [rn/keyboard-avoiding-view {:style style/page-container} [quo/page-nav - {:margin-top navigation-bar-top + {:margin-top (:top insets) :background :blur :icon-name (or navigation-icon (if recovering-keypair? :i/close :i/arrow-left)) @@ -216,15 +216,14 @@ :keypair keypair :render-controls render-controls :banner-offset banner-offset - :initial-insets initial-insets + :initial-insets insets :recovering-keypair? recovering-keypair?}]]])) (defn view [] - (let [insets (safe-area/get-insets)] - (fn [] - (let [{:keys [recovering-keypair?]} (rf/sub [:get-screen-params])] - [screen - {:title (i18n/label :t/use-recovery-phrase) - :initial-insets insets - :recovering-keypair? recovering-keypair?}])))) + (let [{:keys [recovering-keypair?]} (rf/sub [:get-screen-params])] + (rn/use-unmount + #(rf/dispatch [:onboarding/clear-navigated-to-enter-seed-phrase-from-screen])) + [screen + {:title (i18n/label :t/use-recovery-phrase) + :recovering-keypair? recovering-keypair?}])) diff --git a/src/status_im/contexts/onboarding/create_profile/view.cljs b/src/status_im/contexts/onboarding/create_profile/view.cljs index c3b8d8b1fd..a2ad2788fc 100644 --- a/src/status_im/contexts/onboarding/create_profile/view.cljs +++ b/src/status_im/contexts/onboarding/create_profile/view.cljs @@ -59,7 +59,7 @@ [rn/view {:style (style/view-button-container false)} children])])) -(defn- f-page +(defn- page [{:keys [onboarding-profile-data navigation-bar-top]}] (reagent/with-let [show-keyboard? (reagent/atom false) content-scroll-y (reagent/atom 0) @@ -205,7 +205,6 @@ [] (let [{:keys [top]} (safe-area/get-insets) onboarding-profile-data (rf/sub [:onboarding/profile])] - [:<> - [:f> f-page - {:navigation-bar-top top - :onboarding-profile-data onboarding-profile-data}]])) + [page + {:navigation-bar-top top + :onboarding-profile-data onboarding-profile-data}])) diff --git a/src/status_im/contexts/onboarding/events.cljs b/src/status_im/contexts/onboarding/events.cljs index 3e73deac1d..4b3be40dac 100644 --- a/src/status_im/contexts/onboarding/events.cljs +++ b/src/status_im/contexts/onboarding/events.cljs @@ -10,15 +10,16 @@ [utils.re-frame :as rf] [utils.security.core :as security])) -(rf/defn profile-data-set - {:events [:onboarding/profile-data-set]} - [{:keys [db]} onboarding-data] - {:db (update db :onboarding/profile merge onboarding-data) - :dispatch [:navigate-to-within-stack - [:screen/onboarding.create-profile-password - (get db - :onboarding/navigated-to-enter-seed-phrase-from-screen - :screen/onboarding.new-to-status)]]}) +(rf/reg-event-fx + :onboarding/profile-data-set + (fn [{:keys [db]} [onboarding-data]] + (let [navigate-from-screen (get db + :onboarding/navigated-to-enter-seed-phrase-from-screen + :screen/onboarding.new-to-status)] + {:db (update db :onboarding/profile merge onboarding-data) + :fx [[:dispatch + [:navigate-to-within-stack + [:screen/onboarding.create-profile-password navigate-from-screen]]]]}))) (rf/defn enable-biometrics {:events [:onboarding/enable-biometrics]} @@ -33,6 +34,11 @@ {:db (assoc db :onboarding/navigated-to-enter-seed-phrase-from-screen from-screen) :fx [[:dispatch [:navigate-to-within-stack [:screen/onboarding.enter-seed-phrase from-screen]]]]})) +(rf/reg-event-fx + :onboarding/clear-navigated-to-enter-seed-phrase-from-screen + (fn [{:keys [db]}] + {:db (dissoc db :onboarding/navigated-to-enter-seed-phrase-from-screen)})) + (rf/reg-event-fx :onboarding/navigate-to-enable-notifications-from-syncing (fn [{:keys [db]}] {:db (dissoc db :onboarding/profile)