diff --git a/home/package.json b/home/package.json index 8779d7b2cd32e..f46cfdd9abb83 100644 --- a/home/package.json +++ b/home/package.json @@ -51,6 +51,7 @@ "react-native-gesture-handler": "~1.6.0", "react-native-infinite-scroll-view": "^0.4.5", "react-native-maps": "0.26.1", + "react-native-safe-area-context": "^2.0.0", "react-navigation": "4.1.0-alpha.1", "react-navigation-material-bottom-tabs": "1.1.1", "react-navigation-stack": "^2.0.15", diff --git a/packages/expo/build/environment/DevLoadingView.ios.d.ts b/packages/expo/build/environment/DevLoadingView.ios.d.ts index 8a9d17eb7dd77..d94fe46f353a7 100644 --- a/packages/expo/build/environment/DevLoadingView.ios.d.ts +++ b/packages/expo/build/environment/DevLoadingView.ios.d.ts @@ -1 +1,2 @@ +/// export default function DevLoadingView(): JSX.Element | null; diff --git a/packages/expo/build/environment/DevLoadingView.ios.js b/packages/expo/build/environment/DevLoadingView.ios.js index c2fcc15c0f859..b86239c646afd 100644 --- a/packages/expo/build/environment/DevLoadingView.ios.js +++ b/packages/expo/build/environment/DevLoadingView.ios.js @@ -1,5 +1,6 @@ import React, { useEffect, useState, useRef } from 'react'; -import { Animated, StyleSheet, SafeAreaView, Text, NativeModules, NativeEventEmitter, View, } from 'react-native'; +import { Animated, StyleSheet, Text, NativeModules, NativeEventEmitter, View } from 'react-native'; +import { SafeAreaView } from 'react-native-safe-area-context'; const NativeDevLoadingView = NativeModules.DevLoadingView; const nativeDevLoadingViewEventEmitter = new NativeEventEmitter(NativeDevLoadingView); export default function DevLoadingView() { @@ -45,11 +46,12 @@ export default function DevLoadingView() { }, []); if (isDevLoading || isAnimating) { return ( - + {isDevLoading ? 'Refreshing...' : 'Refreshed'} + {isDevLoading ? 'Using Fast Refresh' : "Don't see your changes? Reload the app"} diff --git a/packages/expo/build/environment/DevLoadingView.ios.js.map b/packages/expo/build/environment/DevLoadingView.ios.js.map index 6e372208b816e..0c2a25b458069 100644 --- a/packages/expo/build/environment/DevLoadingView.ios.js.map +++ b/packages/expo/build/environment/DevLoadingView.ios.js.map @@ -1 +1 @@ -{"version":3,"file":"DevLoadingView.ios.js","sourceRoot":"","sources":["../../src/environment/DevLoadingView.ios.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useState, useRef } from 'react';\nimport {\n Animated,\n StyleSheet,\n SafeAreaView,\n Text,\n NativeModules,\n NativeEventEmitter,\n View,\n} from 'react-native';\n\nconst NativeDevLoadingView = NativeModules.DevLoadingView;\nconst nativeDevLoadingViewEventEmitter = new NativeEventEmitter(NativeDevLoadingView);\n\nexport default function DevLoadingView() {\n const [isDevLoading, setIsDevLoading] = useState(false);\n const [isAnimating, setIsAnimating] = useState(false);\n const translateY = useRef(new Animated.Value(0)).current;\n\n useEffect(() => {\n function handleShowMessage({ message }) {\n // \"Refreshing...\" is the standard fast refresh message and it's the\n // only time we want to display this overlay.\n if (message !== 'Refreshing...') {\n return;\n }\n\n // TODO: if we show the refreshing banner and don't get a hide message\n // for 3 seconds, warn the user that it's taking a while and suggest\n // they reload\n\n translateY.setValue(0);\n setIsDevLoading(true);\n }\n\n function handleHide() {\n // TODO: if we showed the 'refreshing' banner less than 250ms ago, delay\n // switching to the 'finished' banner\n\n setIsAnimating(true);\n setIsDevLoading(false);\n Animated.timing(translateY, {\n toValue: 150,\n delay: 1000,\n duration: 350,\n useNativeDriver: true,\n }).start(({ finished }) => {\n if (finished) {\n setIsAnimating(false);\n translateY.setValue(0);\n }\n });\n }\n\n nativeDevLoadingViewEventEmitter.addListener('devLoadingView:showMessage', handleShowMessage);\n nativeDevLoadingViewEventEmitter.addListener('devLoadingView:hide', handleHide);\n\n return function cleanup() {\n nativeDevLoadingViewEventEmitter.removeListener(\n 'devLoadingView:showMessage',\n handleShowMessage\n );\n nativeDevLoadingViewEventEmitter.removeListener('devLoadingView:hide', handleHide);\n };\n }, []);\n\n if (isDevLoading || isAnimating) {\n return (\n \n \n \n \n {isDevLoading ? 'Refreshing...' : 'Refreshed'}\n \n \n \n {isDevLoading ? 'Using Fast Refresh' : \"Don't see your changes? Reload the app\"}\n \n \n \n \n \n );\n } else {\n return null;\n }\n}\n\nconst styles = StyleSheet.create({\n animatedContainer: {\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n zIndex: 42, // arbitrary\n },\n banner: {\n flex: 1,\n overflow: 'visible',\n backgroundColor: 'rgba(0,0,0,0.75)',\n },\n contentContainer: {\n flex: 1,\n paddingTop: 10,\n paddingBottom: 5,\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center',\n },\n text: {\n color: '#fff',\n fontSize: 15,\n },\n subtitle: {\n color: 'rgba(255,255,255,0.8)',\n },\n});\n"]} \ No newline at end of file +{"version":3,"file":"DevLoadingView.ios.js","sourceRoot":"","sources":["../../src/environment/DevLoadingView.ios.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useState, useRef } from 'react';\nimport { Animated, StyleSheet, Text, NativeModules, NativeEventEmitter, View } from 'react-native';\nimport { SafeAreaView } from 'react-native-safe-area-context';\n\nconst NativeDevLoadingView = NativeModules.DevLoadingView;\nconst nativeDevLoadingViewEventEmitter = new NativeEventEmitter(NativeDevLoadingView);\n\nexport default function DevLoadingView() {\n const [isDevLoading, setIsDevLoading] = useState(false);\n const [isAnimating, setIsAnimating] = useState(false);\n const translateY = useRef(new Animated.Value(0)).current;\n\n useEffect(() => {\n function handleShowMessage({ message }) {\n // \"Refreshing...\" is the standard fast refresh message and it's the\n // only time we want to display this overlay.\n if (message !== 'Refreshing...') {\n return;\n }\n\n // TODO: if we show the refreshing banner and don't get a hide message\n // for 3 seconds, warn the user that it's taking a while and suggest\n // they reload\n\n translateY.setValue(0);\n setIsDevLoading(true);\n }\n\n function handleHide() {\n // TODO: if we showed the 'refreshing' banner less than 250ms ago, delay\n // switching to the 'finished' banner\n\n setIsAnimating(true);\n setIsDevLoading(false);\n Animated.timing(translateY, {\n toValue: 150,\n delay: 1000,\n duration: 350,\n useNativeDriver: true,\n }).start(({ finished }) => {\n if (finished) {\n setIsAnimating(false);\n translateY.setValue(0);\n }\n });\n }\n\n nativeDevLoadingViewEventEmitter.addListener('devLoadingView:showMessage', handleShowMessage);\n nativeDevLoadingViewEventEmitter.addListener('devLoadingView:hide', handleHide);\n\n return function cleanup() {\n nativeDevLoadingViewEventEmitter.removeListener(\n 'devLoadingView:showMessage',\n handleShowMessage\n );\n nativeDevLoadingViewEventEmitter.removeListener('devLoadingView:hide', handleHide);\n };\n }, []);\n\n if (isDevLoading || isAnimating) {\n return (\n \n \n \n \n {isDevLoading ? 'Refreshing...' : 'Refreshed'}\n \n\n \n \n {isDevLoading ? 'Using Fast Refresh' : \"Don't see your changes? Reload the app\"}\n \n \n \n \n \n );\n } else {\n return null;\n }\n}\n\nconst styles = StyleSheet.create({\n animatedContainer: {\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n zIndex: 42, // arbitrary\n },\n banner: {\n flex: 1,\n overflow: 'visible',\n backgroundColor: 'rgba(0,0,0,0.75)',\n },\n contentContainer: {\n flex: 1,\n paddingTop: 10,\n paddingBottom: 5,\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center',\n },\n text: {\n color: '#fff',\n fontSize: 15,\n },\n subtitle: {\n color: 'rgba(255,255,255,0.8)',\n },\n});\n"]} \ No newline at end of file diff --git a/packages/expo/package.json b/packages/expo/package.json index 17d042fea1f7c..8b6bcc3a033eb 100644 --- a/packages/expo/package.json +++ b/packages/expo/package.json @@ -80,6 +80,7 @@ "pretty-format": "^23.6.0", "prop-types": "^15.6.0", "qs": "^6.5.0", + "react-native-safe-area-context": "^2.0.0", "serialize-error": "^2.1.0", "unimodules-app-loader": "~1.0.2", "unimodules-barcode-scanner-interface": "~5.1.0", diff --git a/packages/expo/src/environment/DevLoadingView.ios.tsx b/packages/expo/src/environment/DevLoadingView.ios.tsx index 9458e5a38cdcd..2b64dd96f9f0c 100644 --- a/packages/expo/src/environment/DevLoadingView.ios.tsx +++ b/packages/expo/src/environment/DevLoadingView.ios.tsx @@ -1,13 +1,6 @@ import React, { useEffect, useState, useRef } from 'react'; -import { - Animated, - StyleSheet, - SafeAreaView, - Text, - NativeModules, - NativeEventEmitter, - View, -} from 'react-native'; +import { Animated, StyleSheet, Text, NativeModules, NativeEventEmitter, View } from 'react-native'; +import { SafeAreaView } from 'react-native-safe-area-context'; const NativeDevLoadingView = NativeModules.DevLoadingView; const nativeDevLoadingViewEventEmitter = new NativeEventEmitter(NativeDevLoadingView); @@ -69,11 +62,12 @@ export default function DevLoadingView() { - + {isDevLoading ? 'Refreshing...' : 'Refreshed'} + {isDevLoading ? 'Using Fast Refresh' : "Don't see your changes? Reload the app"} diff --git a/yarn.lock b/yarn.lock index 2f01e8704725d..2ed01ee63d6b4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14082,7 +14082,7 @@ react-native-reanimated@~1.9.0: dependencies: fbjs "^1.0.0" -react-native-safe-area-context@2.0.0: +react-native-safe-area-context@2.0.0, react-native-safe-area-context@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-2.0.0.tgz#7ef48e5a83a1e2f7fe9d5321493822b6765fd1ab" integrity sha512-5VtCI3Nluzm7QfTcB/3j4YeWqt25QO1u5KTA1jEg1ckJzV19qCZFyHIpCCkS5+VEX+2JEHfdczhCdwE5sPgyEw==