mirror of
https://github.com/status-im/status-react.git
synced 2025-02-27 01:50:50 +00:00
fix home stack height (#14639)
This commit is contained in:
parent
1677574a6a
commit
110debc4c4
@ -31,7 +31,7 @@
|
|||||||
:notification-up :i/arrow-up
|
:notification-up :i/arrow-up
|
||||||
:search-with-label :i/search
|
:search-with-label :i/search
|
||||||
:search :i/search
|
:search :i/search
|
||||||
:bottom :i/arrow-down)
|
:scroll-to-bottom :i/arrow-down)
|
||||||
{:size 12
|
{:size 12
|
||||||
:color (get-icon-and-text-color type)
|
:color (get-icon-and-text-color type)
|
||||||
:container-style {:margin-top 6
|
:container-style {:margin-top 6
|
||||||
@ -43,7 +43,7 @@
|
|||||||
:notification-up 2
|
:notification-up 2
|
||||||
:search-with-label 8
|
:search-with-label 8
|
||||||
:search 6
|
:search 6
|
||||||
:bottom 6)
|
:scroll-to-bottom 6)
|
||||||
:margin-right (case type
|
:margin-right (case type
|
||||||
:jump-to 8
|
:jump-to 8
|
||||||
:mention 2
|
:mention 2
|
||||||
@ -51,12 +51,12 @@
|
|||||||
:notification-up 8
|
:notification-up 8
|
||||||
:search-with-label 4
|
:search-with-label 4
|
||||||
:search 6
|
:search 6
|
||||||
:bottom 6)}}])
|
:scroll-to-bottom 6)}}])
|
||||||
|
|
||||||
(defn dynamic-button
|
(defn dynamic-button
|
||||||
"[dynamic-button opts]
|
"[dynamic-button opts]
|
||||||
opts
|
opts
|
||||||
{:type :jump-to/:mention/:notification-down/:notification-up/:search/:search-with-label/:bottom
|
{:type :jump-to/:mention/:notification-down/:notification-up/:search/:search-with-label/:scroll-to-bottom
|
||||||
:on-press fn
|
:on-press fn
|
||||||
:count mentions or notifications count
|
:count mentions or notifications count
|
||||||
:customization-color customize jump-to and mention button color}"
|
:customization-color customize jump-to and mention button color}"
|
||||||
@ -77,7 +77,7 @@
|
|||||||
:border-radius 12
|
:border-radius 12
|
||||||
:background-color (get-button-color type @pressed? (or customization-color :primary))}
|
:background-color (get-button-color type @pressed? (or customization-color :primary))}
|
||||||
style)}
|
style)}
|
||||||
(when (#{:mention :search :search-with-label :bottom} type)
|
(when (#{:mention :search :search-with-label :scroll-to-bottom} type)
|
||||||
[icon-view type])
|
[icon-view type])
|
||||||
(when (#{:jump-to :mention :notification-down :notification-up :search-with-label} type)
|
(when (#{:jump-to :mention :notification-down :notification-up :search-with-label} type)
|
||||||
[text/text
|
[text/text
|
||||||
|
@ -50,4 +50,4 @@
|
|||||||
[dynamic-button-view :mention dynamic-buttons {:margin-left 8}]
|
[dynamic-button-view :mention dynamic-buttons {:margin-left 8}]
|
||||||
[dynamic-button-view :notification-down dynamic-buttons {:margin-left 8}]
|
[dynamic-button-view :notification-down dynamic-buttons {:margin-left 8}]
|
||||||
[dynamic-button-view :notification-up dynamic-buttons {:margin-left 8}]
|
[dynamic-button-view :notification-up dynamic-buttons {:margin-left 8}]
|
||||||
[dynamic-button-view :bottom dynamic-buttons {:margin-left 8}]]]]))]))
|
[dynamic-button-view :scroll-to-bottom dynamic-buttons {:margin-left 8}]]]]))]))
|
||||||
|
@ -182,6 +182,6 @@
|
|||||||
{:on-press #(rf/dispatch [:shell/navigate-to-jump-to])
|
{:on-press #(rf/dispatch [:shell/navigate-to-jump-to])
|
||||||
:label (i18n/label :t/jump-to)}}
|
:label (i18n/label :t/jump-to)}}
|
||||||
(when @show-floating-scroll-down-button
|
(when @show-floating-scroll-down-button
|
||||||
{:bottom {:on-press scroll-to-bottom}}))
|
{:scroll-to-bottom {:on-press scroll-to-bottom}}))
|
||||||
{:position :absolute
|
{:position :absolute
|
||||||
:bottom 12}]]))
|
:bottom 12}]]))
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
:value "Search"}
|
:value "Search"}
|
||||||
{:key :search-with-label
|
{:key :search-with-label
|
||||||
:value "Search With Label"}
|
:value "Search With Label"}
|
||||||
{:key :bottom
|
{:key :scroll-to-bottom
|
||||||
:value "Bottom"}]}
|
:value "Bottom"}]}
|
||||||
{:label "Count"
|
{:label "Count"
|
||||||
:key :count
|
:key :count
|
||||||
|
@ -41,7 +41,7 @@
|
|||||||
(= scroll-type :notification-down)
|
(= scroll-type :notification-down)
|
||||||
(assoc :notification-down {:on-press #() :count 8})
|
(assoc :notification-down {:on-press #() :count 8})
|
||||||
(= scroll-type :scroll-to-bottom)
|
(= scroll-type :scroll-to-bottom)
|
||||||
(assoc :bottom {:on-press #()})))
|
(assoc :scroll-to-bottom {:on-press #()})))
|
||||||
|
|
||||||
(defn cool-preview
|
(defn cool-preview
|
||||||
[]
|
[]
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
|
|
||||||
;; Atoms
|
;; Atoms
|
||||||
(def selected-stack-id (atom nil))
|
(def selected-stack-id (atom nil))
|
||||||
|
(def screen-height (atom nil))
|
||||||
(def home-stack-state (atom shell.constants/close-with-animation))
|
(def home-stack-state (atom shell.constants/close-with-animation))
|
||||||
(def pass-through? (atom false)) ;; TODO - Use dynamic pass-through for transparent bottom tabs
|
(def pass-through? (atom false)) ;; TODO - Use dynamic pass-through for transparent bottom tabs
|
||||||
(def shared-values-atom (atom nil))
|
(def shared-values-atom (atom nil))
|
||||||
@ -47,6 +48,7 @@
|
|||||||
(defn calculate-home-stack-position
|
(defn calculate-home-stack-position
|
||||||
[]
|
[]
|
||||||
(let [{:keys [width height]} (shell.constants/dimensions)
|
(let [{:keys [width height]} (shell.constants/dimensions)
|
||||||
|
height (or @screen-height height)
|
||||||
bottom-nav-tab-width 90
|
bottom-nav-tab-width 90
|
||||||
minimize-scale (/ bottom-nav-tab-width width)
|
minimize-scale (/ bottom-nav-tab-width width)
|
||||||
empty-space-half-scale (/ (- 1 minimize-scale) 2)
|
empty-space-half-scale (/ (- 1 minimize-scale) 2)
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
;; status bar height is not included in : the dimensions/window for devices with a notch
|
;; status bar height is not included in : the dimensions/window for devices with a notch
|
||||||
;; https://github.com/facebook/react-native/issues/23693#issuecomment-662860819
|
;; https://github.com/facebook/react-native/issues/23693#issuecomment-662860819
|
||||||
|
;; More info - https://github.com/status-im/status-mobile/issues/14633
|
||||||
(defn dimensions
|
(defn dimensions
|
||||||
[]
|
[]
|
||||||
(let [{:keys [width height]} (rf/sub [:dimensions/window])]
|
(let [{:keys [width height]} (rf/sub [:dimensions/window])]
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
(ns status-im2.contexts.shell.style
|
(ns status-im2.contexts.shell.style
|
||||||
(:require [quo2.foundations.colors :as colors]
|
(:require [quo2.foundations.colors :as colors]
|
||||||
[react-native.platform :as platform]
|
[react-native.platform :as platform]
|
||||||
|
[status-im2.contexts.shell.animation :as animation]
|
||||||
[status-im2.contexts.shell.constants :as shell.constants]))
|
[status-im2.contexts.shell.constants :as shell.constants]))
|
||||||
|
|
||||||
;; Bottom Tabs
|
;; Bottom Tabs
|
||||||
@ -28,7 +29,8 @@
|
|||||||
;; Home Stack
|
;; Home Stack
|
||||||
(defn home-stack
|
(defn home-stack
|
||||||
[]
|
[]
|
||||||
(let [{:keys [width height]} (shell.constants/dimensions)]
|
(let [{:keys [width height]} (shell.constants/dimensions)
|
||||||
|
height (or @animation/screen-height height)]
|
||||||
{:border-bottom-left-radius 20
|
{:border-bottom-left-radius 20
|
||||||
:border-bottom-right-radius 20
|
:border-bottom-right-radius 20
|
||||||
:background-color (colors/theme-colors colors/neutral-5 colors/neutral-95)
|
:background-color (colors/theme-colors colors/neutral-5 colors/neutral-95)
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
(ns status-im2.contexts.shell.view
|
(ns status-im2.contexts.shell.view
|
||||||
(:require [i18n.i18n :as i18n]
|
(:require [i18n.i18n :as i18n]
|
||||||
[quo2.core :as quo]
|
[quo2.core :as quo]
|
||||||
|
[oops.core :refer [oget]]
|
||||||
[quo2.foundations.colors :as colors]
|
[quo2.foundations.colors :as colors]
|
||||||
[react-native.core :as rn]
|
[react-native.core :as rn]
|
||||||
[react-native.linear-gradient :as linear-gradient]
|
[react-native.linear-gradient :as linear-gradient]
|
||||||
[react-native.safe-area :as safe-area]
|
[react-native.safe-area :as safe-area]
|
||||||
[status-im2.common.home.view :as common.home]
|
[status-im2.common.home.view :as common.home]
|
||||||
|
[status-im.async-storage.core :as async-storage]
|
||||||
[status-im2.contexts.shell.animation :as animation]
|
[status-im2.contexts.shell.animation :as animation]
|
||||||
[status-im2.contexts.shell.bottom-tabs :as bottom-tabs]
|
[status-im2.contexts.shell.bottom-tabs :as bottom-tabs]
|
||||||
[status-im2.contexts.shell.cards.view :as switcher-cards]
|
[status-im2.contexts.shell.cards.view :as switcher-cards]
|
||||||
@ -111,7 +113,13 @@
|
|||||||
[:f>
|
[:f>
|
||||||
(fn []
|
(fn []
|
||||||
(let [shared-values (animation/calculate-shared-values)]
|
(let [shared-values (animation/calculate-shared-values)]
|
||||||
[:<>
|
[rn/view
|
||||||
|
{:style {:flex 1}
|
||||||
|
:on-layout (when-not @animation/screen-height
|
||||||
|
(fn [evt]
|
||||||
|
(let [height (oget evt "nativeEvent" "layout" "height")]
|
||||||
|
(reset! animation/screen-height height)
|
||||||
|
(async-storage/set-item! :screen-height height))))}
|
||||||
[shell]
|
[shell]
|
||||||
[bottom-tabs/bottom-tabs]
|
[bottom-tabs/bottom-tabs]
|
||||||
[home-stack/home-stack]
|
[home-stack/home-stack]
|
||||||
|
@ -51,6 +51,8 @@
|
|||||||
;; TODO(parvesh) - Remove while moving functionality to status-go
|
;; TODO(parvesh) - Remove while moving functionality to status-go
|
||||||
(async-storage/get-item :selected-stack-id #(animation/selected-stack-id-loaded %))
|
(async-storage/get-item :selected-stack-id #(animation/selected-stack-id-loaded %))
|
||||||
|
|
||||||
|
(async-storage/get-item :screen-height #(reset! animation/screen-height %))
|
||||||
|
|
||||||
(dev/setup)
|
(dev/setup)
|
||||||
|
|
||||||
(re-frame/dispatch-sync [:setup/app-started]))
|
(re-frame/dispatch-sync [:setup/app-started]))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user