From eba8df67036de7e8203ab46e0eeccd65b2400862 Mon Sep 17 00:00:00 2001 From: Foo Pang Date: Sat, 30 Dec 2017 21:45:57 +0800 Subject: [PATCH] [Fix #2719] App does not fit on iPhone X screen Signed-off-by: Andrey Shovkoplyas --- .../LaunchImage.launchimage/Contents.json | 9 +++ .../LaunchScreen1125x2436.png | Bin 0 -> 64920 bytes src/status_im/chat/subs.cljs | 7 +- src/status_im/ios/platform.cljs | 15 ++++- src/status_im/ui/components/react.cljs | 62 ++++++++++++++++++ .../contacts/contact_list_modal/views.cljs | 2 +- src/status_im/ui/screens/views.cljs | 10 +-- .../wallet/choose_recipient/views.cljs | 28 ++++---- .../ui/screens/wallet/send/events.cljs | 4 +- .../ui/screens/wallet/send/views.cljs | 2 +- .../ui/screens/wallet/settings/views.cljs | 2 + .../ui/screens/wallet/transactions/views.cljs | 2 + src/status_im/utils/platform.cljs | 1 + 13 files changed, 118 insertions(+), 26 deletions(-) create mode 100644 ios/StatusIm/Images.xcassets/LaunchImage.launchimage/LaunchScreen1125x2436.png diff --git a/ios/StatusIm/Images.xcassets/LaunchImage.launchimage/Contents.json b/ios/StatusIm/Images.xcassets/LaunchImage.launchimage/Contents.json index f4f35aa35b..b7da69f118 100755 --- a/ios/StatusIm/Images.xcassets/LaunchImage.launchimage/Contents.json +++ b/ios/StatusIm/Images.xcassets/LaunchImage.launchimage/Contents.json @@ -57,6 +57,15 @@ "extent" : "full-screen", "subtype" : "retina4", "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "iphone", + "filename" : "LaunchScreen1125x2436.png", + "extent" : "full-screen", + "minimum-system-version" : "11.0", + "subtype" : "2436h", + "scale" : "3x" } ], "info" : { diff --git a/ios/StatusIm/Images.xcassets/LaunchImage.launchimage/LaunchScreen1125x2436.png b/ios/StatusIm/Images.xcassets/LaunchImage.launchimage/LaunchScreen1125x2436.png new file mode 100644 index 0000000000000000000000000000000000000000..2293aa1d7999973ca953b4675c5ebed68a0d050a GIT binary patch literal 64920 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 kb-height 0)) (- kb-height 34) + platform/ios? kb-height + :default 0))) (reg-sub :get-active-chats diff --git a/src/status_im/ios/platform.cljs b/src/status_im/ios/platform.cljs index 440b07d62b..d04bfc4047 100644 --- a/src/status_im/ios/platform.cljs +++ b/src/status_im/ios/platform.cljs @@ -1,4 +1,5 @@ -(ns status-im.ios.platform) +(ns status-im.ios.platform + (:require [status-im.react-native.js-dependencies :as rn-dependencies])) (def fonts {:light {:font-family "SFUIText-Light"} @@ -9,7 +10,15 @@ :toolbar-title {:font-family "SFUIText-Semibold"} :roboto-mono {:font-family "RobotoMono-Medium"}}) -;; Structure to be exported +;; iPhone X dimensions +(def x-width 375) +(def x-height 812) + +(defn iphone-x-dimensions? [] + (let [{:keys [width height]} (-> (.-Dimensions rn-dependencies/react-native) + (.get "window") + (js->clj :keywordize-keys true))] + (and (= width x-width) (= height x-height)))) (def platform-specific {:fonts fonts @@ -22,4 +31,4 @@ :new-contact-in-toolbar? true} :group-block-shadows? false :discover {:uppercase-subtitles? true} - :status-bar-default-height 20}) + :status-bar-default-height (if (iphone-x-dimensions?) 0 20)}) diff --git a/src/status_im/ui/components/react.cljs b/src/status_im/ui/components/react.cljs index 9bcb226701..581fc2b325 100644 --- a/src/status_im/ui/components/react.cljs +++ b/src/status_im/ui/components/react.cljs @@ -35,6 +35,7 @@ (def app-state (get-react-property "AppState")) (def net-info (get-react-property "NetInfo")) (def view (get-class "View")) +(def safe-area-view (get-class "SafeAreaView")) (def status-bar (get-class "StatusBar")) @@ -230,3 +231,64 @@ [with-activity-indicator {:preview [view {}]} comp]) + +;; Platform-specific View + +(def platform-specific-view + (if platform/iphone-x? safe-area-view view)) + +(defmulti create-main-screen-view #(cond + platform/iphone-x? :iphone-x + platform/ios? :ios + platform/android? :android)) + +(defmethod create-main-screen-view :iphone-x [current-view] + (fn [props & children] + (let [props (merge props + {:background-color + (case current-view + (:wallet + :wallet-send-transaction + :wallet-transaction-sent + :wallet-request-transaction + :wallet-send-assets + :wallet-request-assets + :choose-recipient + :recent-recipients + :wallet-send-transaction-modal + :wallet-transaction-sent-modal + :wallet-send-transaction-request + :wallet-transaction-fee + :contact-code) styles/color-blue4 + (:accounts + :login) styles/color-blue2 + (:qr-viewer + :recipient-qr-code) "#2f3031" + (:wallet-transactions-filter + :contact-list-modal) styles/color-white + :transparent)}) + children (cond-> children + (#{:wallet + :recent-recipients + :wallet-send-assets + :wallet-request-assets} current-view) + (conj [view {:background-color styles/color-white + :position :absolute + :bottom 0 + :right 0 + :left 0 + :height 100 + :z-index -1000}]))] + (apply vector safe-area-view props children)))) + +(defmethod create-main-screen-view :default [_] + view) + +(views/defview main-screen-modal-view [current-view & components] + (views/letsubs [signing? [:get-in [:wallet :send-transaction :signing?]]] + (let [main-screen-view (create-main-screen-view current-view)] + [main-screen-view styles/flex + [keyboard-avoiding-view {:flex 1 :flex-direction :column} + (apply vector view styles/flex components) + (when (and platform/iphone-x? (not signing?)) + [view {:flex 0 :height 34}])]]))) diff --git a/src/status_im/ui/screens/contacts/contact_list_modal/views.cljs b/src/status_im/ui/screens/contacts/contact_list_modal/views.cljs index dd8da6a1b7..de84f617b3 100644 --- a/src/status_im/ui/screens/contacts/contact_list_modal/views.cljs +++ b/src/status_im/ui/screens/contacts/contact_list_modal/views.cljs @@ -46,7 +46,7 @@ click-handler [:get :contacts/click-handler] action [:get :contacts/click-action] params [:get :contacts/click-params]] - [react/view {:flex 1} + [react/view {:flex 1 :background-color :white} [status-bar {:type :modal-white}] [toolbar/simple-toolbar (i18n/label :t/contacts)] [list/flat-list {:style st/contacts-list-modal diff --git a/src/status_im/ui/screens/views.cljs b/src/status_im/ui/screens/views.cljs index af4ff62047..e59e2d49d6 100644 --- a/src/status_im/ui/screens/views.cljs +++ b/src/status_im/ui/screens/views.cljs @@ -2,7 +2,7 @@ (:require-macros [status-im.utils.views :refer [defview letsubs] :as views]) (:require [re-frame.core :refer [dispatch]] [status-im.utils.platform :refer [android?]] - [status-im.ui.components.react :refer [view modal] :as react] + [status-im.ui.components.react :refer [view modal create-main-screen-view] :as react] [status-im.ui.components.styles :as common-styles] [status-im.ui.screens.main-tabs.views :refer [main-tabs]] @@ -176,8 +176,9 @@ :recipient-qr-code recipient-qr-code :contact-code contact-code :profile-qr-viewer profile/qr-viewer - (throw (str "Unknown view: " current-view)))] - [view common-styles/flex + (throw (str "Unknown view: " current-view))) + main-screen-view (create-main-screen-view current-view)] + [main-screen-view common-styles/flex (if (and android? signed-up? (#{:home :wallet :my-profile :chat :wallet-send-transaction @@ -202,4 +203,5 @@ :wallet-transaction-sent-modal transaction-sent-modal :wallet-transaction-fee wallet.send/transaction-fee (throw (str "Unknown modal view: " modal-view)))] - [component])]])]))))) + [react/main-screen-modal-view modal-view + [component]])]])]))))) diff --git a/src/status_im/ui/screens/wallet/choose_recipient/views.cljs b/src/status_im/ui/screens/wallet/choose_recipient/views.cljs index 5f22aeca4b..556832d2e0 100644 --- a/src/status_im/ui/screens/wallet/choose_recipient/views.cljs +++ b/src/status_im/ui/screens/wallet/choose_recipient/views.cljs @@ -24,19 +24,21 @@ :handler #(re-frame/dispatch [:wallet/toggle-flashlight])}]]]) (defn- viewfinder [{:keys [height width]} size] - [react/view {:style styles/viewfinder-port} - [react/view {:style (styles/viewfinder-translucent height width size :top)}] - [react/view {:style (styles/viewfinder-translucent height width size :right)}] - [react/view {:style (styles/viewfinder-translucent height width size :bottom)}] - [react/view {:style (styles/viewfinder-translucent height width size :left)}] - [react/image {:source {:uri :corner_left_top} - :style (styles/corner-left-top height width size)}] - [react/image {:source {:uri :corner_right_top} - :style (styles/corner-right-top height width size)}] - [react/image {:source {:uri :corner_left_bottom} - :style (styles/corner-left-bottom height width size)}] - [react/image {:source {:uri :corner_right_bottom} - :style (styles/corner-right-bottom height width size)}]]) + (let [height (cond-> height + platform/iphone-x? (- 78))] + [react/view {:style styles/viewfinder-port} + [react/view {:style (styles/viewfinder-translucent height width size :top)}] + [react/view {:style (styles/viewfinder-translucent height width size :right)}] + [react/view {:style (styles/viewfinder-translucent height width size :bottom)}] + [react/view {:style (styles/viewfinder-translucent height width size :left)}] + [react/image {:source {:uri :corner_left_top} + :style (styles/corner-left-top height width size)}] + [react/image {:source {:uri :corner_right_top} + :style (styles/corner-right-top height width size)}] + [react/image {:source {:uri :corner_left_bottom} + :style (styles/corner-left-bottom height width size)}] + [react/image {:source {:uri :corner_right_bottom} + :style (styles/corner-right-bottom height width size)}]])) (defn- size [{:keys [height width]}] (int (* 2 (/ (min height width) 3)))) diff --git a/src/status_im/ui/screens/wallet/send/events.cljs b/src/status_im/ui/screens/wallet/send/events.cljs index c04b9377e1..90073db878 100644 --- a/src/status_im/ui/screens/wallet/send/events.cljs +++ b/src/status_im/ui/screens/wallet/send/events.cljs @@ -185,8 +185,8 @@ (update-in [:wallet :transactions-unsigned] dissoc id) (update-in [:wallet :send-transaction] merge clear-send-properties))} (if modal? - {:dispatch-n [[:navigate-back] - [:navigate-to-modal :wallet-transaction-sent-modal]]} + {:dispatch [:navigate-back] + :dispatch-later [{:ms 400 :dispatch [:navigate-to-modal :wallet-transaction-sent-modal]}]} {:dispatch [:navigate-to :wallet-transaction-sent]})))))) (defn on-transactions-modal-completed [raw-results] diff --git a/src/status_im/ui/screens/wallet/send/views.cljs b/src/status_im/ui/screens/wallet/send/views.cljs index d63c11603f..dd317ecb16 100644 --- a/src/status_im/ui/screens/wallet/send/views.cljs +++ b/src/status_im/ui/screens/wallet/send/views.cljs @@ -163,7 +163,7 @@ (defn- send-transaction-panel [{:keys [modal? transaction scroll advanced? symbol]}] (let [{:keys [amount amount-error signing? to to-name sufficient-funds? in-progress? from-chat?]} transaction] - [wallet.components/simple-screen {:avoid-keyboard? true + [wallet.components/simple-screen {:avoid-keyboard? (not modal?) :status-bar-type (if modal? :modal-wallet :wallet)} [toolbar from-chat? (if modal? act/close-white act/back-white) (i18n/label :t/send-transaction)] diff --git a/src/status_im/ui/screens/wallet/settings/views.cljs b/src/status_im/ui/screens/wallet/settings/views.cljs index f42498d59d..789134e7cd 100644 --- a/src/status_im/ui/screens/wallet/settings/views.cljs +++ b/src/status_im/ui/screens/wallet/settings/views.cljs @@ -6,6 +6,7 @@ [status-im.ui.components.react :as react] [status-im.ui.components.styles :as components.styles] [status-im.ui.components.toolbar.view :as toolbar] + [status-im.ui.components.status-bar.view :as status-bar] [status-im.ui.screens.wallet.styles :as wallet.styles] [status-im.utils.ethereum.core :as ethereum] [status-im.utils.ethereum.tokens :as tokens])) @@ -24,6 +25,7 @@ (letsubs [network [:network] visible-tokens [:wallet.settings/visible-tokens]] [react/view (merge components.styles/flex {:background-color :white}) + [status-bar/status-bar {:type :modal-wallet}] [toolbar/toolbar #_{} {:style wallet.styles/toolbar} [toolbar/nav-text {:style {:color :white}} (i18n/label :t/done)] diff --git a/src/status_im/ui/screens/wallet/transactions/views.cljs b/src/status_im/ui/screens/wallet/transactions/views.cljs index 5a348de6d2..95f78c96ac 100644 --- a/src/status_im/ui/screens/wallet/transactions/views.cljs +++ b/src/status_im/ui/screens/wallet/transactions/views.cljs @@ -9,6 +9,7 @@ [status-im.ui.components.styles :as components.styles] [status-im.ui.components.toolbar.actions :as actions] [status-im.ui.components.toolbar.view :as toolbar] + [status-im.ui.components.status-bar.view :as status-bar] [status-im.ui.screens.wallet.transactions.styles :as styles] [status-im.utils.money :as money])) @@ -140,6 +141,7 @@ (defview filter-history [] (letsubs [filter-data [:wallet.transactions/filters]] [react/view styles/filter-container + [status-bar/status-bar {:type :modal-white}] [toolbar/toolbar {} [toolbar/nav-clear-text (i18n/label :t/done)] [toolbar/content-title (i18n/label :t/transactions-filter-title)] diff --git a/src/status_im/utils/platform.cljs b/src/status_im/utils/platform.cljs index d0c3adff13..6dece9b624 100644 --- a/src/status_im/utils/platform.cljs +++ b/src/status_im/utils/platform.cljs @@ -9,6 +9,7 @@ (def android? (= platform "android")) (def ios? (= platform "ios")) +(def iphone-x? (and ios? (ios/iphone-x-dimensions?))) (def platform-specific (cond