From 2bc7b6232419de74eb278cce954e4a7b79db3f51 Mon Sep 17 00:00:00 2001 From: Flavio Fraschetti Date: Wed, 6 Dec 2023 13:21:17 -0300 Subject: [PATCH] Communities - Display community rules at request to join (#18082) This update introduces a feature that displays community rules to users as they join. --- src/status_im/communities/core.cljs | 1 + .../actions/accounts_selection/view.cljs | 8 ++++++++ .../actions/community_rules/style.cljs | 10 ++++++++++ .../actions/community_rules/view.cljs | 16 ++++++++++++++++ src/status_im2/subs/communities.cljs | 6 ++++++ 5 files changed, 41 insertions(+) create mode 100644 src/status_im2/contexts/communities/actions/community_rules/style.cljs create mode 100644 src/status_im2/contexts/communities/actions/community_rules/view.cljs diff --git a/src/status_im/communities/core.cljs b/src/status_im/communities/core.cljs index 8574a11750..4a47ffc3c0 100644 --- a/src/status_im/communities/core.cljs +++ b/src/status_im/communities/core.cljs @@ -74,6 +74,7 @@ :adminSettings :admin-settings :tokenPermissions :token-permissions :communityTokensMetadata :tokens-metadata + :introMessage :intro-message :muteTill :muted-till}) (update :admin-settings set/rename-keys diff --git a/src/status_im2/contexts/communities/actions/accounts_selection/view.cljs b/src/status_im2/contexts/communities/actions/accounts_selection/view.cljs index cc50dbb1ea..b80d51363f 100644 --- a/src/status_im2/contexts/communities/actions/accounts_selection/view.cljs +++ b/src/status_im2/contexts/communities/actions/accounts_selection/view.cljs @@ -4,6 +4,7 @@ [react-native.core :as rn] [react-native.gesture :as gesture] [status-im2.common.password-authentication.view :as password-authentication] + [status-im2.contexts.communities.actions.community-rules.view :as community-rules] [status-im2.contexts.communities.actions.request-to-join.style :as style] [utils.i18n :as i18n] [utils.re-frame :as rf])) @@ -26,6 +27,13 @@ [rn/view {:flex 1} [gesture/scroll-view {:style {:flex 1}} [rn/view style/page-container + [quo/text + {:style {:margin-top 24} + :accessibility-label :community-rules-title + :weight :semi-bold + :size :paragraph-1} + (i18n/label :t/community-rules)] + [community-rules/view id] [rn/view {:style (style/bottom-container)} [quo/button {:accessibility-label :cancel diff --git a/src/status_im2/contexts/communities/actions/community_rules/style.cljs b/src/status_im2/contexts/communities/actions/community_rules/style.cljs new file mode 100644 index 0000000000..37d85fb947 --- /dev/null +++ b/src/status_im2/contexts/communities/actions/community_rules/style.cljs @@ -0,0 +1,10 @@ +(ns status-im2.contexts.communities.actions.community-rules.style) + +(def community-rule + {:flex 1 + :align-items :flex-start + :margin-top 16}) + +(def community-rule-text + {:margin-left 6 + :flex 1}) diff --git a/src/status_im2/contexts/communities/actions/community_rules/view.cljs b/src/status_im2/contexts/communities/actions/community_rules/view.cljs new file mode 100644 index 0000000000..f682d79203 --- /dev/null +++ b/src/status_im2/contexts/communities/actions/community_rules/view.cljs @@ -0,0 +1,16 @@ +(ns status-im2.contexts.communities.actions.community-rules.view + (:require + [quo.core :as quo] + [react-native.core :as rn] + [status-im2.contexts.communities.actions.community-rules.style :as style] + [utils.re-frame :as rf])) + +(defn view + [id] + (let [rules (rf/sub [:communities/rules id])] + [rn/view {:style style/community-rule} + [quo/text + {:style style/community-rule-text + :weight :regular + :size :paragraph-2} + rules]])) diff --git a/src/status_im2/subs/communities.cljs b/src/status_im2/subs/communities.cljs index d0f8a9c250..0fc4ab22ce 100644 --- a/src/status_im2/subs/communities.cljs +++ b/src/status_im2/subs/communities.cljs @@ -329,3 +329,9 @@ :<- [:communities] (fn [communities [_ id]] (get-in communities [id :images]))) + +(re-frame/reg-sub + :communities/rules + :<- [:communities] + (fn [communities [_ community-id]] + (get-in communities [community-id :intro-message])))