|
1 | 1 | (ns status-im2.contexts.contacts.events
|
2 | 2 | (:require
|
3 |
| - [utils.re-frame :as rf] |
4 |
| - [taoensso.timbre :as log] |
5 |
| - [status-im.utils.types :as types] |
6 | 3 | [oops.core :as oops]
|
7 |
| - [status-im2.constants :as constants])) |
| 4 | + [status-im.utils.types :as types] |
| 5 | + [status-im2.constants :as constants] |
| 6 | + [taoensso.timbre :as log] |
| 7 | + [utils.i18n :as i18n] |
| 8 | + [utils.re-frame :as rf])) |
8 | 9 |
|
9 | 10 | (defn <-rpc-js
|
10 | 11 | [^js js-contact]
|
|
75 | 76 | [{:keys [db]} contacts]
|
76 | 77 | {:db (assoc db :contacts/contacts (into {} (map #(vector (:public-key %) %) contacts)))})
|
77 | 78 |
|
78 |
| -(rf/defn add-contact |
79 |
| - "Add a contact and set pending to false" |
80 |
| - {:events [:contact.ui/add-contact-pressed]} |
81 |
| - [{:keys [db]} public-key nickname ens-name] |
82 |
| - (when (not= (get-in db [:multiaccount :public-key]) public-key) |
83 |
| - {:json-rpc/call [{:method "wakuext_addContact" |
84 |
| - :params [{:id public-key :nickname nickname :ensName ens-name}] |
85 |
| - :js-response true |
86 |
| - :on-success #(rf/dispatch [:sanitize-messages-and-process-response %]) |
87 |
| - :on-error #(log/error "failed to add contact" public-key %)}]})) |
| 79 | +(rf/defn send-contact-request |
| 80 | + {:events [:contact.ui/send-contact-request]} |
| 81 | + [{:keys [db]} id] |
| 82 | + (when (not= id (get-in db [:multiaccount :public-key])) |
| 83 | + {:json-rpc/call |
| 84 | + [{:method "wakuext_sendContactRequest" |
| 85 | + :js-response true |
| 86 | + :params [{:id id :message (i18n/label :t/add-me-to-your-contacts)}] |
| 87 | + :on-error (fn [error] |
| 88 | + (log/error "Failed to send contact request" |
| 89 | + {:error error |
| 90 | + :event :contact.ui/send-contact-request |
| 91 | + :id id})) |
| 92 | + :on-success #(rf/dispatch [:transport/message-sent %])}]})) |
88 | 93 |
|
89 | 94 | (rf/defn remove-contact
|
90 | 95 | "Remove a contact from current account's contact list"
|
|
0 commit comments