[#7723] Stickers are not tappable right after install
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
This commit is contained in:
parent
f0269bc732
commit
e64777f1d0
|
@ -103,8 +103,8 @@
|
|||
(fx/merge
|
||||
cofx
|
||||
{:db (-> db
|
||||
(assoc-in [:stickers/packs-installed id] pack)
|
||||
(assoc :stickers/selected-pack id))}
|
||||
(assoc-in [:stickers/packs-installed id] pack))}
|
||||
;;(assoc :stickers/selected-pack id))} TODO it doesn't scroll to selected pack on Android
|
||||
(multiaccounts/update-stickers (conj (:stickers multiaccount) (pr-str pack))))))
|
||||
|
||||
(defn valid-sticker? [sticker]
|
||||
|
|
|
@ -257,7 +257,7 @@
|
|||
(if (and platform/desktop? (= "right" (.-button (.-nativeEvent arg))))
|
||||
(open-chat-context-menu message)
|
||||
(do
|
||||
(when (= content-type constants/content-type-sticker)
|
||||
(when (and (= content-type constants/content-type-sticker) (:pack content))
|
||||
(re-frame/dispatch [:stickers/open-sticker-pack (:pack content)]))
|
||||
(re-frame/dispatch [:chat.ui/set-chat-ui-props {:messages-focused? true
|
||||
:show-stickers? false}])
|
||||
|
|
|
@ -80,25 +80,25 @@
|
|||
(re-frame/dispatch [:stickers/select-pack pack-id]))))
|
||||
|
||||
(defview stickers-paging-panel [installed-packs selected-pack]
|
||||
(letsubs [ref (atom nil)
|
||||
window-width [:dimensions/window-width]
|
||||
content-width (reagent/atom 0)]
|
||||
(letsubs [ref (atom nil)
|
||||
width [:dimensions/window-width]]
|
||||
{:component-will-update (fn [_ [_ installed-packs selected-pack]]
|
||||
(update-scroll-position @ref installed-packs selected-pack window-width))
|
||||
:component-did-mount #(update-scroll-position @ref installed-packs selected-pack window-width)}
|
||||
(let [width @content-width]
|
||||
[react/scroll-view {:style {:flex 1} :horizontal true :paging-enabled true
|
||||
:ref #(reset! ref %)
|
||||
:shows-horizontal-scroll-indicator false
|
||||
:on-momentum-scroll-end #(on-scroll % installed-packs window-width)
|
||||
:scrollEventThrottle 8
|
||||
:on-scroll #(reset! scroll-x (.-nativeEvent.contentOffset.x %))
|
||||
:on-layout #(reset! content-width (-> % .-nativeEvent .-layout .-width))}
|
||||
^{:key "recent"}
|
||||
[recent-stickers-panel width]
|
||||
(for [{:keys [stickers id]} installed-packs]
|
||||
^{:key (str "sticker" id)}
|
||||
[stickers-panel (map #(assoc % :pack id) (filter stickers/valid-sticker? stickers)) width])])))
|
||||
(update-scroll-position @ref installed-packs selected-pack width))
|
||||
:component-did-mount #(update-scroll-position @ref installed-packs selected-pack width)}
|
||||
[react/scroll-view {:style {:flex 1}
|
||||
:horizontal true
|
||||
:paging-enabled true
|
||||
:ref #(reset! ref %)
|
||||
:shows-horizontal-scroll-indicator false
|
||||
:on-momentum-scroll-end #(on-scroll % installed-packs width)
|
||||
:scroll-event-throttle 8
|
||||
:scroll-to-overflow-enabled true
|
||||
:on-scroll #(reset! scroll-x (.-nativeEvent.contentOffset.x %))}
|
||||
^{:key "recent"}
|
||||
[recent-stickers-panel width]
|
||||
(for [{:keys [stickers id]} installed-packs]
|
||||
^{:key (str "sticker" id)}
|
||||
[stickers-panel (map #(assoc % :pack id) (filter stickers/valid-sticker? stickers)) width])]))
|
||||
|
||||
(defn pack-icon [{:keys [id on-press background-color]
|
||||
:or {on-press #(re-frame/dispatch [:stickers/select-pack id])}}
|
||||
|
|
Loading…
Reference in New Issue