[#7723] Stickers are not tappable right after install

Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
This commit is contained in:
Andrey Shovkoplyas 2019-07-22 12:42:46 +02:00
parent f0269bc732
commit e64777f1d0
No known key found for this signature in database
GPG Key ID: EAAB7C8622D860A4
3 changed files with 21 additions and 21 deletions

View File

@ -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]

View File

@ -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}])

View File

@ -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])}}