Skip to content

Commit becae37

Browse files
committed
update events
1 parent 9879f97 commit becae37

File tree

1 file changed

+34
-11
lines changed

1 file changed

+34
-11
lines changed

src/status_im/contexts/communities/events.cljs

+34-11
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
status-im.contexts.communities.actions.addresses-for-permissions.events
1313
status-im.contexts.communities.actions.community-options.events
1414
status-im.contexts.communities.actions.leave.events
15+
[status-im.contexts.communities.utils :as utils]
1516
[status-im.navigation.events :as navigation]
1617
[taoensso.timbre :as log]
1718
[utils.i18n :as i18n]
@@ -163,33 +164,35 @@
163164
(defn initialize-permission-addresses
164165
[{:keys [db]} [community-id]]
165166
(when community-id
166-
(let [accounts (get-in db [:wallet :accounts])
167-
sorted-accounts (sort-by :position (vals accounts))
168-
addresses (set (map :address sorted-accounts))]
167+
(let [accounts (utils/sorted-non-watch-only-accounts db)
168+
addresses (set (map :address accounts))]
169169
{:db (update-in db
170170
[:communities community-id]
171171
assoc
172+
:previous-share-all-addresses? true
173+
:share-all-addresses? true
172174
:previous-permission-addresses addresses
173175
:selected-permission-addresses addresses
174-
:airdrop-address (:address (first sorted-accounts)))})))
176+
:airdrop-address (:address (first accounts)))})))
175177

176178
(rf/reg-event-fx :communities/initialize-permission-addresses
177179
initialize-permission-addresses)
178180

179181
(defn update-previous-permission-addresses
180182
[{:keys [db]} [community-id]]
181183
(when community-id
182-
(let [accounts (get-in db [:wallet :accounts])
183-
sorted-accounts (sort-by :position (vals accounts))
184+
(let [accounts (utils/sorted-non-watch-only-accounts db)
184185
selected-permission-addresses (get-in db
185186
[:communities community-id
186187
:selected-permission-addresses])
187188
selected-accounts (filter #(contains? selected-permission-addresses (:address %))
188-
sorted-accounts)
189-
current-airdrop-address (get-in db [:communities community-id :airdrop-address])]
189+
accounts)
190+
current-airdrop-address (get-in db [:communities community-id :airdrop-address])
191+
share-all-addresses? (get-in db [:communities community-id :share-all-addresses?])]
190192
{:db (update-in db
191193
[:communities community-id]
192194
assoc
195+
:previous-share-all-addresses? share-all-addresses?
193196
:previous-permission-addresses selected-permission-addresses
194197
:airdrop-address (if (contains? selected-permission-addresses
195198
current-airdrop-address)
@@ -218,12 +221,32 @@
218221
(rf/reg-event-fx :communities/toggle-selected-permission-address
219222
toggle-selected-permission-address)
220223

224+
(defn toggle-share-all-addresses
225+
[{:keys [db]} [community-id]]
226+
(let [share-all-addresses? (get-in db [:communities community-id :share-all-addresses?])
227+
accounts (utils/sorted-non-watch-only-accounts db)
228+
addresses (set (map :address accounts))]
229+
{:db (update-in db
230+
[:communities community-id]
231+
(fn [community]
232+
(-> community
233+
(assoc :share-all-addresses? (not share-all-addresses?))
234+
(cond-> (not share-all-addresses?)
235+
(assoc :selected-permission-addresses addresses)))))}))
236+
237+
(rf/reg-event-fx :communities/toggle-share-all-addresses
238+
toggle-share-all-addresses)
239+
221240
(rf/reg-event-fx :communities/reset-selected-permission-addresses
222241
(fn [{:keys [db]} [community-id]]
223242
(when community-id
224-
{:db (assoc-in db
225-
[:communities community-id :selected-permission-addresses]
226-
(get-in db [:communities community-id :previous-permission-addresses]))
243+
{:db (update-in db
244+
[:communities community-id]
245+
assoc
246+
:selected-permission-addresses
247+
(get-in db [:communities community-id :previous-permission-addresses])
248+
:share-all-addresses?
249+
(get-in db [:communities community-id :previous-share-all-addresses?]))
227250
:fx [[:dispatch [:communities/check-permissions-to-join-community community-id]]]})))
228251

229252
(rf/reg-event-fx :communities/get-community-channel-share-data

0 commit comments

Comments
 (0)