aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHusam Salhab <47015061+hsalhab@users.noreply.github.com>2020-06-26 12:53:50 -0400
committerGitHub <noreply@github.com>2020-06-26 12:53:50 -0400
commitcdbf153a09e20b3483926bf2cd80d600105fbeae (patch)
tree48cc1d99384455af3e8a4c688ca42666c47e1a8f
parent36a6781faad4380e7c401f32506707c0e48a15f5 (diff)
parent69bc5a72f72e847f42d8486ad29161f1e21239d3 (diff)
Merge pull request #7 from leonyjiang/tma58-react-navigation-setup
[TMA-58] Cleanup file structure & add react-navigation
-rw-r--r--App.tsx118
-rw-r--r--app.json4
-rw-r--r--index.js3
-rw-r--r--ios/Podfile.lock30
-rw-r--r--package.json20
-rw-r--r--src/App.tsx23
-rw-r--r--src/__tests__/App-test.tsx (renamed from __tests__/App-test.tsx)2
-rw-r--r--src/assets/images/logo.pngbin0 -> 7852 bytes
-rw-r--r--src/assets/images/logo@2x.pngbin0 -> 18292 bytes
-rw-r--r--src/assets/images/logo@3x.pngbin0 -> 30041 bytes
-rw-r--r--src/index.ts1
-rw-r--r--src/routes/Routes.tsx24
-rw-r--r--src/routes/index.ts2
-rw-r--r--src/screens/Login.tsx27
-rw-r--r--src/screens/Registration.tsx14
-rw-r--r--src/screens/index.ts2
-rw-r--r--yarn.lock166
17 files changed, 308 insertions, 128 deletions
diff --git a/App.tsx b/App.tsx
deleted file mode 100644
index 6106df43..00000000
--- a/App.tsx
+++ /dev/null
@@ -1,118 +0,0 @@
-/**
- * Sample React Native App
- * https://github.com/facebook/react-native
- *
- * Generated with the TypeScript template
- * https://github.com/react-native-community/react-native-template-typescript
- *
- * @format
- */
-
-import React from 'react';
-import {
- SafeAreaView,
- StyleSheet,
- ScrollView,
- View,
- Text,
- StatusBar,
-} from 'react-native';
-
-import {
- Header,
- LearnMoreLinks,
- Colors,
- DebugInstructions,
- ReloadInstructions,
-} from 'react-native/Libraries/NewAppScreen';
-
-declare const global: {HermesInternal: null | {}};
-
-const App = () => {
- return (
- <>
- <StatusBar barStyle="dark-content" />
- <SafeAreaView>
- <ScrollView
- contentInsetAdjustmentBehavior="automatic"
- style={styles.scrollView}>
- <Header />
- {global.HermesInternal == null ? null : (
- <View style={styles.engine}>
- <Text style={styles.footer}>Engine: Hermes</Text>
- </View>
- )}
- <View style={styles.body}>
- <View style={styles.sectionContainer}>
- <Text style={styles.sectionTitle}>Step One</Text>
- <Text style={styles.sectionDescription}>
- Edit <Text style={styles.highlight}>App.tsx</Text> in order to change
- this screen and then come back to see your edits.
- </Text>
- </View>
- <View style={styles.sectionContainer}>
- <Text style={styles.sectionTitle}>See Your Changes</Text>
- <Text style={styles.sectionDescription}>
- <ReloadInstructions />
- </Text>
- </View>
- <View style={styles.sectionContainer}>
- <Text style={styles.sectionTitle}>Debug</Text>
- <Text style={styles.sectionDescription}>
- <DebugInstructions />
- </Text>
- </View>
- <View style={styles.sectionContainer}>
- <Text style={styles.sectionTitle}>Learn More</Text>
- <Text style={styles.sectionDescription}>
- Read the docs to discover what to do next:
- </Text>
- </View>
- <LearnMoreLinks />
- </View>
- </ScrollView>
- </SafeAreaView>
- </>
- );
-};
-
-const styles = StyleSheet.create({
- scrollView: {
- backgroundColor: Colors.lighter,
- },
- engine: {
- position: 'absolute',
- right: 0,
- },
- body: {
- backgroundColor: Colors.white,
- },
- sectionContainer: {
- marginTop: 32,
- paddingHorizontal: 24,
- },
- sectionTitle: {
- fontSize: 24,
- fontWeight: '600',
- color: Colors.black,
- },
- sectionDescription: {
- marginTop: 8,
- fontSize: 18,
- fontWeight: '400',
- color: Colors.dark,
- },
- highlight: {
- fontWeight: '700',
- },
- footer: {
- color: Colors.dark,
- fontSize: 12,
- fontWeight: '600',
- padding: 4,
- paddingRight: 12,
- textAlign: 'right',
- },
-});
-
-export default App;
diff --git a/app.json b/app.json
index 662ac2d1..cc4bd77c 100644
--- a/app.json
+++ b/app.json
@@ -1,4 +1,4 @@
{
"name": "Frontend",
- "displayName": "Frontend"
-} \ No newline at end of file
+ "displayName": "Tagg"
+}
diff --git a/index.js b/index.js
index a850d031..4117260f 100644
--- a/index.js
+++ b/index.js
@@ -2,8 +2,9 @@
* @format
*/
+import 'react-native-gesture-handler';
import {AppRegistry} from 'react-native';
-import App from './App';
+import App from './src';
import {name as appName} from './app.json';
AppRegistry.registerComponent(appName, () => App);
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index 9db48555..693e204c 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -233,6 +233,8 @@ PODS:
- React-cxxreact (= 0.62.2)
- React-jsi (= 0.62.2)
- React-jsinspector (0.62.2)
+ - react-native-safe-area-context (3.0.6):
+ - React
- React-RCTActionSheet (0.62.2):
- React-Core/RCTActionSheetHeaders (= 0.62.2)
- React-RCTAnimation (0.62.2):
@@ -292,6 +294,14 @@ PODS:
- React-cxxreact (= 0.62.2)
- React-jsi (= 0.62.2)
- ReactCommon/callinvoker (= 0.62.2)
+ - RNCMaskedView (0.1.10):
+ - React
+ - RNGestureHandler (1.6.1):
+ - React
+ - RNReanimated (1.9.0):
+ - React
+ - RNScreens (2.9.0):
+ - React
- Yoga (1.14.0)
- YogaKit (1.18.1):
- Yoga (~> 1.14)
@@ -332,6 +342,7 @@ DEPENDENCIES:
- React-jsi (from `../node_modules/react-native/ReactCommon/jsi`)
- React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
- React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`)
+ - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`)
- React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`)
- React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`)
- React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`)
@@ -343,6 +354,10 @@ DEPENDENCIES:
- React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
- ReactCommon/callinvoker (from `../node_modules/react-native/ReactCommon`)
- ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
+ - "RNCMaskedView (from `../node_modules/@react-native-community/masked-view`)"
+ - RNGestureHandler (from `../node_modules/react-native-gesture-handler`)
+ - RNReanimated (from `../node_modules/react-native-reanimated`)
+ - RNScreens (from `../node_modules/react-native-screens`)
- Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
SPEC REPOS:
@@ -389,6 +404,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/ReactCommon/jsiexecutor"
React-jsinspector:
:path: "../node_modules/react-native/ReactCommon/jsinspector"
+ react-native-safe-area-context:
+ :path: "../node_modules/react-native-safe-area-context"
React-RCTActionSheet:
:path: "../node_modules/react-native/Libraries/ActionSheetIOS"
React-RCTAnimation:
@@ -409,6 +426,14 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/Libraries/Vibration"
ReactCommon:
:path: "../node_modules/react-native/ReactCommon"
+ RNCMaskedView:
+ :path: "../node_modules/@react-native-community/masked-view"
+ RNGestureHandler:
+ :path: "../node_modules/react-native-gesture-handler"
+ RNReanimated:
+ :path: "../node_modules/react-native-reanimated"
+ RNScreens:
+ :path: "../node_modules/react-native-screens"
Yoga:
:path: "../node_modules/react-native/ReactCommon/yoga"
@@ -438,6 +463,7 @@ SPEC CHECKSUMS:
React-jsi: b6dc94a6a12ff98e8877287a0b7620d365201161
React-jsiexecutor: 1540d1c01bb493ae3124ed83351b1b6a155db7da
React-jsinspector: 512e560d0e985d0e8c479a54a4e5c147a9c83493
+ react-native-safe-area-context: e22a8ca00f758273d2408953965cb8db67da7925
React-RCTActionSheet: f41ea8a811aac770e0cc6e0ad6b270c644ea8b7c
React-RCTAnimation: 49ab98b1c1ff4445148b72a3d61554138565bad0
React-RCTBlob: a332773f0ebc413a0ce85942a55b064471587a71
@@ -448,6 +474,10 @@ SPEC CHECKSUMS:
React-RCTText: fae545b10cfdb3d247c36c56f61a94cfd6dba41d
React-RCTVibration: 4356114dbcba4ce66991096e51a66e61eda51256
ReactCommon: ed4e11d27609d571e7eee8b65548efc191116eb3
+ RNCMaskedView: 5a8ec07677aa885546a0d98da336457e2bea557f
+ RNGestureHandler: 8f09cd560f8d533eb36da5a6c5a843af9f056b38
+ RNReanimated: b5ccb50650ba06f6e749c7c329a1bc3ae0c88b43
+ RNScreens: c526239bbe0e957b988dacc8d75ac94ec9cb19da
Yoga: 3ebccbdd559724312790e7742142d062476b698e
YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
diff --git a/package.json b/package.json
index 7bee86c4..d3ad6c4d 100644
--- a/package.json
+++ b/package.json
@@ -7,11 +7,18 @@
"ios": "react-native run-ios",
"start": "react-native start",
"test": "jest",
- "lint": "eslint . --ext .js,.jsx,.ts,.tsx"
+ "lint": "eslint . --ext .js,.jsx,.ts,.tsx --fix"
},
"dependencies": {
+ "@react-native-community/masked-view": "^0.1.10",
+ "@react-navigation/native": "^5.6.1",
+ "@react-navigation/stack": "^5.6.2",
"react": "16.11.0",
- "react-native": "0.62.2"
+ "react-native": "0.62.2",
+ "react-native-gesture-handler": "^1.6.1",
+ "react-native-reanimated": "^1.9.0",
+ "react-native-safe-area-context": "^3.0.6",
+ "react-native-screens": "^2.9.0"
},
"devDependencies": {
"@babel/core": "^7.6.2",
@@ -24,10 +31,11 @@
"@typescript-eslint/parser": "^2.27.0",
"babel-jest": "^24.9.0",
"eslint": "^6.5.1",
+ "identity-obj-proxy": "^3.0.0",
"jest": "^24.9.0",
"metro-react-native-babel-preset": "^0.58.0",
- "react-test-renderer": "16.11.0",
"prettier": "^2.0.4",
+ "react-test-renderer": "16.11.0",
"typescript": "^3.8.3"
},
"jest": {
@@ -39,6 +47,12 @@
"jsx",
"json",
"node"
+ ],
+ "moduleNameMapper": {
+ ".+\\.(css|styl|less|sass|scss|png|jpg|ttf|woff|woff2)$": "identity-obj-proxy"
+ },
+ "setupFiles": [
+ "./node_modules/react-native-gesture-handler/jestSetup.js"
]
}
}
diff --git a/src/App.tsx b/src/App.tsx
new file mode 100644
index 00000000..6c247f7c
--- /dev/null
+++ b/src/App.tsx
@@ -0,0 +1,23 @@
+/**
+ * Sample React Native App
+ * https://github.com/facebook/react-native
+ *
+ * Generated with the TypeScript template
+ * https://github.com/react-native-community/react-native-template-typescript
+ *
+ * @format
+ */
+
+import React from 'react';
+import Routes from './routes';
+import {NavigationContainer} from '@react-navigation/native';
+
+const App = () => {
+ return (
+ <NavigationContainer>
+ <Routes />
+ </NavigationContainer>
+ );
+};
+
+export default App;
diff --git a/__tests__/App-test.tsx b/src/__tests__/App-test.tsx
index 17847669..e362fb52 100644
--- a/__tests__/App-test.tsx
+++ b/src/__tests__/App-test.tsx
@@ -9,6 +9,8 @@ import App from '../App';
// Note: test renderer must be required after react-native.
import renderer from 'react-test-renderer';
+jest.mock('react-native/Libraries/Animated/src/NativeAnimatedHelper');
+
it('renders correctly', () => {
renderer.create(<App />);
});
diff --git a/src/assets/images/logo.png b/src/assets/images/logo.png
new file mode 100644
index 00000000..08b21ae9
--- /dev/null
+++ b/src/assets/images/logo.png
Binary files differ
diff --git a/src/assets/images/logo@2x.png b/src/assets/images/logo@2x.png
new file mode 100644
index 00000000..df6be90e
--- /dev/null
+++ b/src/assets/images/logo@2x.png
Binary files differ
diff --git a/src/assets/images/logo@3x.png b/src/assets/images/logo@3x.png
new file mode 100644
index 00000000..7f254e8c
--- /dev/null
+++ b/src/assets/images/logo@3x.png
Binary files differ
diff --git a/src/index.ts b/src/index.ts
new file mode 100644
index 00000000..ab7fd11d
--- /dev/null
+++ b/src/index.ts
@@ -0,0 +1 @@
+export {default} from './App';
diff --git a/src/routes/Routes.tsx b/src/routes/Routes.tsx
new file mode 100644
index 00000000..9c2efada
--- /dev/null
+++ b/src/routes/Routes.tsx
@@ -0,0 +1,24 @@
+import React from 'react';
+import {createStackNavigator} from '@react-navigation/stack';
+
+import {Login, Registration} from '../screens';
+
+export type RootStackParams = {
+ Login: undefined;
+ Registration: undefined;
+};
+
+const RootStack = createStackNavigator<RootStackParamList>();
+
+interface RoutesProps {}
+
+const Routes: React.FC<RoutesProps> = ({}) => {
+ return (
+ <RootStack.Navigator initialRouteName="Login">
+ <RootStack.Screen name="Login" component={Login} />
+ <RootStack.Screen name="Registration" component={Registration} />
+ </RootStack.Navigator>
+ );
+};
+
+export default Routes;
diff --git a/src/routes/index.ts b/src/routes/index.ts
new file mode 100644
index 00000000..cfa05fcb
--- /dev/null
+++ b/src/routes/index.ts
@@ -0,0 +1,2 @@
+export {default} from './Routes';
+export * from './Routes';
diff --git a/src/screens/Login.tsx b/src/screens/Login.tsx
new file mode 100644
index 00000000..0305b907
--- /dev/null
+++ b/src/screens/Login.tsx
@@ -0,0 +1,27 @@
+import React from 'react';
+import {RouteProp} from '@react-navigation/native';
+import {StackNavigationProp} from '@react-navigation/stack';
+import {View, Text, Button} from 'react-native';
+
+import {RootStackParams} from '../routes';
+
+type LoginScreenRouteProp = RouteProp<RootStackParams, 'Login'>;
+type LoginScreenNavigationProp = StackNavigationProp<RootStackParams, 'Login'>;
+
+interface LoginProps {
+ route: LoginScreenRouteProp;
+ navigation: LoginScreenNavigationProp;
+}
+const Login = ({navigation}: LoginProps) => {
+ return (
+ <View style={{flex: 1, justifyContent: 'center', alignItems: 'center'}}>
+ <Text style={{fontSize: 18}}>Welcome to Tagg! Login page goes here.</Text>
+ <Button
+ title="Register"
+ onPress={() => navigation.navigate('Registration')}
+ />
+ </View>
+ );
+};
+
+export default Login;
diff --git a/src/screens/Registration.tsx b/src/screens/Registration.tsx
new file mode 100644
index 00000000..44658591
--- /dev/null
+++ b/src/screens/Registration.tsx
@@ -0,0 +1,14 @@
+import React from 'react';
+import {View, Text} from 'react-native';
+
+interface RegistrationProps {}
+
+const Registration: React.FC<RegistrationProps> = ({}) => {
+ return (
+ <View style={{flex: 1, alignSelf: 'center', justifyContent: 'center'}}>
+ <Text style={{fontSize: 18}}>Registration sequence begins here!</Text>
+ </View>
+ );
+};
+
+export default Registration;
diff --git a/src/screens/index.ts b/src/screens/index.ts
new file mode 100644
index 00000000..60b26b4c
--- /dev/null
+++ b/src/screens/index.ts
@@ -0,0 +1,2 @@
+export {default as Login} from './Login';
+export {default as Registration} from './Registration';
diff --git a/yarn.lock b/yarn.lock
index 954302bb..15aedb4c 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -673,6 +673,13 @@
exec-sh "^0.3.2"
minimist "^1.2.0"
+"@egjs/hammerjs@^2.0.17":
+ version "2.0.17"
+ resolved "https://registry.yarnpkg.com/@egjs/hammerjs/-/hammerjs-2.0.17.tgz#5dc02af75a6a06e4c2db0202cae38c9263895124"
+ integrity sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==
+ dependencies:
+ "@types/hammerjs" "^2.0.36"
+
"@hapi/address@2.x.x":
version "2.1.4"
resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5"
@@ -994,6 +1001,46 @@
resolved "https://registry.yarnpkg.com/@react-native-community/eslint-plugin/-/eslint-plugin-1.1.0.tgz#e42b1bef12d2415411519fd528e64b593b1363dc"
integrity sha512-W/J0fNYVO01tioHjvYWQ9m6RgndVtbElzYozBq1ZPrHO/iCzlqoySHl4gO/fpCl9QEFjvJfjPgtPMTMlsoq5DQ==
+"@react-native-community/masked-view@^0.1.10":
+ version "0.1.10"
+ resolved "https://registry.yarnpkg.com/@react-native-community/masked-view/-/masked-view-0.1.10.tgz#5dda643e19e587793bc2034dd9bf7398ad43d401"
+ integrity sha512-rk4sWFsmtOw8oyx8SD3KSvawwaK7gRBSEIy2TAwURyGt+3TizssXP1r8nx3zY+R7v2vYYHXZ+k2/GULAT/bcaQ==
+
+"@react-navigation/core@^5.11.1":
+ version "5.11.1"
+ resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-5.11.1.tgz#c4890910ba3d6332ee6873f0adb3d3d13cf4fa4c"
+ integrity sha512-zJ/w84msKBhgRR35/tHdY1facxdnN/WP9Ebutnjp/J9ENuv7fHXhYlxX+oIRrMn+/MnbG79RVnYcO/r4lO8OTQ==
+ dependencies:
+ "@react-navigation/routers" "^5.4.8"
+ escape-string-regexp "^4.0.0"
+ nanoid "^3.1.9"
+ query-string "^6.13.1"
+ react-is "^16.13.0"
+ use-subscription "^1.4.0"
+
+"@react-navigation/native@^5.6.1":
+ version "5.6.1"
+ resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-5.6.1.tgz#a603b921f39fe3fcfcc27232d71b24e80effc1f2"
+ integrity sha512-jnSNEnuRzqLvG+7QcMthfB8eCZIzAE0Wku7HDgzfjFS2iA7Oa9ugeX/1qdP9heT2Mp0t9BDQ4XX4boJma9Z/xg==
+ dependencies:
+ "@react-navigation/core" "^5.11.1"
+ nanoid "^3.1.9"
+
+"@react-navigation/routers@^5.4.8":
+ version "5.4.8"
+ resolved "https://registry.yarnpkg.com/@react-navigation/routers/-/routers-5.4.8.tgz#b85ba06b2465bfa031d61167c078c2911219d877"
+ integrity sha512-7uxC24fgLQdRquxPfL8SZ8zjle5DXdAB56aYL13tH+HAdhO2YxjKVvulzhGUsfcZthMvZ/9psybhn+m4z71dUg==
+ dependencies:
+ nanoid "^3.1.9"
+
+"@react-navigation/stack@^5.6.2":
+ version "5.6.2"
+ resolved "https://registry.yarnpkg.com/@react-navigation/stack/-/stack-5.6.2.tgz#d2371f9ffdcf3eee26245697d0947c9722542f38"
+ integrity sha512-51Aasxg8j2eKxz4mhA0ajJXrhAyJQkk2iiNE511zcqJ3tlfxv/h70Eej3PetnbbHFMOwNsEwc2GjB3OnfQcxjQ==
+ dependencies:
+ color "^3.1.2"
+ react-native-iphone-x-helper "^1.2.1"
+
"@types/babel__core@^7.1.0":
version "7.1.9"
resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.9.tgz#77e59d438522a6fb898fa43dc3455c6e72f3963d"
@@ -1037,6 +1084,11 @@
resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d"
integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==
+"@types/hammerjs@^2.0.36":
+ version "2.0.36"
+ resolved "https://registry.yarnpkg.com/@types/hammerjs/-/hammerjs-2.0.36.tgz#17ce0a235e9ffbcdcdf5095646b374c2bf615a4c"
+ integrity sha512-7TUK/k2/QGpEAv/BCwSHlYu3NXZhQ9ZwBYpzr9tjlPIL2C5BeGhH3DmVavRx3ZNyELX5TLC91JTz/cen6AAtIQ==
+
"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0":
version "2.0.3"
resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762"
@@ -1828,7 +1880,7 @@ collection-visit@^1.0.0:
map-visit "^1.0.0"
object-visit "^1.0.0"
-color-convert@^1.9.0:
+color-convert@^1.9.0, color-convert@^1.9.1:
version "1.9.3"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
@@ -1847,16 +1899,32 @@ color-name@1.1.3:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
-color-name@~1.1.4:
+color-name@^1.0.0, color-name@~1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+color-string@^1.5.2:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc"
+ integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==
+ dependencies:
+ color-name "^1.0.0"
+ simple-swizzle "^0.2.2"
+
color-support@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2"
integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==
+color@^3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10"
+ integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==
+ dependencies:
+ color-convert "^1.9.1"
+ color-string "^1.5.2"
+
colorette@^1.0.7:
version "1.2.0"
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.0.tgz#45306add826d196e8c87236ac05d797f25982e63"
@@ -2267,6 +2335,11 @@ escape-string-regexp@^1.0.5:
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
+escape-string-regexp@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
+ integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
+
escodegen@^1.9.1:
version "1.14.3"
resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503"
@@ -2939,6 +3012,11 @@ har-validator@~5.1.3:
ajv "^6.5.5"
har-schema "^2.0.0"
+harmony-reflect@^1.4.6:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.1.tgz#c108d4f2bb451efef7a37861fdbdae72c9bdefa9"
+ integrity sha512-WJTeyp0JzGtHcuMsi7rw2VwtkvLa+JyfEKJCFyfcS0+CDkjQ5lHPu7zEhFZP+PDSRrEgXa5Ah0l1MbgbE41XjA==
+
has-flag@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
@@ -2997,6 +3075,11 @@ hermes-engine@~0.4.0:
resolved "https://registry.yarnpkg.com/hermes-engine/-/hermes-engine-0.4.1.tgz#2d02b295596298643c4d24b86687eb554db9e950"
integrity sha512-Y3JFC8PD7eN3KpnrzrmvMAqp0IwnZrmP/oGOptvaSu33d7Zq/8b/2lHlZZkNvRl7/I1Q0umTX8TByK7zzLfTXA==
+hoist-non-react-statics@^2.3.1:
+ version "2.5.5"
+ resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47"
+ integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==
+
hosted-git-info@^2.1.4:
version "2.8.8"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488"
@@ -3041,6 +3124,13 @@ iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@~0.4.13:
dependencies:
safer-buffer ">= 2.1.2 < 3"
+identity-obj-proxy@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14"
+ integrity sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ=
+ dependencies:
+ harmony-reflect "^1.4.6"
+
ignore@^4.0.6:
version "4.0.6"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
@@ -3172,6 +3262,11 @@ is-arrayish@^0.2.1:
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
+is-arrayish@^0.3.1:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
+ integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
+
is-buffer@^1.1.5:
version "1.1.6"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
@@ -4418,6 +4513,11 @@ nan@^2.12.1:
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01"
integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==
+nanoid@^3.1.9:
+ version "3.1.10"
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.10.tgz#69a8a52b77892de0d11cede96bc9762852145bc4"
+ integrity sha512-iZFMXKeXWkxzlfmMfM91gw7YhN2sdJtixY+eZh9V6QWJWTOiurhpKhBMgr82pfzgSqglQgqYSCowEYsz8D++6w==
+
nanomatch@^1.2.9:
version "1.2.13"
resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
@@ -4965,6 +5065,15 @@ qs@~6.5.2:
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
+query-string@^6.13.1:
+ version "6.13.1"
+ resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.13.1.tgz#d913ccfce3b4b3a713989fe6d39466d92e71ccad"
+ integrity sha512-RfoButmcK+yCta1+FuU8REvisx1oEzhMKwhLUNcepQTPGcNMp1sIqjnfCtfnvGSQZQEhaBHvccujtWoUV3TTbA==
+ dependencies:
+ decode-uri-component "^0.2.0"
+ split-on-first "^1.0.0"
+ strict-uri-encode "^2.0.0"
+
range-parser@~1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
@@ -4978,11 +5087,43 @@ react-devtools-core@^4.0.6:
shell-quote "^1.6.1"
ws "^7"
-react-is@^16.12.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.6:
+react-is@^16.12.0, react-is@^16.13.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.6:
version "16.13.1"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
+react-native-gesture-handler@^1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-1.6.1.tgz#678e2dce250ed66e93af409759be22cd6375dd17"
+ integrity sha512-gQgIKhDiYf754yzhhliagLuLupvGb6ZyBdzYzr7aus3Fyi87TLOw63ers+r4kGw0h26oAWTAdHd34JnF4NeL6Q==
+ dependencies:
+ "@egjs/hammerjs" "^2.0.17"
+ hoist-non-react-statics "^2.3.1"
+ invariant "^2.2.4"
+ prop-types "^15.7.2"
+
+react-native-iphone-x-helper@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.2.1.tgz#645e2ffbbb49e80844bb4cbbe34a126fda1e6772"
+ integrity sha512-/VbpIEp8tSNNHIvstuA3Swx610whci1Zpc9mqNkqn14DkMbw+ORviln2u0XyHG1kPvvwTNGZY6QpeFwxYaSdbQ==
+
+react-native-reanimated@^1.9.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-1.9.0.tgz#38676c99dd585504fdc7331efb45e5f48ec7339a"
+ integrity sha512-Aj+spgIHRiVv7ezGADxnSH1EoKrQRD2+XaSiGY0MiB/pvRNNrZPSJ+3NVpvLwWf9lZMOP7dwqqyJIzoZgBDt8w==
+ dependencies:
+ fbjs "^1.0.0"
+
+react-native-safe-area-context@^3.0.6:
+ version "3.0.6"
+ resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-3.0.6.tgz#ee180f53f9f40f8302923b9c09d821cf8ada01eb"
+ integrity sha512-/McWHgRG3CjXo/1ctlxH3mjW2psjf/QYAt9kWUTEtHu4b6z1y4hfUIGuYEJ02asaS1ixPsYrkqVqwzTv4olUMQ==
+
+react-native-screens@^2.9.0:
+ version "2.9.0"
+ resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-2.9.0.tgz#ead2843107ba00fee259aa377582e457c74f1f3b"
+ integrity sha512-5MaiUD6HA3nzY3JbVI8l3V7pKedtxQF3d8qktTVI0WmWXTI4QzqOU8r8fPVvfKo3MhOXwhWBjr+kQ7DZaIQQeg==
+
react-native@0.62.2:
version "0.62.2"
resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.62.2.tgz#d831e11a3178705449142df19a70ac2ca16bad10"
@@ -5511,6 +5652,13 @@ simple-plist@^1.0.0:
bplist-parser "0.2.0"
plist "^3.0.1"
+simple-swizzle@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
+ integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=
+ dependencies:
+ is-arrayish "^0.3.1"
+
sisteransi@^1.0.4:
version "1.0.5"
resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed"
@@ -5630,6 +5778,11 @@ spdx-license-ids@^3.0.0:
resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654"
integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==
+split-on-first@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f"
+ integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==
+
split-string@^3.0.1, split-string@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
@@ -5692,6 +5845,11 @@ stream-buffers@~2.2.0:
resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4"
integrity sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ=
+strict-uri-encode@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546"
+ integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY=
+
string-length@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed"
@@ -6088,7 +6246,7 @@ urix@^0.1.0:
resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
-use-subscription@^1.0.0:
+use-subscription@^1.0.0, use-subscription@^1.4.0:
version "1.4.1"
resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.4.1.tgz#edcbcc220f1adb2dd4fa0b2f61b6cc308e620069"
integrity sha512-7+IIwDG/4JICrWHL/Q/ZPK5yozEnvRm6vHImu0LKwQlmWGKeiF7mbAenLlK/cTNXrTtXHU/SFASQHzB6+oSJMQ==