diff --git a/.gitignore b/.gitignore
index 0cab2ac..f7e209e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -64,3 +64,4 @@ yarn-error.log
# testing
/coverage
+node_modules
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..385f27a
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+ "java.configuration.updateBuildConfiguration": "interactive"
+}
diff --git a/App.js b/App.js
index 0721180..7f64754 100644
--- a/App.js
+++ b/App.js
@@ -6,21 +6,14 @@
*/
import React from 'react';
-import {SafeAreaView, ScrollView, Text, View} from 'react-native';
+import {SafeAreaView, ScrollView, Text, View, StyleSheet} from 'react-native';
+import MainStackNavigator from './src/navigation/MainStackNavigator';
+import 'react-native-gesture-handler';
-function App() {
- return (
-
-
-
- TEST!!!
-
-
-
- );
+export default function App() {
+ return ;
}
-export default App;
+const styles = StyleSheet.create({
+ entire: {},
+});
diff --git a/android/app/build.gradle b/android/app/build.gradle
index bcd447d..7347e53 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -108,6 +108,8 @@ dependencies {
// The version of react-native is set by the React Native Gradle Plugin
implementation("com.facebook.react:react-android")
implementation("com.facebook.react:flipper-integration")
+ // implementation("androidx.appcompat:appcompat:1.1.0-rc01")
+ // implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha02")
if (hermesEnabled.toBoolean()) {
implementation("com.facebook.react:hermes-android")
diff --git a/package.json b/package.json
index 55c53ee..e2b35d9 100644
--- a/package.json
+++ b/package.json
@@ -10,8 +10,18 @@
"test": "jest"
},
"dependencies": {
+ "@react-native-community/masked-view": "^0.1.11",
+ "@react-navigation/bottom-tabs": "^6.5.20",
+ "@react-navigation/native": "^6.1.17",
+ "@react-navigation/native-stack": "^6.9.26",
+ "@react-navigation/stack": "^6.3.29",
"react": "18.2.0",
- "react-native": "0.73.6"
+ "react-native": "0.73.6",
+ "react-native-gesture-handler": "^2.16.0",
+ "react-native-reanimated": "^3.8.1",
+ "react-native-safe-area-context": "^4.9.0",
+ "react-native-screens": "^3.30.1",
+ "react-native-svg": "^15.1.0"
},
"devDependencies": {
"@babel/core": "^7.20.0",
diff --git a/src/assets/UsePressAnimation.js b/src/assets/UsePressAnimation.js
new file mode 100644
index 0000000..07bdc77
--- /dev/null
+++ b/src/assets/UsePressAnimation.js
@@ -0,0 +1,28 @@
+import {useState} from 'react';
+import {Animated} from 'react-native';
+
+export const usePressAnimation = (initialValue = 1, toValue = 0.97) => {
+ const [scaleValue] = useState(new Animated.Value(initialValue));
+
+ const handlePressIn = () => {
+ Animated.spring(scaleValue, {
+ toValue: toValue,
+ friction: 3,
+ useNativeDriver: true,
+ }).start();
+ };
+
+ const handlePressOut = () => {
+ Animated.spring(scaleValue, {
+ toValue: initialValue,
+ friction: 3,
+ useNativeDriver: true,
+ }).start();
+ };
+
+ return {
+ scaleValue,
+ handlePressIn,
+ handlePressOut,
+ };
+};
diff --git a/src/assets/color.js b/src/assets/color.js
new file mode 100644
index 0000000..f6892ef
--- /dev/null
+++ b/src/assets/color.js
@@ -0,0 +1,7 @@
+export const COLOR_PRIMARY = '#003C71';
+export const COLOR_SECONDARY = '#A4D65E';
+export const COLOR_BACKGROUND = '#F5F5F5'; //FFFFFF
+export const COLOR_TEXT_BLACK = '#000000';
+export const COLOR_TEXT_DARKGRAY = '#535353';
+export const COLOR_GRAY = '#888888';
+export const COLOR_WHITE = '#FFFFFF';
diff --git a/src/assets/svg.js b/src/assets/svg.js
new file mode 100644
index 0000000..424b3f5
--- /dev/null
+++ b/src/assets/svg.js
@@ -0,0 +1,52 @@
+export const svgXml = {
+ baricon: {
+ home: `
+
+ `,
+ map: `
+
+ `,
+ list: `
+
+ `,
+ prifile: `
+
+ `,
+ homeColor: `
+
+ `,
+ mapColor: `
+
+ `,
+ listColor: `
+
+ `,
+ prifileColor: `
+
+ `,
+ },
+};
diff --git a/src/components/AnimationButton.js b/src/components/AnimationButton.js
new file mode 100644
index 0000000..99d348e
--- /dev/null
+++ b/src/components/AnimationButton.js
@@ -0,0 +1,41 @@
+import React from 'react';
+import {TouchableOpacity, Animated, StyleSheet} from 'react-native';
+import {usePressAnimation} from '../assets/UsePressAnimation';
+import {COLOR_GRAY} from '../assets/color';
+
+const AnimatedButton = ({
+ children,
+ onPress,
+ onLongPress,
+ style,
+ disabled = false,
+}) => {
+ const {scaleValue, handlePressIn, handlePressOut} = usePressAnimation();
+ const AnimatedTouchableOpacity =
+ Animated.createAnimatedComponent(TouchableOpacity);
+
+ return (
+
+ {children}
+
+ );
+};
+
+const styles = StyleSheet.create({
+ disabledButton: {
+ backgroundColor: COLOR_GRAY,
+ },
+});
+
+export default AnimatedButton;
diff --git a/src/navigation/BottomTabNavigator.js b/src/navigation/BottomTabNavigator.js
new file mode 100644
index 0000000..8507b52
--- /dev/null
+++ b/src/navigation/BottomTabNavigator.js
@@ -0,0 +1,224 @@
+/* eslint-disable react-native/no-inline-styles */
+/* eslint-disable react/no-unstable-nested-components */
+import React from 'react';
+import {
+ CardStyleInterpolators,
+ createStackNavigator,
+} from '@react-navigation/stack';
+import {SvgXml} from 'react-native-svg';
+import {svgXml} from '../assets/svg';
+import {DefaultTheme, NavigationContainer} from '@react-navigation/native';
+import {
+ Easing,
+ Linking,
+ Platform,
+ SafeAreaView,
+ StatusBar,
+ View,
+} from 'react-native';
+import {
+ COLOR_WHITE,
+ COLOR_BACKGROUND,
+ COLOR_GRAY,
+ COLOR_PRIMARY,
+} from '../assets/color';
+import {createBottomTabNavigator} from '@react-navigation/bottom-tabs';
+
+import HomeScreen from '../screens/home/HomeScreen';
+import ListMainScreen from '../screens/list/ListMainScreen';
+import ListDetailScreen from '../screens/list/ListDetailScreen';
+import MapScreen from '../screens/map/MapScreen';
+import MypageScreen from '../screens/mypage/MypageScreen';
+
+const BottomTab = createBottomTabNavigator();
+
+const customCardStyleInterpolator = ({current, next, layouts}) => {
+ return {
+ cardStyle: {
+ transform: [
+ {
+ translateX: current.progress.interpolate({
+ inputRange: [0, 1],
+ outputRange: [layouts.screen.width, 0], // transition from right to left
+ }),
+ },
+ {
+ scale: next
+ ? next.progress.interpolate({
+ inputRange: [0, 1],
+ outputRange: [1, 0.9],
+ })
+ : 1,
+ },
+ ],
+ },
+ overlayStyle: {
+ opacity: current.progress.interpolate({
+ inputRange: [0, 1],
+ outputRange: [0, 0.5],
+ }),
+ },
+ };
+};
+
+const HomeStack = createStackNavigator();
+function HomeNavigator() {
+ return (
+
+
+
+ );
+}
+
+const MapStack = createStackNavigator();
+function MapNavigator() {
+ return (
+
+
+
+ );
+}
+
+const ListStack = createStackNavigator();
+function ListNavigator() {
+ return (
+
+
+
+
+ );
+}
+
+const MypageStack = createStackNavigator();
+function MypageNavigator() {
+ return (
+
+
+
+ );
+}
+
+export default function BottomTabNavigator() {
+ return (
+
+ (
+
+ ),
+ }}
+ />
+ (
+
+ ),
+ }}
+ />
+ (
+
+ ),
+ }}
+ />
+ (
+
+ ),
+ }}
+ />
+
+ );
+}
diff --git a/src/navigation/MainStackNavigator.js b/src/navigation/MainStackNavigator.js
new file mode 100644
index 0000000..dfea396
--- /dev/null
+++ b/src/navigation/MainStackNavigator.js
@@ -0,0 +1,56 @@
+import React from 'react';
+import {
+ CardStyleInterpolators,
+ createStackNavigator,
+} from '@react-navigation/stack';
+
+import {DefaultTheme, NavigationContainer} from '@react-navigation/native';
+import {Easing, Linking, Platform, SafeAreaView, StatusBar} from 'react-native';
+import {COLOR_WHITE} from '../assets/color';
+import SignupScreen from '../screens/signup/SignupScreen';
+import BottomTabNavigator from './BottomTabNavigator';
+
+const MainStack = createStackNavigator();
+
+const MyTheme = {
+ ...DefaultTheme,
+ colors: {
+ ...DefaultTheme.colors,
+ background: COLOR_WHITE,
+ },
+};
+
+export const navigationRef = React.createRef();
+
+export function navigate(name, params) {
+ navigationRef.current?.navigate(name, params);
+}
+
+export function reset(routes) {
+ navigationRef.current?.reset(routes);
+}
+
+export default function MainStackNavigator() {
+ return (
+
+
+
+
+
+
+ );
+}
diff --git a/src/screens/home/HomeScreen.js b/src/screens/home/HomeScreen.js
new file mode 100644
index 0000000..7937b19
--- /dev/null
+++ b/src/screens/home/HomeScreen.js
@@ -0,0 +1,62 @@
+import React, {useState, useCallback, useEffect} from 'react';
+import {View, Text, SafeAreaView, ScrollView, StyleSheet} from 'react-native';
+import {
+ COLOR_WHITE,
+ COLOR_BACKGROUND,
+ COLOR_GRAY,
+ COLOR_PRIMARY,
+} from '../../assets/color';
+import AnimatedButton from '../../components/AnimationButton';
+import {useNavigation} from '@react-navigation/native';
+
+export default function HomeScreen() {
+ const navigation = useNavigation();
+
+ return (
+
+ HomeScreen
+ {
+ console.log('PRESSED~!!');
+ navigation.navigate('Signup');
+ }}
+ style={styles.buttonTest}>
+ Signup
+
+ {
+ console.log('PRESSED~!!');
+ navigation.navigate('ListNavigator');
+ }}
+ style={styles.buttonTest}>
+ ListNavigator
+
+
+ );
+}
+
+const styles = StyleSheet.create({
+ entire: {
+ flex: 1,
+ backgroundColor: COLOR_BACKGROUND,
+ justifyContent: 'center',
+ alignItems: 'center',
+ },
+ textMain: {
+ fontSize: 50,
+ color: COLOR_PRIMARY,
+ },
+ buttonTest: {
+ backgroundColor: COLOR_PRIMARY,
+ padding: 10,
+ borderRadius: 5,
+ justifyContent: 'center',
+ alignItems: 'center',
+ },
+ buttonText: {
+ fontSize: 20,
+ color: COLOR_WHITE,
+ fontWeight: 'bold',
+ alignSelf: 'center',
+ },
+});
diff --git a/src/screens/list/ListDetailScreen.js b/src/screens/list/ListDetailScreen.js
new file mode 100644
index 0000000..001e0a1
--- /dev/null
+++ b/src/screens/list/ListDetailScreen.js
@@ -0,0 +1,50 @@
+import React, {useState, useCallback, useEffect} from 'react';
+import {View, Text, SafeAreaView, ScrollView, StyleSheet} from 'react-native';
+import {
+ COLOR_WHITE,
+ COLOR_BACKGROUND,
+ COLOR_GRAY,
+ COLOR_PRIMARY,
+} from '../../assets/color';
+import AnimatedButton from '../../components/AnimationButton';
+
+export default function ListDetailScreen() {
+ return (
+
+ ListDetailScreen
+ {
+ console.log('PRESSED~!!');
+ }}
+ style={styles.buttonTest}>
+ Test Button
+
+
+ );
+}
+
+const styles = StyleSheet.create({
+ entire: {
+ flex: 1,
+ backgroundColor: COLOR_BACKGROUND,
+ justifyContent: 'center',
+ alignItems: 'center',
+ },
+ textMain: {
+ fontSize: 50,
+ color: COLOR_PRIMARY,
+ },
+ buttonTest: {
+ backgroundColor: COLOR_PRIMARY,
+ padding: 10,
+ borderRadius: 5,
+ justifyContent: 'center',
+ alignItems: 'center',
+ },
+ buttonText: {
+ fontSize: 20,
+ color: COLOR_WHITE,
+ fontWeight: 'bold',
+ alignSelf: 'center',
+ },
+});
diff --git a/src/screens/list/ListMainScreen.js b/src/screens/list/ListMainScreen.js
new file mode 100644
index 0000000..b1b7b09
--- /dev/null
+++ b/src/screens/list/ListMainScreen.js
@@ -0,0 +1,50 @@
+import React, {useState, useCallback, useEffect} from 'react';
+import {View, Text, SafeAreaView, ScrollView, StyleSheet} from 'react-native';
+import {
+ COLOR_WHITE,
+ COLOR_BACKGROUND,
+ COLOR_GRAY,
+ COLOR_PRIMARY,
+} from '../../assets/color';
+import AnimatedButton from '../../components/AnimationButton';
+
+export default function ListMainScreen() {
+ return (
+
+ ListMainScreen
+ {
+ console.log('PRESSED~!!');
+ }}
+ style={styles.buttonTest}>
+ Test Button
+
+
+ );
+}
+
+const styles = StyleSheet.create({
+ entire: {
+ flex: 1,
+ backgroundColor: COLOR_BACKGROUND,
+ justifyContent: 'center',
+ alignItems: 'center',
+ },
+ textMain: {
+ fontSize: 50,
+ color: COLOR_PRIMARY,
+ },
+ buttonTest: {
+ backgroundColor: COLOR_PRIMARY,
+ padding: 10,
+ borderRadius: 5,
+ justifyContent: 'center',
+ alignItems: 'center',
+ },
+ buttonText: {
+ fontSize: 20,
+ color: COLOR_WHITE,
+ fontWeight: 'bold',
+ alignSelf: 'center',
+ },
+});
diff --git a/src/screens/map/MapScreen.js b/src/screens/map/MapScreen.js
new file mode 100644
index 0000000..b0b35d0
--- /dev/null
+++ b/src/screens/map/MapScreen.js
@@ -0,0 +1,50 @@
+import React, {useState, useCallback, useEffect} from 'react';
+import {View, Text, SafeAreaView, ScrollView, StyleSheet} from 'react-native';
+import {
+ COLOR_WHITE,
+ COLOR_BACKGROUND,
+ COLOR_GRAY,
+ COLOR_PRIMARY,
+} from '../../assets/color';
+import AnimatedButton from '../../components/AnimationButton';
+
+export default function MapScreen() {
+ return (
+
+ MapScreen
+ {
+ console.log('PRESSED~!!');
+ }}
+ style={styles.buttonTest}>
+ Test Button
+
+
+ );
+}
+
+const styles = StyleSheet.create({
+ entire: {
+ flex: 1,
+ backgroundColor: COLOR_BACKGROUND,
+ justifyContent: 'center',
+ alignItems: 'center',
+ },
+ textMain: {
+ fontSize: 50,
+ color: COLOR_PRIMARY,
+ },
+ buttonTest: {
+ backgroundColor: COLOR_PRIMARY,
+ padding: 10,
+ borderRadius: 5,
+ justifyContent: 'center',
+ alignItems: 'center',
+ },
+ buttonText: {
+ fontSize: 20,
+ color: COLOR_WHITE,
+ fontWeight: 'bold',
+ alignSelf: 'center',
+ },
+});
diff --git a/src/screens/mypage/MypageScreen.js b/src/screens/mypage/MypageScreen.js
new file mode 100644
index 0000000..7339c9e
--- /dev/null
+++ b/src/screens/mypage/MypageScreen.js
@@ -0,0 +1,50 @@
+import React, {useState, useCallback, useEffect} from 'react';
+import {View, Text, SafeAreaView, ScrollView, StyleSheet} from 'react-native';
+import {
+ COLOR_WHITE,
+ COLOR_BACKGROUND,
+ COLOR_GRAY,
+ COLOR_PRIMARY,
+} from '../../assets/color';
+import AnimatedButton from '../../components/AnimationButton';
+
+export default function MypageScreen() {
+ return (
+
+ MypageScreen
+ {
+ console.log('PRESSED~!!');
+ }}
+ style={styles.buttonTest}>
+ Test Button
+
+
+ );
+}
+
+const styles = StyleSheet.create({
+ entire: {
+ flex: 1,
+ backgroundColor: COLOR_BACKGROUND,
+ justifyContent: 'center',
+ alignItems: 'center',
+ },
+ textMain: {
+ fontSize: 50,
+ color: COLOR_PRIMARY,
+ },
+ buttonTest: {
+ backgroundColor: COLOR_PRIMARY,
+ padding: 10,
+ borderRadius: 5,
+ justifyContent: 'center',
+ alignItems: 'center',
+ },
+ buttonText: {
+ fontSize: 20,
+ color: COLOR_WHITE,
+ fontWeight: 'bold',
+ alignSelf: 'center',
+ },
+});
diff --git a/src/screens/signup/SignupScreen.js b/src/screens/signup/SignupScreen.js
new file mode 100644
index 0000000..3f4631b
--- /dev/null
+++ b/src/screens/signup/SignupScreen.js
@@ -0,0 +1,65 @@
+import React, {useState, useCallback, useEffect} from 'react';
+import {View, Text, SafeAreaView, ScrollView, StyleSheet} from 'react-native';
+import {
+ COLOR_WHITE,
+ COLOR_BACKGROUND,
+ COLOR_GRAY,
+ COLOR_PRIMARY,
+} from '../../assets/color';
+import AnimatedButton from '../../components/AnimationButton';
+import {useNavigation} from '@react-navigation/native';
+
+export default function SignupScreen() {
+ const navigation = useNavigation();
+
+ return (
+
+ SignupScreen
+ {
+ console.log('PRESSED~!!');
+ navigation.navigate('BottomTab');
+ }}
+ style={styles.buttonTest}>
+ bottom tab
+
+ {
+ console.log('PRESSED~!!');
+ navigation.navigate('BottomTab', {
+ screen: 'ListNavigator',
+ params: {screen: 'ListDetail'},
+ });
+ }}
+ style={styles.buttonTest}>
+ List Detail
+
+
+ );
+}
+
+const styles = StyleSheet.create({
+ entire: {
+ flex: 1,
+ backgroundColor: COLOR_BACKGROUND,
+ justifyContent: 'center',
+ alignItems: 'center',
+ },
+ textMain: {
+ fontSize: 50,
+ color: COLOR_PRIMARY,
+ },
+ buttonTest: {
+ backgroundColor: COLOR_PRIMARY,
+ padding: 10,
+ borderRadius: 5,
+ justifyContent: 'center',
+ alignItems: 'center',
+ },
+ buttonText: {
+ fontSize: 20,
+ color: COLOR_WHITE,
+ fontWeight: 'bold',
+ alignSelf: 'center',
+ },
+});
diff --git a/yarn.lock b/yarn.lock
index 1349966..437bcd0 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -541,7 +541,7 @@
"@babel/helper-create-regexp-features-plugin" "^7.18.6"
"@babel/helper-plugin-utils" "^7.18.6"
-"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.24.1":
+"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.0.0-0", "@babel/plugin-transform-arrow-functions@^7.24.1":
version "7.24.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz#2bf263617060c9cc45bcdbf492b8cc805082bf27"
integrity sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==
@@ -771,7 +771,7 @@
dependencies:
"@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-nullish-coalescing-operator@^7.24.1":
+"@babel/plugin-transform-nullish-coalescing-operator@^7.0.0-0", "@babel/plugin-transform-nullish-coalescing-operator@^7.24.1":
version "7.24.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz#0cd494bb97cb07d428bd651632cb9d4140513988"
integrity sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==
@@ -813,7 +813,7 @@
"@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
-"@babel/plugin-transform-optional-chaining@^7.24.1":
+"@babel/plugin-transform-optional-chaining@^7.0.0-0", "@babel/plugin-transform-optional-chaining@^7.24.1":
version "7.24.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz#26e588acbedce1ab3519ac40cc748e380c5291e6"
integrity sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==
@@ -913,7 +913,7 @@
babel-plugin-polyfill-regenerator "^0.6.1"
semver "^6.3.1"
-"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.24.1":
+"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.0.0-0", "@babel/plugin-transform-shorthand-properties@^7.24.1":
version "7.24.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz#ba9a09144cf55d35ec6b93a32253becad8ee5b55"
integrity sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==
@@ -935,7 +935,7 @@
dependencies:
"@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-template-literals@^7.24.1":
+"@babel/plugin-transform-template-literals@^7.0.0-0", "@babel/plugin-transform-template-literals@^7.24.1":
version "7.24.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz#15e2166873a30d8617e3e2ccadb86643d327aab7"
integrity sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==
@@ -1095,7 +1095,7 @@
"@babel/types" "^7.4.4"
esutils "^2.0.2"
-"@babel/preset-typescript@^7.13.0":
+"@babel/preset-typescript@^7.13.0", "@babel/preset-typescript@^7.16.7":
version "7.24.1"
resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz#89bdf13a3149a17b3b2a2c9c62547f06db8845ec"
integrity sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==
@@ -1168,6 +1168,13 @@
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
+"@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"
+
"@eslint-community/eslint-utils@^4.2.0":
version "4.4.0"
resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
@@ -1681,6 +1688,11 @@
prompts "^2.4.2"
semver "^7.5.2"
+"@react-native-community/masked-view@^0.1.11":
+ version "0.1.11"
+ resolved "https://registry.yarnpkg.com/@react-native-community/masked-view/-/masked-view-0.1.11.tgz#2f4c6e10bee0786abff4604e39a37ded6f3980ce"
+ integrity sha512-rQfMIGSR/1r/SyN87+VD8xHHzDYeHaJq6elOSCAD+0iLagXkSI2pfA0LmSXP21uw5i3em7GkkRjfJ8wpqWXZNw==
+
"@react-native/assets-registry@0.73.1":
version "0.73.1"
resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.73.1.tgz#e2a6b73b16c183a270f338dc69c36039b3946e85"
@@ -1865,6 +1877,66 @@
invariant "^2.2.4"
nullthrows "^1.1.1"
+"@react-navigation/bottom-tabs@^6.5.20":
+ version "6.5.20"
+ resolved "https://registry.yarnpkg.com/@react-navigation/bottom-tabs/-/bottom-tabs-6.5.20.tgz#5335e75b02c527ef0569bd97d4f9185d65616e49"
+ integrity sha512-ow6Z06iS4VqBO8d7FP+HsGjJLWt2xTWIvuWjpoCvsM/uQXzCRDIjBv9HaKcXbF0yTW7IMir0oDAbU5PFzEDdgA==
+ dependencies:
+ "@react-navigation/elements" "^1.3.30"
+ color "^4.2.3"
+ warn-once "^0.1.0"
+
+"@react-navigation/core@^6.4.16":
+ version "6.4.16"
+ resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-6.4.16.tgz#f9369a134805174536b9aa0f0f483b930511caf9"
+ integrity sha512-UDTJBsHxnzgFETR3ZxhctP+RWr4SkyeZpbhpkQoIGOuwSCkt1SE0qjU48/u6r6w6XlX8OqVudn1Ab0QFXTHxuQ==
+ dependencies:
+ "@react-navigation/routers" "^6.1.9"
+ escape-string-regexp "^4.0.0"
+ nanoid "^3.1.23"
+ query-string "^7.1.3"
+ react-is "^16.13.0"
+ use-latest-callback "^0.1.9"
+
+"@react-navigation/elements@^1.3.30":
+ version "1.3.30"
+ resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.30.tgz#a81371f599af1070b12014f05d6c09b1a611fd9a"
+ integrity sha512-plhc8UvCZs0UkV+sI+3bisIyn78wz9O/BiWZXpounu72k/R/Sj5PuZYFJ1fi6psvriUveMCGh4LeZckAZu2qiQ==
+
+"@react-navigation/native-stack@^6.9.26":
+ version "6.9.26"
+ resolved "https://registry.yarnpkg.com/@react-navigation/native-stack/-/native-stack-6.9.26.tgz#90facf7783c9927f094bc9f01c613af75b6c241e"
+ integrity sha512-++dueQ+FDj2XkZ902DVrK79ub1vp19nSdAZWxKRgd6+Bc0Niiesua6rMCqymYOVaYh+dagwkA9r00bpt/U5WLw==
+ dependencies:
+ "@react-navigation/elements" "^1.3.30"
+ warn-once "^0.1.0"
+
+"@react-navigation/native@^6.1.17":
+ version "6.1.17"
+ resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-6.1.17.tgz#439f15a99809d26ea4682d2a3766081cf2ca31cf"
+ integrity sha512-mer3OvfwWOHoUSMJyLa4vnBH3zpFmCwuzrBPlw7feXklurr/ZDiLjLxUScOot6jLRMz/67GyilEYMmP99LL0RQ==
+ dependencies:
+ "@react-navigation/core" "^6.4.16"
+ escape-string-regexp "^4.0.0"
+ fast-deep-equal "^3.1.3"
+ nanoid "^3.1.23"
+
+"@react-navigation/routers@^6.1.9":
+ version "6.1.9"
+ resolved "https://registry.yarnpkg.com/@react-navigation/routers/-/routers-6.1.9.tgz#73f5481a15a38e36592a0afa13c3c064b9f90bed"
+ integrity sha512-lTM8gSFHSfkJvQkxacGM6VJtBt61ip2XO54aNfswD+KMw6eeZ4oehl7m0me3CR9hnDE4+60iAZR8sAhvCiI3NA==
+ dependencies:
+ nanoid "^3.1.23"
+
+"@react-navigation/stack@^6.3.29":
+ version "6.3.29"
+ resolved "https://registry.yarnpkg.com/@react-navigation/stack/-/stack-6.3.29.tgz#b03b2f2baa36c06e4c9e8c7da80d62f83ad0b835"
+ integrity sha512-tzlGkoRgB6P7vgw7rHuWo3TL7Gzu6xh5LMf+zSdCuEiKp/qASzxYfnTEr9tOLbVs/gf+qeukEDheCSAJKVpBXw==
+ dependencies:
+ "@react-navigation/elements" "^1.3.30"
+ color "^4.2.3"
+ warn-once "^0.1.0"
+
"@sideway/address@^4.1.5":
version "4.1.5"
resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.5.tgz#4bc149a0076623ced99ca8208ba780d65a99b9d5"
@@ -1941,6 +2013,11 @@
dependencies:
"@types/node" "*"
+"@types/hammerjs@^2.0.36":
+ version "2.0.45"
+ resolved "https://registry.yarnpkg.com/@types/hammerjs/-/hammerjs-2.0.45.tgz#ffa764bb68a66c08db6efb9c816eb7be850577b1"
+ integrity sha512-qkcUlZmX6c4J8q45taBKTL3p+LbITgyx7qhlPYOdOHZB7B31K0mXbP5YA7i7SgDeEGuI9MnumiKPEMrxg8j3KQ==
+
"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1":
version "2.0.6"
resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7"
@@ -2456,6 +2533,11 @@ bl@^4.1.0:
inherits "^2.0.4"
readable-stream "^3.4.0"
+boolbase@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
+ integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==
+
brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
@@ -2688,11 +2770,27 @@ color-name@1.1.3:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
-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.9.0:
+ version "1.9.1"
+ resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4"
+ integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==
+ dependencies:
+ color-name "^1.0.0"
+ simple-swizzle "^0.2.2"
+
+color@^4.2.3:
+ version "4.2.3"
+ resolved "https://registry.yarnpkg.com/color/-/color-4.2.3.tgz#d781ecb5e57224ee43ea9627560107c0e0c6463a"
+ integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==
+ dependencies:
+ color-convert "^2.0.1"
+ color-string "^1.9.0"
+
colorette@^1.0.7:
version "1.4.0"
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40"
@@ -2802,6 +2900,30 @@ cross-spawn@^7.0.2, cross-spawn@^7.0.3:
shebang-command "^2.0.0"
which "^2.0.1"
+css-select@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6"
+ integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==
+ dependencies:
+ boolbase "^1.0.0"
+ css-what "^6.1.0"
+ domhandler "^5.0.2"
+ domutils "^3.0.1"
+ nth-check "^2.0.1"
+
+css-tree@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d"
+ integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==
+ dependencies:
+ mdn-data "2.0.14"
+ source-map "^0.6.1"
+
+css-what@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4"
+ integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==
+
csstype@^3.0.2:
version "3.1.3"
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
@@ -2858,6 +2980,11 @@ decamelize@^1.2.0:
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==
+decode-uri-component@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9"
+ integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==
+
dedent@^1.0.0:
version "1.5.1"
resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff"
@@ -2953,6 +3080,36 @@ doctrine@^3.0.0:
dependencies:
esutils "^2.0.2"
+dom-serializer@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53"
+ integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==
+ dependencies:
+ domelementtype "^2.3.0"
+ domhandler "^5.0.2"
+ entities "^4.2.0"
+
+domelementtype@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d"
+ integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==
+
+domhandler@^5.0.2, domhandler@^5.0.3:
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31"
+ integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==
+ dependencies:
+ domelementtype "^2.3.0"
+
+domutils@^3.0.1:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e"
+ integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==
+ dependencies:
+ dom-serializer "^2.0.0"
+ domelementtype "^2.3.0"
+ domhandler "^5.0.3"
+
ee-first@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
@@ -2978,6 +3135,11 @@ encodeurl@~1.0.2:
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
+entities@^4.2.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
+ integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
+
envinfo@^7.10.0:
version "7.11.1"
resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.11.1.tgz#2ffef77591057081b0129a8fd8cf6118da1b94e1"
@@ -3442,6 +3604,11 @@ fill-range@^7.0.1:
dependencies:
to-regex-range "^5.0.1"
+filter-obj@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b"
+ integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==
+
finalhandler@1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d"
@@ -3758,6 +3925,13 @@ hermes-profile-transformer@^0.0.6:
dependencies:
source-map "^0.7.3"
+hoist-non-react-statics@^3.3.0:
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
+ integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
+ dependencies:
+ react-is "^16.7.0"
+
html-escaper@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
@@ -3867,6 +4041,11 @@ is-arrayish@^0.2.1:
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
+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-async-function@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646"
@@ -4803,6 +4982,11 @@ marky@^1.2.2:
resolved "https://registry.yarnpkg.com/marky/-/marky-1.2.5.tgz#55796b688cbd72390d2d399eaaf1832c9413e3c0"
integrity sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==
+mdn-data@2.0.14:
+ version "2.0.14"
+ resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50"
+ integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==
+
memoize-one@^5.0.0:
version "5.2.1"
resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e"
@@ -5076,6 +5260,11 @@ ms@2.1.3:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+nanoid@^3.1.23:
+ version "3.3.7"
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
+ integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
+
natural-compare-lite@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4"
@@ -5147,6 +5336,13 @@ npm-run-path@^4.0.1:
dependencies:
path-key "^3.0.0"
+nth-check@^2.0.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d"
+ integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==
+ dependencies:
+ boolbase "^1.0.0"
+
nullthrows@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1"
@@ -5489,7 +5685,7 @@ prompts@^2.0.1, prompts@^2.4.2:
kleur "^3.0.3"
sisteransi "^1.0.5"
-prop-types@^15.8.1:
+prop-types@^15.7.2, prop-types@^15.8.1:
version "15.8.1"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
@@ -5508,6 +5704,16 @@ pure-rand@^6.0.0:
resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.1.0.tgz#d173cf23258231976ccbdb05247c9787957604f2"
integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==
+query-string@^7.1.3:
+ version "7.1.3"
+ resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.3.tgz#a1cf90e994abb113a325804a972d98276fe02328"
+ integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==
+ dependencies:
+ decode-uri-component "^0.2.2"
+ filter-obj "^1.1.0"
+ split-on-first "^1.0.0"
+ strict-uri-encode "^2.0.0"
+
queue-microtask@^1.2.2:
version "1.2.3"
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
@@ -5533,12 +5739,17 @@ react-devtools-core@^4.27.7:
shell-quote "^1.6.1"
ws "^7"
+react-freeze@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/react-freeze/-/react-freeze-1.0.4.tgz#cbbea2762b0368b05cbe407ddc9d518c57c6f3ad"
+ integrity sha512-r4F0Sec0BLxWicc7HEyo2x3/2icUTrRmDjaaRyzzn+7aDyFZliszMDOgLVwSnQnYENOlL1o569Ze2HZefk8clA==
+
"react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0, react-is@^18.2.0:
version "18.2.0"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b"
integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
-react-is@^16.13.1:
+react-is@^16.13.0, react-is@^16.13.1, react-is@^16.7.0:
version "16.13.1"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
@@ -5548,6 +5759,52 @@ react-is@^17.0.1:
resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
+react-native-gesture-handler@^2.16.0:
+ version "2.16.0"
+ resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-2.16.0.tgz#45a00b5988e74ebc58f130c8d1443319c8e678db"
+ integrity sha512-1hFkx7RIfeJSyTQQ0Nkv4icFVZ5+XjQkd47OgZMBFzoB7ecL+nFSz8KLi3OCWOhq+nbHpSPlSG5VF3CQNCJpWA==
+ dependencies:
+ "@egjs/hammerjs" "^2.0.17"
+ hoist-non-react-statics "^3.3.0"
+ invariant "^2.2.4"
+ lodash "^4.17.21"
+ prop-types "^15.7.2"
+
+react-native-reanimated@^3.8.1:
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-3.8.1.tgz#45c13d4bedebef8df3d5a8756f25072de65960d7"
+ integrity sha512-EdM0vr3JEaNtqvstqESaPfOBy0gjYBkr1iEolWJ82Ax7io8y9OVUIphgsLKTB36CtR1XtmBw0RZVj7KArc7ZVA==
+ dependencies:
+ "@babel/plugin-transform-arrow-functions" "^7.0.0-0"
+ "@babel/plugin-transform-nullish-coalescing-operator" "^7.0.0-0"
+ "@babel/plugin-transform-optional-chaining" "^7.0.0-0"
+ "@babel/plugin-transform-shorthand-properties" "^7.0.0-0"
+ "@babel/plugin-transform-template-literals" "^7.0.0-0"
+ "@babel/preset-typescript" "^7.16.7"
+ convert-source-map "^2.0.0"
+ invariant "^2.2.4"
+
+react-native-safe-area-context@^4.9.0:
+ version "4.9.0"
+ resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-4.9.0.tgz#21a570ca3594cb4259ba65f93befaa60d91bcbd0"
+ integrity sha512-/OJD9Pb8IURyvn+1tWTszWPJqsbZ4hyHBU9P0xhOmk7h5owSuqL0zkfagU0pg7Vh0G2NKQkaPpUKUMMCUMDh/w==
+
+react-native-screens@^3.30.1:
+ version "3.30.1"
+ resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-3.30.1.tgz#254f5cbbeed649492da112756f85ecae3ccf313e"
+ integrity sha512-/muEvjocCtFb+j5J3YmLvB25+f4rIU8hnnxgGTkXcAf2omPBY8uhPjJaaFUlvj64VEoEzJcRpugbXWsjfPPIFg==
+ dependencies:
+ react-freeze "^1.0.0"
+ warn-once "^0.1.0"
+
+react-native-svg@^15.1.0:
+ version "15.1.0"
+ resolved "https://registry.yarnpkg.com/react-native-svg/-/react-native-svg-15.1.0.tgz#07c75f29b1d641faba50144c7ccd21604b368420"
+ integrity sha512-p0Sx0EpQNk1nu6UcMEiB8K9P04n3J7s+pNYUwf1d/Yz+v4hk961VjuVqjyndgiEbHZyWiKWLZRVNuvLpwjPY2A==
+ dependencies:
+ css-select "^5.1.0"
+ css-tree "^1.1.3"
+
react-native@0.73.6:
version "0.73.6"
resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.73.6.tgz#ed4c675e205a34bd62c4ce8b9bd1ca5c85126d5b"
@@ -5983,6 +6240,13 @@ signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7:
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
+simple-swizzle@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
+ integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==
+ dependencies:
+ is-arrayish "^0.3.1"
+
sisteransi@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed"
@@ -6033,6 +6297,11 @@ source-map@^0.7.3:
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656"
integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==
+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==
+
sprintf-js@~1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
@@ -6067,6 +6336,11 @@ statuses@~1.5.0:
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
+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 sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==
+
string-length@^4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a"
@@ -6446,6 +6720,11 @@ uri-js@^4.2.2:
dependencies:
punycode "^2.1.0"
+use-latest-callback@^0.1.9:
+ version "0.1.9"
+ resolved "https://registry.yarnpkg.com/use-latest-callback/-/use-latest-callback-0.1.9.tgz#10191dc54257e65a8e52322127643a8940271e2a"
+ integrity sha512-CL/29uS74AwreI/f2oz2hLTW7ZqVeV5+gxFeGudzQrgkCytrHw33G4KbnQOrRlAEzzAFXi7dDLMC9zhWcVpzmw==
+
util-deprecate@^1.0.1, util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
@@ -6482,6 +6761,11 @@ walker@^1.0.7, walker@^1.0.8:
dependencies:
makeerror "1.0.12"
+warn-once@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/warn-once/-/warn-once-0.1.1.tgz#952088f4fb56896e73fd4e6a3767272a3fccce43"
+ integrity sha512-VkQZJbO8zVImzYFteBXvBOZEl1qL175WH8VmZcxF2fZAoudNhNDvHi+doCaAEdU2l2vtcIwa2zn0QK5+I1HQ3Q==
+
wcwidth@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"