[Fix] Scroll to bottom on editing message (#16630)
This commit fixes (by skipping) the scroll to the bottom of messages when the user edits a message and sends it. Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
This commit is contained in:
parent
2317e856bf
commit
b14757b120
|
@ -18,7 +18,7 @@
|
||||||
[{:keys [sending-images? sending-links?]}
|
[{:keys [sending-images? sending-links?]}
|
||||||
{:keys [text-value focused? maximized?]}
|
{:keys [text-value focused? maximized?]}
|
||||||
{:keys [height saved-height last-height opacity background-y container-opacity]}
|
{:keys [height saved-height last-height opacity background-y container-opacity]}
|
||||||
window-height]
|
window-height edit]
|
||||||
(reanimated/animate height comp-constants/input-height)
|
(reanimated/animate height comp-constants/input-height)
|
||||||
(reanimated/set-shared-value saved-height comp-constants/input-height)
|
(reanimated/set-shared-value saved-height comp-constants/input-height)
|
||||||
(reanimated/set-shared-value last-height comp-constants/input-height)
|
(reanimated/set-shared-value last-height comp-constants/input-height)
|
||||||
|
@ -36,12 +36,13 @@
|
||||||
(reset! text-value "")
|
(reset! text-value "")
|
||||||
(reset! sending-links? false)
|
(reset! sending-links? false)
|
||||||
(reset! sending-images? false)
|
(reset! sending-images? false)
|
||||||
(messages.list/scroll-to-bottom))
|
(when-not (some? edit)
|
||||||
|
(messages.list/scroll-to-bottom)))
|
||||||
|
|
||||||
(defn f-send-button
|
(defn f-send-button
|
||||||
[props {:keys [text-value] :as state}
|
[props {:keys [text-value] :as state}
|
||||||
animations window-height images?
|
animations window-height images?
|
||||||
btn-opacity z-index]
|
btn-opacity z-index edit]
|
||||||
(rn/use-effect (fn []
|
(rn/use-effect (fn []
|
||||||
(if (or (seq @text-value) images?)
|
(if (or (seq @text-value) images?)
|
||||||
(when (or (not= @z-index 1) (not= (reanimated/get-shared-value btn-opacity) 1))
|
(when (or (not= @z-index 1) (not= (reanimated/get-shared-value btn-opacity) 1))
|
||||||
|
@ -58,14 +59,14 @@
|
||||||
{:icon true
|
{:icon true
|
||||||
:size 32
|
:size 32
|
||||||
:accessibility-label :send-message-button
|
:accessibility-label :send-message-button
|
||||||
:on-press #(send-message props state animations window-height)}
|
:on-press #(send-message props state animations window-height edit)}
|
||||||
:i/arrow-up]])
|
:i/arrow-up]])
|
||||||
|
|
||||||
(defn send-button
|
(defn send-button
|
||||||
[props {:keys [text-value] :as state} animations window-height images?]
|
[props {:keys [text-value] :as state} animations window-height images? edit]
|
||||||
(let [btn-opacity (reanimated/use-shared-value 0)
|
(let [btn-opacity (reanimated/use-shared-value 0)
|
||||||
z-index (reagent/atom (if (and (empty? @text-value) (not images?)) 0 1))]
|
z-index (reagent/atom (if (and (empty? @text-value) (not images?)) 0 1))]
|
||||||
[:f> f-send-button props state animations window-height images? btn-opacity z-index]))
|
[:f> f-send-button props state animations window-height images? btn-opacity z-index edit]))
|
||||||
|
|
||||||
(defn disabled-audio-button
|
(defn disabled-audio-button
|
||||||
[]
|
[]
|
||||||
|
@ -215,7 +216,7 @@
|
||||||
[image-button props animations insets]
|
[image-button props animations insets]
|
||||||
[reaction-button]
|
[reaction-button]
|
||||||
[format-button]]
|
[format-button]]
|
||||||
[:f> send-button props state animations window-height images]
|
[:f> send-button props state animations window-height images edit]
|
||||||
(when (and (not edit) (not images))
|
(when (and (not edit) (not images))
|
||||||
;; TODO(alwx): needs to be replaced with an `audio-button` later.
|
;; TODO(alwx): needs to be replaced with an `audio-button` later.
|
||||||
;; See https://github.com/status-im/status-mobile/issues/16084 for more details.
|
;; See https://github.com/status-im/status-mobile/issues/16084 for more details.
|
||||||
|
|
Loading…
Reference in New Issue