diff --git a/src/status_im/events.cljs b/src/status_im/events.cljs index ec9bfd5b57..1c35f2d9c9 100644 --- a/src/status_im/events.cljs +++ b/src/status_im/events.cljs @@ -594,7 +594,7 @@ (handlers/register-handler-fx :extensions.ui/install-extension-button-pressed (fn [cofx [_ url]] - (extensions.registry/load cofx url true))) + (extensions.registry/install-from-message cofx url true))) (handlers/register-handler-fx :extensions.ui/install-button-pressed diff --git a/src/status_im/extensions/registry.cljs b/src/status_im/extensions/registry.cljs index 89e50e36c8..9bafc14d66 100644 --- a/src/status_im/extensions/registry.cljs +++ b/src/status_im/extensions/registry.cljs @@ -89,6 +89,17 @@ :active? true}] :follow-up (if modal? :extensions/stage-modal :extensions/stage)}})) +(fx/defn install-from-message + [cofx url modal?] + (if (get-in cofx [:db :account/account :dev-mode?]) + (load cofx url modal?) + {:ui/show-confirmation + {:title (i18n/label :t/confirm-install) + :content (i18n/label :t/extension-install-alert) + :on-accept #(do + (re-frame/dispatch [:accounts.ui/dev-mode-switched true]) + (re-frame/dispatch [:extensions.ui/install-extension-button-pressed url]))}})) + (fx/defn initialize [{{:account/keys [account]} :db}] (let [{:keys [extensions dev-mode?]} account] diff --git a/translations/en.json b/translations/en.json index bf1a56e998..91f4fdfcd7 100644 --- a/translations/en.json +++ b/translations/en.json @@ -978,5 +978,7 @@ "mobile-network-go-to-settings": "Go to settings", "mobile-network-use-mobile-data": "Status tends to use a lot of data when syncing chats. You can choose not to sync when on mobile network", "status-not-sent": "", - "status-not-sent-without-tap": "" + "status-not-sent-without-tap": "", + "confirm-install": "Confirm Install", + "extension-install-alert": "Development mode is required to install an extension. Do you want to enable and continue installing?" }