Omar Basem
2022-12-23 18:39:04 +04:00
parent e94996d4c2
commit 2e7934fba7
4 changed files with 76 additions and 16 deletions
+7 -4
View File
@@ -53,7 +53,6 @@
:on-success #(re-frame/dispatch [:chat-updated % do-not-navigate?])}]})
>>>>>>> bc7bcd83f... refactor
(fx/defn remove-members
"remove members from a group chat"
{:events [:group-chats.ui/remove-members-pressed]}
@@ -211,7 +210,6 @@
(fx/defn deselect-member
{:events [:deselect-member]}
[{:keys [db]} id]
(println "DESELECTING MEMBER " id)
{:db (update db :deselected-members conj id)})
(fx/defn undo-deselect-member
@@ -239,11 +237,16 @@
[{:keys [db]} id]
{:db (update db :selected-participants conj id)})
(fx/defn add-participants-toggle-list
{:events [:group/add-participants-toggle-list]}
(fx/defn reset-add-participants
{:events [:group/reset-add-participants]}
[{db :db}]
{:db (assoc db :selected-participants #{})})
(fx/defn reset-remove-members
{:events [:group/reset-remove-members]}
[{db :db}]
{:db (assoc db :deselected-members #{})})
(fx/defn show-group-chat-profile
{:events [:show-group-chat-profile]}
[{:keys [db] :as cofx} chat-id]
@@ -10,6 +10,10 @@
[status-im.ui2.screens.chat.group-details.style :as style]
[status-im.ui2.screens.common.contact-list.view :as contact-list]
[status-im2.common.contact-list-item.view :as contact-list-item]
<<<<<<< HEAD
=======
[quo.components.safe-area :as safe-area]
>>>>>>> ced1d37cd... refactor
[status-im2.common.home.actions.view :as actions]
<<<<<<< HEAD
[utils.re-frame :as rf]))
@@ -70,6 +74,7 @@
:weight :medium
:style {:color (colors/theme-colors colors/neutral-50 colors/neutral-40)}} title]])
<<<<<<< HEAD
(def added (reagent/atom ()))
<<<<<<< HEAD
@@ -140,6 +145,35 @@
:disabled (and (zero? (count @added)) (zero? (count @removed)))}
>>>>>>> 7ce2b16e0... group details screen 3
(i18n/label :t/save)]]]))])))
=======
(defn add-members-sheet [group admin?]
[:f>
(fn []
(let [{window-height :height} (rn/use-window-dimensions)
safe-area (safe-area/use-safe-area)
selected-participants (rf/sub [:selected-participants])
deselected-members (rf/sub [:deselected-members])]
[rn/view {:style {:height (- window-height (:top safe-area))}}
[rn/touchable-opacity
{:on-press #(rf/dispatch [:bottom-sheet/hide])
:style (style/close-icon)}
[quo2/icon :i/close {:color (colors/theme-colors colors/neutral-100 colors/white)}]]
[quo2/text {:size :heading-1
:weight :semi-bold
:style {:margin-left 20}}
(i18n/label (if admin? :t/manage-members :t/add-members))]
[contact-list/contact-list {:icon :check
:group group
:search? true}]
[rn/view {:style style/bottom-container}
[quo2/button {:style {:flex 1}
:on-press (fn []
(rf/dispatch [:group-chats.ui/add-members-pressed])
(rf/dispatch [:group-chats.ui/remove-members-pressed])
(rf/dispatch [:bottom-sheet/hide]))
:disabled (and (zero? (count selected-participants)) (zero? (count deselected-members)))}
(i18n/label :t/save)]]]))])
>>>>>>> ced1d37cd... refactor
(defn group-details
[]
@@ -205,9 +239,12 @@
[quo2/icon (if muted :i/muted :i/activity-center) {:size 20 :color (colors/theme-colors colors/neutral-100 colors/white)}]
[quo2/text {:style {:margin-top 16} :size :paragraph-1 :weight :medium} (i18n/label (if muted :unmute-group :mute-group))]]
[rn/touchable-opacity {:style (style/action-container color)
:on-press #(rf/dispatch
[:bottom-sheet/show-sheet
{:content (fn [] [add-members-sheet group admin?])} :add-participants-toggle-list])}
:on-press (fn []
(rf/dispatch [:group/reset-add-participants])
(rf/dispatch [:group/reset-remove-members])
(rf/dispatch
[:bottom-sheet/show-sheet
{:content (fn [] [add-members-sheet group admin?])}]))}
[rn/view {:style {:flex-direction :row
:justify-content :space-between}}
>>>>>>> 7ce2b16e0... group details screen 3
@@ -18,6 +18,7 @@
(rf/dispatch [:chat.ui/navigate-to-chat chat-id]))
(rf/dispatch [:search/home-filter-changed nil]))))
<<<<<<< HEAD
<<<<<<< HEAD
(defn action-icon
[{:keys [public-key] :as item} {:keys [icon group added] :as extra-data}]
@@ -38,11 +39,13 @@
(reset! added (remove #(= % public-key) @added))))}])]))
=======
(defn action-icon [{:keys [public-key] :as item} {:keys [icon group added removed] :as extra-data}]
=======
(defn action-icon [{:keys [public-key] :as item} {:keys [icon group] :as extra-data}]
>>>>>>> ced1d37cd... refactor
(let [{:keys [contacts admins]} group
member? (contains? contacts public-key)
current-pk (rf/sub [:multiaccount/public-key])
admin? (get admins current-pk)
contact-selected? (rf/sub [:is-participant-selected? public-key])]
admin? (get admins current-pk)]
[rn/touchable-opacity {:on-press #(rf/dispatch [:bottom-sheet/show-sheet
{:content (fn [] [actions/actions item extra-data])}])
:style {:position :absolute
@@ -53,14 +56,8 @@
:disabled? (and member? (not admin?))
:on-change (fn [selected]
(if-not member?
(if contact-selected?
(do
(reset! added (remove #(= % public-key) @added))
(rf/dispatch [:deselect-participant public-key true]))
(do
(swap! added conj public-key)
(rf/dispatch [:select-participant public-key true])))
(if selected
<<<<<<< HEAD
<<<<<<< HEAD
(reset! removed (remove #(= % public-key) @removed))
(swap! removed conj public-key))))}])]))
@@ -73,6 +70,13 @@
(rf/dispatch [:deselect-member public-key true])
(swap! removed conj public-key)))))}])]))
>>>>>>> 4b386e4d0... refactor
=======
(rf/dispatch [:select-participant public-key true])
(rf/dispatch [:deselect-participant public-key true]))
(if selected
(rf/dispatch [:undo-deselect-member public-key true])
(rf/dispatch [:deselect-member public-key true]))))}])]))
>>>>>>> ced1d37cd... refactor
(defn contact-list-item
[item _ _ extra-data]
+16
View File
@@ -3,16 +3,21 @@
"_comment": "Instead use: scripts/update-status-go.sh <rev>",
"owner": "status-im",
"repo": "status-go",
<<<<<<< HEAD
<<<<<<< HEAD
"version": "v0.117.1a",
"commit-sha1": "b4bdfd3df6cf5fb91ab2d0e9f3b38e8d1b9703e5",
"src-sha256": "1s50q53p1j5ysnbj88c52zb2rh1ms21pnf6bjc7wja8gzcpih2wl"
=======
=======
>>>>>>> d60d66248... refactor
<<<<<<< HEAD
"version": "v0.117.1",
"commit-sha1": "8593866862175eeab6f30765e5f0b813f3b1b4db",
"src-sha256": "1ml22627jadj150y9yj7p9z91vx49min6hzvsg88i3nhx4153nia"
=======
=======
>>>>>>> d6a933aa2... refactor
<<<<<<< HEAD
"version": "v0.115.6",
"commit-sha1": "a97b5527305b9f23b15246c5489726f8cd758edd",
@@ -22,6 +27,17 @@
"commit-sha1": "3745ec03efdf16c231e3df74da0c51af2480107e",
"src-sha256": "1hikww0y1p70pr5ga3jnz72zc27k0zqjp9vk79ww9fw0165yi1h0"
>>>>>>> 0658974a7... refactor
<<<<<<< HEAD
>>>>>>> 2a158b89a... refactor
<<<<<<< HEAD
>>>>>>> 6cbb8fb7e... refactor
=======
=======
=======
"version": "v0.115.5",
"commit-sha1": "684e9654de4800df619ce593b5d331ebea9ed1a8",
"src-sha256": "0ci1s3w5jnf6sz2b6hn30gy14hp142gic006r6c3g5ln8y19wdbi"
>>>>>>> 78518d239... refactor
>>>>>>> d6a933aa2... refactor
>>>>>>> d60d66248... refactor
}