Skip to content

Commit

Permalink
Temporary that makes it possible to install only one extension at a t…
Browse files Browse the repository at this point in the history
…ime (required for the hackathon)

Signed-off-by: Aleksandr Pantiukhov <alwxndr@gmail.com>
  • Loading branch information
alwx committed Oct 22, 2018
1 parent fd145e7 commit 92b2ad0
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 22 deletions.
4 changes: 2 additions & 2 deletions src/status_im/data_store/accounts.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@

(defn- deserialize-extensions [extensions]
(reduce-kv
(fn [acc _ {:keys [name] :as extension}]
(assoc acc name extension))
(fn [acc _ {:keys [id] :as extension}]
(assoc acc id extension))
{}
extensions))

Expand Down
8 changes: 4 additions & 4 deletions src/status_im/events.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -421,8 +421,8 @@

(handlers/register-handler-fx
:extensions.ui/add-extension-pressed
(fn [cofx [_ name]]
(extensions/edit cofx name)))
(fn [cofx [_ id]]
(extensions/edit cofx id)))

(handlers/register-handler-fx
:extensions.ui/input-changed
Expand All @@ -431,8 +431,8 @@

(handlers/register-handler-fx
:extensions.ui/activation-checkbox-pressed
(fn [cofx [_ name state]]
(extensions/toggle-activation cofx name state)))
(fn [cofx [_ id state]]
(extensions/toggle-activation cofx id state)))

(handlers/register-handler-fx
:extensions.ui/show-button-pressed
Expand Down
24 changes: 12 additions & 12 deletions src/status_im/extensions/core.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -250,19 +250,21 @@
[{:keys [db]} input-key value]
{:db (update db :extensions/manage assoc input-key {:value value})})

(fx/defn fetch [cofx name]
(get-in cofx [:db :account/account :extensions name]))
(fx/defn fetch [cofx id]
(get-in cofx [:db :account/account :extensions id]))

(fx/defn edit
[cofx name]
(let [{:keys [url]} (fetch cofx name)]
[cofx id]
(let [{:keys [url]} (fetch cofx id)]
(fx/merge (set-input cofx :url (str url))
(navigation/navigate-to-cofx :edit-extension nil))))

(fx/defn add
[cofx extension-data active?]
(when-let [extension-key (get-in extension-data ['meta :name])]
(let [extension-key "extension"
extension-data (assoc-in extension-data ['meta :name] extension-key)]
(fx/merge cofx
#(registry/deactivate extension-key %)
#(registry/add extension-data %)
(when active?
#(registry/activate extension-key %)))))
Expand All @@ -273,13 +275,11 @@
extension-data]
(let [extension-key (get-in extension-data ['meta :name])
{:keys [url id]} manage
extension {:id (-> (:value id)
(or (random-id-generator))
(string/replace "-" ""))
extension {:id (or (:value id) "extension")
:name (str extension-key)
:url (:value url)
:active? true}
new-extensions (assoc (:extensions account) (:name extension) extension)]
new-extensions (assoc (:extensions account) (:id extension) extension)]
(fx/merge cofx
{:ui/show-confirmation {:title (i18n/label :t/success)
:content (i18n/label :t/extension-installed)
Expand All @@ -289,15 +289,15 @@
(add extension-data true))))

(fx/defn toggle-activation
[cofx name state]
[cofx id state]
(let [toggle-fn (get {true registry/activate
false registry/deactivate}
state)
extensions (get-in cofx [:db :account/account :extensions])
new-extensions (assoc-in extensions [name :active?] state)]
new-extensions (assoc-in extensions [id :active?] state)]
(fx/merge cofx
(accounts.update/account-update {:extensions new-extensions} {:success-event nil})
#(toggle-fn name %))))
#(toggle-fn id %))))

(fx/defn load
[cofx url]
Expand Down
4 changes: 2 additions & 2 deletions src/status_im/ui/screens/extensions/add/events.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,6 @@
(handlers/register-handler-fx
:extensions/deactivate-all
(fn [cofx [_ extensions]]
(apply fx/merge cofx (map (fn [{:keys [name]}]
(partial registry/deactivate name))
(apply fx/merge cofx (map (fn [{:keys [id]}]
(partial registry/deactivate id))
extensions))))
4 changes: 2 additions & 2 deletions src/status_im/ui/screens/extensions/views.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@
[react/view (styles/wnode-icon true)
[vector-icons/icon :icons/wnode {:color :white}]])

(defn- render-extension [{:keys [name url active?]}]
(defn- render-extension [{:keys [id name url active?]}]
[list/list-item-with-checkbox
{:checked? active?
:on-value-change #(re-frame/dispatch [:extensions.ui/activation-checkbox-pressed name %])}
:on-value-change #(re-frame/dispatch [:extensions.ui/activation-checkbox-pressed id %])}
[list/item
wnode-icon
[list/item-content
Expand Down

0 comments on commit 92b2ad0

Please sign in to comment.