From 196f989346bcfc03e17135c0eb63eee12699f240 Mon Sep 17 00:00:00 2001 From: pratyush1718 Date: Wed, 24 Jan 2024 20:28:45 -0800 Subject: [PATCH 1/9] bottom bar implmentation --- dfm-sideline-sidekick-app/App.tsx | 11 +++ dfm-sideline-sidekick-app/assets/Vector.svg | 3 + .../assets/general-principles.svg | 5 ++ .../assets/ic_circle.svg | 3 + .../assets/ic_search.svg | 3 + dfm-sideline-sidekick-app/components/bar.tsx | 68 +++++++++++++++++++ .../icons/bookmarkIcon.tsx | 15 ++++ .../icons/circleIcon.tsx | 33 +++++++++ .../icons/generalPrinciplesIcon.tsx | 21 ++++++ .../icons/searchIcon.tsx | 20 ++++++ 10 files changed, 182 insertions(+) create mode 100644 dfm-sideline-sidekick-app/assets/Vector.svg create mode 100644 dfm-sideline-sidekick-app/assets/general-principles.svg create mode 100644 dfm-sideline-sidekick-app/assets/ic_circle.svg create mode 100644 dfm-sideline-sidekick-app/assets/ic_search.svg create mode 100644 dfm-sideline-sidekick-app/components/bar.tsx create mode 100644 dfm-sideline-sidekick-app/icons/bookmarkIcon.tsx create mode 100644 dfm-sideline-sidekick-app/icons/circleIcon.tsx create mode 100644 dfm-sideline-sidekick-app/icons/generalPrinciplesIcon.tsx create mode 100644 dfm-sideline-sidekick-app/icons/searchIcon.tsx diff --git a/dfm-sideline-sidekick-app/App.tsx b/dfm-sideline-sidekick-app/App.tsx index 3eefbad..549423e 100644 --- a/dfm-sideline-sidekick-app/App.tsx +++ b/dfm-sideline-sidekick-app/App.tsx @@ -1,13 +1,24 @@ import { StatusBar } from "expo-status-bar"; import { StyleSheet, Text, View } from "react-native"; +import {NavItem, BottomNavBar} from './components/bar' export default function App() { + const navigationItems: NavItem[] = [ + { id: 1, icon: 'bookmark', onClick: () => console.log('Home pressed') }, + { id: 2, icon: 'search', onClick: () => console.log('Search pressed') }, + { id: 3, icon: 'principles', onClick: () => console.log('Rectangle pressed') }, + ]; + return ( // eslint-disable-next-line @typescript-eslint/no-use-before-define Open up App.js to start working on your app! + + + + ); } diff --git a/dfm-sideline-sidekick-app/assets/Vector.svg b/dfm-sideline-sidekick-app/assets/Vector.svg new file mode 100644 index 0000000..ad92cc8 --- /dev/null +++ b/dfm-sideline-sidekick-app/assets/Vector.svg @@ -0,0 +1,3 @@ + + + diff --git a/dfm-sideline-sidekick-app/assets/general-principles.svg b/dfm-sideline-sidekick-app/assets/general-principles.svg new file mode 100644 index 0000000..012e59b --- /dev/null +++ b/dfm-sideline-sidekick-app/assets/general-principles.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/dfm-sideline-sidekick-app/assets/ic_circle.svg b/dfm-sideline-sidekick-app/assets/ic_circle.svg new file mode 100644 index 0000000..2b2e76d --- /dev/null +++ b/dfm-sideline-sidekick-app/assets/ic_circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/dfm-sideline-sidekick-app/assets/ic_search.svg b/dfm-sideline-sidekick-app/assets/ic_search.svg new file mode 100644 index 0000000..c1d236a --- /dev/null +++ b/dfm-sideline-sidekick-app/assets/ic_search.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/dfm-sideline-sidekick-app/components/bar.tsx b/dfm-sideline-sidekick-app/components/bar.tsx new file mode 100644 index 0000000..ad97013 --- /dev/null +++ b/dfm-sideline-sidekick-app/components/bar.tsx @@ -0,0 +1,68 @@ +import React, { useState } from 'react'; +import { StyleSheet, View, TouchableOpacity } from "react-native"; +import { BookmarkIcon } from '../icons/bookmarkIcon'; +import { CircleIcon } from '../icons/circleIcon'; +import {GeneralPrinciplesIcon} from '../icons/generalPrinciplesIcon'; + +export type NavItem = { + id: number; + icon: string; + onClick: () => void; +}; + + +export const BottomNavBar: React.FC<{ items: NavItem[] }> = ({ items }) => { + const [selectedItemId, setSelectedItemId] = useState(null); + + + const handleItemClick = (itemId: number) => { + setSelectedItemId(itemId); + items.find((item) => item.id === itemId)?.onClick(); + }; + + const styles = StyleSheet.create({ + bottomBar: { + flexDirection: 'row', + justifyContent: 'space-around', + alignItems: 'center', + backgroundColor: '#f0f0f0', + padding: 8, + position: 'absolute', + bottom: 0, + left: 0, + right: 0, + height: 79 + }, + }); + + + return ( + + + {items.map((item) => ( + handleItemClick(item.id)} + > + {item.icon === 'search' ? ( + + + + + + ) : ( + item.icon === 'bookmark' ? ( + + ) : ( + + ) + )} + + ))} + + ); + + + +}; \ No newline at end of file diff --git a/dfm-sideline-sidekick-app/icons/bookmarkIcon.tsx b/dfm-sideline-sidekick-app/icons/bookmarkIcon.tsx new file mode 100644 index 0000000..b32b859 --- /dev/null +++ b/dfm-sideline-sidekick-app/icons/bookmarkIcon.tsx @@ -0,0 +1,15 @@ +import React from 'react'; +import { View } from 'react-native'; +import { Svg, Path } from 'react-native-svg'; + +export const BookmarkIcon = ({fillColor}) => { + return ( + + + + + + ); +}; + + diff --git a/dfm-sideline-sidekick-app/icons/circleIcon.tsx b/dfm-sideline-sidekick-app/icons/circleIcon.tsx new file mode 100644 index 0000000..aebf897 --- /dev/null +++ b/dfm-sideline-sidekick-app/icons/circleIcon.tsx @@ -0,0 +1,33 @@ +import { SearchIcon } from '../icons/searchIcon'; +import React from 'react'; +import { StyleSheet, View } from 'react-native'; +import { Svg, Circle, G } from 'react-native-svg'; // Import G from react-native-svg + +const styles = StyleSheet.create({ + container: { + alignItems: 'center', + }, +}); + +export const CircleIcon = ({fillColor}) => { + const circleRadius = 44.6533; + const circleCenterX = 45; + const circleCenterY = 45.4382; + + return ( + + + {/* Draw the Circle */} + + + {/* Draw the SearchIcon within a G element */} + + + + + + ); +}; + + + diff --git a/dfm-sideline-sidekick-app/icons/generalPrinciplesIcon.tsx b/dfm-sideline-sidekick-app/icons/generalPrinciplesIcon.tsx new file mode 100644 index 0000000..f28bdd9 --- /dev/null +++ b/dfm-sideline-sidekick-app/icons/generalPrinciplesIcon.tsx @@ -0,0 +1,21 @@ +import React from 'react'; +import { View } from 'react-native'; +import { Svg, Path, G } from 'react-native-svg'; + +export const GeneralPrinciplesIcon = ({fillColor}) => { + return ( + + + + + + + + ); +}; + + diff --git a/dfm-sideline-sidekick-app/icons/searchIcon.tsx b/dfm-sideline-sidekick-app/icons/searchIcon.tsx new file mode 100644 index 0000000..25c965c --- /dev/null +++ b/dfm-sideline-sidekick-app/icons/searchIcon.tsx @@ -0,0 +1,20 @@ +import React from 'react'; +import { View } from 'react-native'; +import { Svg, Path } from 'react-native-svg'; + +export const SearchIcon = () => { + return ( + + + + + + ); +}; + + From c854c3e2917330a581b22e2e6f9e6e9d292ad4e6 Mon Sep 17 00:00:00 2001 From: pratyush1718 Date: Wed, 24 Jan 2024 20:33:08 -0800 Subject: [PATCH 2/9] lint check --- dfm-sideline-sidekick-app/icons/bookmarkIcon.tsx | 1 - dfm-sideline-sidekick-app/icons/circleIcon.tsx | 5 +---- dfm-sideline-sidekick-app/icons/generalPrinciplesIcon.tsx | 1 - dfm-sideline-sidekick-app/icons/searchIcon.tsx | 1 - 4 files changed, 1 insertion(+), 7 deletions(-) diff --git a/dfm-sideline-sidekick-app/icons/bookmarkIcon.tsx b/dfm-sideline-sidekick-app/icons/bookmarkIcon.tsx index b32b859..1724541 100644 --- a/dfm-sideline-sidekick-app/icons/bookmarkIcon.tsx +++ b/dfm-sideline-sidekick-app/icons/bookmarkIcon.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import { View } from 'react-native'; import { Svg, Path } from 'react-native-svg'; diff --git a/dfm-sideline-sidekick-app/icons/circleIcon.tsx b/dfm-sideline-sidekick-app/icons/circleIcon.tsx index aebf897..6613918 100644 --- a/dfm-sideline-sidekick-app/icons/circleIcon.tsx +++ b/dfm-sideline-sidekick-app/icons/circleIcon.tsx @@ -1,7 +1,6 @@ import { SearchIcon } from '../icons/searchIcon'; -import React from 'react'; import { StyleSheet, View } from 'react-native'; -import { Svg, Circle, G } from 'react-native-svg'; // Import G from react-native-svg +import { Svg, Circle, G } from 'react-native-svg'; const styles = StyleSheet.create({ container: { @@ -17,10 +16,8 @@ export const CircleIcon = ({fillColor}) => { return ( - {/* Draw the Circle */} - {/* Draw the SearchIcon within a G element */} diff --git a/dfm-sideline-sidekick-app/icons/generalPrinciplesIcon.tsx b/dfm-sideline-sidekick-app/icons/generalPrinciplesIcon.tsx index f28bdd9..867b624 100644 --- a/dfm-sideline-sidekick-app/icons/generalPrinciplesIcon.tsx +++ b/dfm-sideline-sidekick-app/icons/generalPrinciplesIcon.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import { View } from 'react-native'; import { Svg, Path, G } from 'react-native-svg'; diff --git a/dfm-sideline-sidekick-app/icons/searchIcon.tsx b/dfm-sideline-sidekick-app/icons/searchIcon.tsx index 25c965c..7f1aa3d 100644 --- a/dfm-sideline-sidekick-app/icons/searchIcon.tsx +++ b/dfm-sideline-sidekick-app/icons/searchIcon.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import { View } from 'react-native'; import { Svg, Path } from 'react-native-svg'; From a3ff7eac5a365f6c216f05ff4b42fa200fdf3d49 Mon Sep 17 00:00:00 2001 From: pratyush1718 Date: Sat, 10 Feb 2024 10:45:30 -0800 Subject: [PATCH 3/9] navigation for navbar --- dfm-sideline-sidekick-app/App.tsx | 58 +- dfm-sideline-sidekick-app/package-lock.json | 807 +++++++++++++++++- dfm-sideline-sidekick-app/package.json | 7 + .../pages/BookmarkPage.tsx | 11 + dfm-sideline-sidekick-app/pages/HomePage.tsx | 11 + .../pages/SearchPage.tsx | 11 + dfm-sideline-sidekick-app/pages/TabPage.tsx | 11 + 7 files changed, 897 insertions(+), 19 deletions(-) create mode 100644 dfm-sideline-sidekick-app/pages/BookmarkPage.tsx create mode 100644 dfm-sideline-sidekick-app/pages/HomePage.tsx create mode 100644 dfm-sideline-sidekick-app/pages/SearchPage.tsx create mode 100644 dfm-sideline-sidekick-app/pages/TabPage.tsx diff --git a/dfm-sideline-sidekick-app/App.tsx b/dfm-sideline-sidekick-app/App.tsx index 549423e..574c0cd 100644 --- a/dfm-sideline-sidekick-app/App.tsx +++ b/dfm-sideline-sidekick-app/App.tsx @@ -1,27 +1,55 @@ +import React from "react"; import { StatusBar } from "expo-status-bar"; -import { StyleSheet, Text, View } from "react-native"; -import {NavItem, BottomNavBar} from './components/bar' +import { StyleSheet } from "react-native"; +import { NavigationContainer, useNavigation } from "@react-navigation/native"; +import { createNativeStackNavigator } from "@react-navigation/native-stack"; +import { NavItem, BottomNavBar } from './components/bar' +import BookmarkPage from "./pages/BookmarkPage"; +import SearchPage from "./pages/SearchPage"; +import TabPage from "./pages/TabPage"; +import HomePage from "./pages/HomePage"; +import { StackNavigationProp } from "@react-navigation/stack"; + +type RootStackParamList = { + Home: undefined, + Bookmark: undefined; + Search: undefined; + Tab: undefined; +}; + +type StackNavigation = StackNavigationProp; +const Stack = createNativeStackNavigator(); export default function App() { - const navigationItems: NavItem[] = [ - { id: 1, icon: 'bookmark', onClick: () => console.log('Home pressed') }, - { id: 2, icon: 'search', onClick: () => console.log('Search pressed') }, - { id: 3, icon: 'principles', onClick: () => console.log('Rectangle pressed') }, - ]; return ( - // eslint-disable-next-line @typescript-eslint/no-use-before-define - - Open up App.js to start working on your app! - - - - + + + + + + - + + + + + ); } +const BottomNavBarComponent = () => { + const navigation = useNavigation(); + + const navigationItems: NavItem[] = [ + { id: 1, icon: 'bookmark', onClick: () => navigation.navigate("Bookmark") }, + { id: 2, icon: 'search', onClick: () => navigation.navigate("Search") }, + { id: 3, icon: 'principles', onClick: () => navigation.navigate("Tab") }, + ]; + + return ; +} + const styles = StyleSheet.create({ container: { flex: 1, diff --git a/dfm-sideline-sidekick-app/package-lock.json b/dfm-sideline-sidekick-app/package-lock.json index 5d5b4f2..72627f3 100644 --- a/dfm-sideline-sidekick-app/package-lock.json +++ b/dfm-sideline-sidekick-app/package-lock.json @@ -8,11 +8,18 @@ "name": "dfm-sideline-sidekick-app", "version": "1.0.0", "dependencies": { + "@react-native-community/masked-view": "^0.1.11", + "@react-navigation/native": "^6.1.10", + "@react-navigation/native-stack": "^6.9.18", + "@react-navigation/stack": "^6.3.21", "@types/react": "~18.2.14", "expo": "~49.0.15", "expo-status-bar": "~1.6.0", "react": "18.2.0", "react-native": "0.72.6", + "react-native-safe-area-context": "^4.9.0", + "react-native-screens": "^3.29.0", + "react-native-svg": "^14.1.0", "typescript": "^5.1.3" }, "devDependencies": { @@ -1999,6 +2006,18 @@ "node": ">=6.9.0" } }, + "node_modules/@egjs/hammerjs": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@egjs/hammerjs/-/hammerjs-2.0.17.tgz", + "integrity": "sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==", + "peer": true, + "dependencies": { + "@types/hammerjs": "^2.0.36" + }, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -6048,6 +6067,16 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, + "node_modules/@react-native-community/masked-view": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@react-native-community/masked-view/-/masked-view-0.1.11.tgz", + "integrity": "sha512-rQfMIGSR/1r/SyN87+VD8xHHzDYeHaJq6elOSCAD+0iLagXkSI2pfA0LmSXP21uw5i3em7GkkRjfJ8wpqWXZNw==", + "deprecated": "Repository was moved to @react-native-masked-view/masked-view", + "peerDependencies": { + "react": ">=16.0", + "react-native": ">=0.57" + } + }, "node_modules/@react-native/assets-registry": { "version": "0.72.0", "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.72.0.tgz", @@ -6102,6 +6131,117 @@ "react-native": "*" } }, + "node_modules/@react-navigation/core": { + "version": "6.4.10", + "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.4.10.tgz", + "integrity": "sha512-oYhqxETRHNHKsipm/BtGL0LI43Hs2VSFoWMbBdHK9OqgQPjTVUitslgLcPpo4zApCcmBWoOLX2qPxhsBda644A==", + "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.7" + }, + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@react-navigation/core/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-navigation/core/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/@react-navigation/elements": { + "version": "1.3.22", + "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.22.tgz", + "integrity": "sha512-HYKucs0TwQT8zMvgoZbJsY/3sZfzeP8Dk9IDv4agst3zlA7ReTx4+SROCG6VGC7JKqBCyQykHIwkSwxhapoc+Q==", + "peerDependencies": { + "@react-navigation/native": "^6.0.0", + "react": "*", + "react-native": "*", + "react-native-safe-area-context": ">= 3.0.0" + } + }, + "node_modules/@react-navigation/native": { + "version": "6.1.10", + "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-6.1.10.tgz", + "integrity": "sha512-jDG89TbZItY7W7rIcS1RqT63vWOPD4XuQLNKqZO0DY7mKnKh/CGBd0eg3nDMXUl143Qp//IxJKe2TfBQRDEU4A==", + "dependencies": { + "@react-navigation/core": "^6.4.10", + "escape-string-regexp": "^4.0.0", + "fast-deep-equal": "^3.1.3", + "nanoid": "^3.1.23" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/@react-navigation/native-stack": { + "version": "6.9.18", + "resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.9.18.tgz", + "integrity": "sha512-PSe0qjROy8zD78ehW048NSuzWRktioSCJmB8LzWSR65ndgVaC2rO+xvgyjhHjqm01YdyVM1XTct2EorSjDV2Ow==", + "dependencies": { + "@react-navigation/elements": "^1.3.22", + "warn-once": "^0.1.0" + }, + "peerDependencies": { + "@react-navigation/native": "^6.0.0", + "react": "*", + "react-native": "*", + "react-native-safe-area-context": ">= 3.0.0", + "react-native-screens": ">= 3.0.0" + } + }, + "node_modules/@react-navigation/native/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-navigation/routers": { + "version": "6.1.9", + "resolved": "https://registry.npmjs.org/@react-navigation/routers/-/routers-6.1.9.tgz", + "integrity": "sha512-lTM8gSFHSfkJvQkxacGM6VJtBt61ip2XO54aNfswD+KMw6eeZ4oehl7m0me3CR9hnDE4+60iAZR8sAhvCiI3NA==", + "dependencies": { + "nanoid": "^3.1.23" + } + }, + "node_modules/@react-navigation/stack": { + "version": "6.3.21", + "resolved": "https://registry.npmjs.org/@react-navigation/stack/-/stack-6.3.21.tgz", + "integrity": "sha512-oh059bD9w6Q7YbcK3POXRHK+bfoafPU9gvunD0MHJGmPVe9bazn5OMNzRYextvB6BfwQy+v3dy76Opf0vIGcNg==", + "dependencies": { + "@react-navigation/elements": "^1.3.22", + "color": "^4.2.3", + "warn-once": "^0.1.0" + }, + "peerDependencies": { + "@react-navigation/native": "^6.0.0", + "react": "*", + "react-native": "*", + "react-native-gesture-handler": ">= 1.0.0", + "react-native-safe-area-context": ">= 3.0.0", + "react-native-screens": ">= 3.0.0" + } + }, "node_modules/@segment/loosely-validate-event": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@segment/loosely-validate-event/-/loosely-validate-event-2.0.0.tgz", @@ -6150,6 +6290,12 @@ "@sinonjs/commons": "^3.0.0" } }, + "node_modules/@types/hammerjs": { + "version": "2.0.45", + "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.45.tgz", + "integrity": "sha512-qkcUlZmX6c4J8q45taBKTL3p+LbITgyx7qhlPYOdOHZB7B31K0mXbP5YA7i7SgDeEGuI9MnumiKPEMrxg8j3KQ==", + "peer": true + }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", @@ -7259,6 +7405,11 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, "node_modules/bplist-creator": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.0.tgz", @@ -7657,6 +7808,18 @@ "node": ">=6" } }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -7670,6 +7833,31 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/color/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, "node_modules/colorette": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", @@ -7889,6 +8077,52 @@ "node": ">=8" } }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", @@ -7934,6 +8168,14 @@ "node": ">=0.10.0" } }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "engines": { + "node": ">=0.10" + } + }, "node_modules/deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -8143,6 +8385,57 @@ "node": ">=6.0.0" } }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, "node_modules/dotenv": { "version": "16.0.3", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", @@ -8195,6 +8488,17 @@ "once": "^1.4.0" } }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/env-editor": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/env-editor/-/env-editor-0.4.2.tgz", @@ -9225,8 +9529,7 @@ "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-glob": { "version": "3.3.2", @@ -9347,6 +9650,14 @@ "node": ">=8" } }, + "node_modules/filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", @@ -9973,6 +10284,21 @@ "node": ">=8" } }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "peer": true, + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "peer": true + }, "node_modules/hosted-git-info": { "version": "3.0.8", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", @@ -12129,6 +12455,11 @@ "resolved": "https://registry.npmjs.org/md5hex/-/md5hex-1.0.0.tgz", "integrity": "sha512-c2YOUbp33+6thdCUi34xIyOU/a7bvGKj/3DB1iaPMTuPHf/Q2d5s4sn1FaCOO43XkXggnb08y5W2PU8UNYNLKQ==" }, + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -13203,6 +13534,17 @@ "node": ">=4" } }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, "node_modules/nullthrows": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", @@ -14092,6 +14434,23 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/query-string": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz", + "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" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", @@ -14200,6 +14559,17 @@ } } }, + "node_modules/react-freeze": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/react-freeze/-/react-freeze-1.0.3.tgz", + "integrity": "sha512-ZnXwLQnGzrDpHBHiC56TXFXvmolPeMjTn1UOm610M4EXGzbEDR7oOIyS2ZiItgbs6eZc4oU/a0hpk8PrcKvv5g==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": ">=17.0.0" + } + }, "node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -14257,6 +14627,58 @@ "react": "18.2.0" } }, + "node_modules/react-native-gesture-handler": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.15.0.tgz", + "integrity": "sha512-cmMGW8k86o/xgVTBZZOPohvR5re4Vh65PUxH4HbBBJAYTog4aN4wTVTUlnoky01HuSN8/X4h3tI/K3XLPoDnsg==", + "peer": true, + "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" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/react-native-safe-area-context": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.9.0.tgz", + "integrity": "sha512-/OJD9Pb8IURyvn+1tWTszWPJqsbZ4hyHBU9P0xhOmk7h5owSuqL0zkfagU0pg7Vh0G2NKQkaPpUKUMMCUMDh/w==", + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/react-native-screens": { + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.29.0.tgz", + "integrity": "sha512-yB1GoAMamFAcYf4ku94uBPn0/ani9QG7NdI98beJ5cet2YFESYYzuEIuU+kt+CNRcO8qqKeugxlfgAa3HyTqlg==", + "dependencies": { + "react-freeze": "^1.0.0", + "warn-once": "^0.1.0" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/react-native-svg": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-14.1.0.tgz", + "integrity": "sha512-HeseElmEk+AXGwFZl3h56s0LtYD9HyGdrpg8yd9QM26X+d7kjETrRQ9vCjtxuT5dCZEIQ5uggU1dQhzasnsCWA==", + "dependencies": { + "css-select": "^5.1.0", + "css-tree": "^1.1.3" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, "node_modules/react-native/node_modules/promise": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", @@ -14869,6 +15291,19 @@ "node": ">= 5.10.0" } }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", @@ -14947,6 +15382,14 @@ "node": "*" } }, + "node_modules/split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", + "engines": { + "node": ">=6" + } + }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -15022,6 +15465,14 @@ "node": ">= 0.10.0" } }, + "node_modules/strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", + "engines": { + "node": ">=4" + } + }, "node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -15989,6 +16440,14 @@ "requires-port": "^1.0.0" } }, + "node_modules/use-latest-callback": { + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/use-latest-callback/-/use-latest-callback-0.1.9.tgz", + "integrity": "sha512-CL/29uS74AwreI/f2oz2hLTW7ZqVeV5+gxFeGudzQrgkCytrHw33G4KbnQOrRlAEzzAFXi7dDLMC9zhWcVpzmw==", + "peerDependencies": { + "react": ">=16.8" + } + }, "node_modules/use-sync-external-store": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", @@ -16053,6 +16512,11 @@ "makeerror": "1.0.12" } }, + "node_modules/warn-once": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/warn-once/-/warn-once-0.1.1.tgz", + "integrity": "sha512-VkQZJbO8zVImzYFteBXvBOZEl1qL175WH8VmZcxF2fZAoudNhNDvHi+doCaAEdU2l2vtcIwa2zn0QK5+I1HQ3Q==" + }, "node_modules/wcwidth": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", @@ -17738,6 +18202,15 @@ "to-fast-properties": "^2.0.0" } }, + "@egjs/hammerjs": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@egjs/hammerjs/-/hammerjs-2.0.17.tgz", + "integrity": "sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==", + "peer": true, + "requires": { + "@types/hammerjs": "^2.0.36" + } + }, "@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -20703,6 +21176,12 @@ "joi": "^17.2.1" } }, + "@react-native-community/masked-view": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@react-native-community/masked-view/-/masked-view-0.1.11.tgz", + "integrity": "sha512-rQfMIGSR/1r/SyN87+VD8xHHzDYeHaJq6elOSCAD+0iLagXkSI2pfA0LmSXP21uw5i3em7GkkRjfJ8wpqWXZNw==", + "requires": {} + }, "@react-native/assets-registry": { "version": "0.72.0", "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.72.0.tgz", @@ -20751,6 +21230,82 @@ "nullthrows": "^1.1.1" } }, + "@react-navigation/core": { + "version": "6.4.10", + "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.4.10.tgz", + "integrity": "sha512-oYhqxETRHNHKsipm/BtGL0LI43Hs2VSFoWMbBdHK9OqgQPjTVUitslgLcPpo4zApCcmBWoOLX2qPxhsBda644A==", + "requires": { + "@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.7" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "@react-navigation/elements": { + "version": "1.3.22", + "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.22.tgz", + "integrity": "sha512-HYKucs0TwQT8zMvgoZbJsY/3sZfzeP8Dk9IDv4agst3zlA7ReTx4+SROCG6VGC7JKqBCyQykHIwkSwxhapoc+Q==", + "requires": {} + }, + "@react-navigation/native": { + "version": "6.1.10", + "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-6.1.10.tgz", + "integrity": "sha512-jDG89TbZItY7W7rIcS1RqT63vWOPD4XuQLNKqZO0DY7mKnKh/CGBd0eg3nDMXUl143Qp//IxJKe2TfBQRDEU4A==", + "requires": { + "@react-navigation/core": "^6.4.10", + "escape-string-regexp": "^4.0.0", + "fast-deep-equal": "^3.1.3", + "nanoid": "^3.1.23" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + } + } + }, + "@react-navigation/native-stack": { + "version": "6.9.18", + "resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.9.18.tgz", + "integrity": "sha512-PSe0qjROy8zD78ehW048NSuzWRktioSCJmB8LzWSR65ndgVaC2rO+xvgyjhHjqm01YdyVM1XTct2EorSjDV2Ow==", + "requires": { + "@react-navigation/elements": "^1.3.22", + "warn-once": "^0.1.0" + } + }, + "@react-navigation/routers": { + "version": "6.1.9", + "resolved": "https://registry.npmjs.org/@react-navigation/routers/-/routers-6.1.9.tgz", + "integrity": "sha512-lTM8gSFHSfkJvQkxacGM6VJtBt61ip2XO54aNfswD+KMw6eeZ4oehl7m0me3CR9hnDE4+60iAZR8sAhvCiI3NA==", + "requires": { + "nanoid": "^3.1.23" + } + }, + "@react-navigation/stack": { + "version": "6.3.21", + "resolved": "https://registry.npmjs.org/@react-navigation/stack/-/stack-6.3.21.tgz", + "integrity": "sha512-oh059bD9w6Q7YbcK3POXRHK+bfoafPU9gvunD0MHJGmPVe9bazn5OMNzRYextvB6BfwQy+v3dy76Opf0vIGcNg==", + "requires": { + "@react-navigation/elements": "^1.3.22", + "color": "^4.2.3", + "warn-once": "^0.1.0" + } + }, "@segment/loosely-validate-event": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@segment/loosely-validate-event/-/loosely-validate-event-2.0.0.tgz", @@ -20799,6 +21354,12 @@ "@sinonjs/commons": "^3.0.0" } }, + "@types/hammerjs": { + "version": "2.0.45", + "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.45.tgz", + "integrity": "sha512-qkcUlZmX6c4J8q45taBKTL3p+LbITgyx7qhlPYOdOHZB7B31K0mXbP5YA7i7SgDeEGuI9MnumiKPEMrxg8j3KQ==", + "peer": true + }, "@types/istanbul-lib-coverage": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", @@ -21643,6 +22204,11 @@ } } }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, "bplist-creator": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.0.tgz", @@ -21910,6 +22476,30 @@ "shallow-clone": "^3.0.0" } }, + "color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "requires": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "dependencies": { + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + } + } + }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -21923,6 +22513,15 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, + "color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, "colorette": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", @@ -22105,6 +22704,39 @@ "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" }, + "css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + } + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" + }, "csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", @@ -22139,6 +22771,11 @@ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" }, + "decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==" + }, "deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -22288,6 +22925,39 @@ "esutils": "^2.0.2" } }, + "dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + } + }, "dotenv": { "version": "16.0.3", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", @@ -22331,6 +23001,11 @@ "once": "^1.4.0" } }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" + }, "env-editor": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/env-editor/-/env-editor-0.4.2.tgz", @@ -23125,8 +23800,7 @@ "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-glob": { "version": "3.3.2", @@ -23225,6 +23899,11 @@ "to-regex-range": "^5.0.1" } }, + "filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==" + }, "finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", @@ -23670,6 +24349,23 @@ "source-map": "^0.7.3" } }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "peer": true, + "requires": { + "react-is": "^16.7.0" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "peer": true + } + } + }, "hosted-git-info": { "version": "3.0.8", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", @@ -25201,6 +25897,11 @@ "resolved": "https://registry.npmjs.org/md5hex/-/md5hex-1.0.0.tgz", "integrity": "sha512-c2YOUbp33+6thdCUi34xIyOU/a7bvGKj/3DB1iaPMTuPHf/Q2d5s4sn1FaCOO43XkXggnb08y5W2PU8UNYNLKQ==" }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -26010,6 +26711,14 @@ "path-key": "^2.0.0" } }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "requires": { + "boolbase": "^1.0.0" + } + }, "nullthrows": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", @@ -26640,6 +27349,17 @@ "side-channel": "^1.0.4" } }, + "query-string": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz", + "integrity": "sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==", + "requires": { + "decode-uri-component": "^0.2.2", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + }, "querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", @@ -26710,6 +27430,12 @@ } } }, + "react-freeze": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/react-freeze/-/react-freeze-1.0.3.tgz", + "integrity": "sha512-ZnXwLQnGzrDpHBHiC56TXFXvmolPeMjTn1UOm610M4EXGzbEDR7oOIyS2ZiItgbs6eZc4oU/a0hpk8PrcKvv5g==", + "requires": {} + }, "react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -26781,6 +27507,43 @@ } } }, + "react-native-gesture-handler": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.15.0.tgz", + "integrity": "sha512-cmMGW8k86o/xgVTBZZOPohvR5re4Vh65PUxH4HbBBJAYTog4aN4wTVTUlnoky01HuSN8/X4h3tI/K3XLPoDnsg==", + "peer": true, + "requires": { + "@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-safe-area-context": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.9.0.tgz", + "integrity": "sha512-/OJD9Pb8IURyvn+1tWTszWPJqsbZ4hyHBU9P0xhOmk7h5owSuqL0zkfagU0pg7Vh0G2NKQkaPpUKUMMCUMDh/w==", + "requires": {} + }, + "react-native-screens": { + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.29.0.tgz", + "integrity": "sha512-yB1GoAMamFAcYf4ku94uBPn0/ani9QG7NdI98beJ5cet2YFESYYzuEIuU+kt+CNRcO8qqKeugxlfgAa3HyTqlg==", + "requires": { + "react-freeze": "^1.0.0", + "warn-once": "^0.1.0" + } + }, + "react-native-svg": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-14.1.0.tgz", + "integrity": "sha512-HeseElmEk+AXGwFZl3h56s0LtYD9HyGdrpg8yd9QM26X+d7kjETrRQ9vCjtxuT5dCZEIQ5uggU1dQhzasnsCWA==", + "requires": { + "css-select": "^5.1.0", + "css-tree": "^1.1.3" + } + }, "react-refresh": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", @@ -27247,6 +28010,21 @@ } } }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + } + } + }, "sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", @@ -27306,6 +28084,11 @@ "through": "2" } }, + "split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==" + }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -27364,6 +28147,11 @@ "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", "integrity": "sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==" }, + "strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==" + }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -28060,6 +28848,12 @@ "requires-port": "^1.0.0" } }, + "use-latest-callback": { + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/use-latest-callback/-/use-latest-callback-0.1.9.tgz", + "integrity": "sha512-CL/29uS74AwreI/f2oz2hLTW7ZqVeV5+gxFeGudzQrgkCytrHw33G4KbnQOrRlAEzzAFXi7dDLMC9zhWcVpzmw==", + "requires": {} + }, "use-sync-external-store": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", @@ -28112,6 +28906,11 @@ "makeerror": "1.0.12" } }, + "warn-once": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/warn-once/-/warn-once-0.1.1.tgz", + "integrity": "sha512-VkQZJbO8zVImzYFteBXvBOZEl1qL175WH8VmZcxF2fZAoudNhNDvHi+doCaAEdU2l2vtcIwa2zn0QK5+I1HQ3Q==" + }, "wcwidth": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", diff --git a/dfm-sideline-sidekick-app/package.json b/dfm-sideline-sidekick-app/package.json index 9dca5da..68a70b1 100644 --- a/dfm-sideline-sidekick-app/package.json +++ b/dfm-sideline-sidekick-app/package.json @@ -15,11 +15,18 @@ "prepare": "cd .. && husky install .husky" }, "dependencies": { + "@react-native-community/masked-view": "^0.1.11", + "@react-navigation/native": "^6.1.10", + "@react-navigation/native-stack": "^6.9.18", + "@react-navigation/stack": "^6.3.21", "@types/react": "~18.2.14", "expo": "~49.0.15", "expo-status-bar": "~1.6.0", "react": "18.2.0", "react-native": "0.72.6", + "react-native-safe-area-context": "^4.9.0", + "react-native-screens": "^3.29.0", + "react-native-svg": "^14.1.0", "typescript": "^5.1.3" }, "devDependencies": { diff --git a/dfm-sideline-sidekick-app/pages/BookmarkPage.tsx b/dfm-sideline-sidekick-app/pages/BookmarkPage.tsx new file mode 100644 index 0000000..1e59eb4 --- /dev/null +++ b/dfm-sideline-sidekick-app/pages/BookmarkPage.tsx @@ -0,0 +1,11 @@ +import { View, Text } from 'react-native'; + +const BookmarkPage = () => { + return ( + + Bookmark Dummy Page + + ); +}; + +export default BookmarkPage; diff --git a/dfm-sideline-sidekick-app/pages/HomePage.tsx b/dfm-sideline-sidekick-app/pages/HomePage.tsx new file mode 100644 index 0000000..e2fa10e --- /dev/null +++ b/dfm-sideline-sidekick-app/pages/HomePage.tsx @@ -0,0 +1,11 @@ +import { View, Text } from 'react-native'; + +export const HomePage = () => { + return ( + + Home Dummy Page + + ); +} + +export default HomePage; \ No newline at end of file diff --git a/dfm-sideline-sidekick-app/pages/SearchPage.tsx b/dfm-sideline-sidekick-app/pages/SearchPage.tsx new file mode 100644 index 0000000..8e47c8f --- /dev/null +++ b/dfm-sideline-sidekick-app/pages/SearchPage.tsx @@ -0,0 +1,11 @@ +import { View, Text } from 'react-native'; + +const SearchPage = () => { + return ( + + Search Dummy Page + + ); +}; + +export default SearchPage; diff --git a/dfm-sideline-sidekick-app/pages/TabPage.tsx b/dfm-sideline-sidekick-app/pages/TabPage.tsx new file mode 100644 index 0000000..561d1a3 --- /dev/null +++ b/dfm-sideline-sidekick-app/pages/TabPage.tsx @@ -0,0 +1,11 @@ +import { View, Text } from 'react-native'; + +const TabPage = () => { + return ( + + Search Dummy Page + + ); +}; + +export default TabPage; From 78e7a6711be25c819670dc51d849cd3a61912f42 Mon Sep 17 00:00:00 2001 From: Rohan Sachdeva Date: Wed, 14 Feb 2024 20:33:34 -0800 Subject: [PATCH 4/9] Fixed annoying linter issues --- dfm-sideline-sidekick-app/App.tsx | 71 ++- dfm-sideline-sidekick-app/components/bar.tsx | 70 ++- .../icons/bookmarkIcon.tsx | 19 +- .../icons/circleIcon.tsx | 19 +- dfm-sideline-sidekick-app/package-lock.json | 468 +++++++++--------- dfm-sideline-sidekick-app/package.json | 8 +- 6 files changed, 337 insertions(+), 318 deletions(-) diff --git a/dfm-sideline-sidekick-app/App.tsx b/dfm-sideline-sidekick-app/App.tsx index 574c0cd..79f2675 100644 --- a/dfm-sideline-sidekick-app/App.tsx +++ b/dfm-sideline-sidekick-app/App.tsx @@ -1,17 +1,20 @@ -import React from "react"; +import { NavigationContainer, useNavigation } from "@react-navigation/native"; +import { createNativeStackNavigator } from "@react-navigation/native-stack"; +import { StackNavigationProp } from "@react-navigation/stack"; import { StatusBar } from "expo-status-bar"; +// eslint-disable-next-line @typescript-eslint/no-unused-vars +import React from "react"; +// eslint-disable-next-line import/namespace import { StyleSheet } from "react-native"; -import { NavigationContainer, useNavigation } from "@react-navigation/native"; -import { createNativeStackNavigator } from "@react-navigation/native-stack"; -import { NavItem, BottomNavBar } from './components/bar' + +import { BottomNavBar, NavItem } from "./components/bar"; import BookmarkPage from "./pages/BookmarkPage"; +import HomePage from "./pages/HomePage"; import SearchPage from "./pages/SearchPage"; import TabPage from "./pages/TabPage"; -import HomePage from "./pages/HomePage"; -import { StackNavigationProp } from "@react-navigation/stack"; type RootStackParamList = { - Home: undefined, + Home: undefined; Bookmark: undefined; Search: undefined; Tab: undefined; @@ -20,17 +23,44 @@ type RootStackParamList = { type StackNavigation = StackNavigationProp; const Stack = createNativeStackNavigator(); -export default function App() { +const BottomNavBarComponent = () => { + const navigation = useNavigation(); + + const navigationItems: NavItem[] = [ + { + id: 1, + icon: "bookmark", + onClick: () => { + navigation.navigate("Bookmark"); + }, + }, + { + id: 2, + icon: "search", + onClick: () => { + navigation.navigate("Search"); + }, + }, + { + id: 3, + icon: "principles", + onClick: () => { + navigation.navigate("Tab"); + }, + }, + ]; + return ; +}; + +export default function App() { return ( - - - - - - + + + + @@ -38,18 +68,7 @@ export default function App() { ); } -const BottomNavBarComponent = () => { - const navigation = useNavigation(); - - const navigationItems: NavItem[] = [ - { id: 1, icon: 'bookmark', onClick: () => navigation.navigate("Bookmark") }, - { id: 2, icon: 'search', onClick: () => navigation.navigate("Search") }, - { id: 3, icon: 'principles', onClick: () => navigation.navigate("Tab") }, - ]; - - return ; -} - +// eslint-disable-next-line @typescript-eslint/no-unused-vars const styles = StyleSheet.create({ container: { flex: 1, diff --git a/dfm-sideline-sidekick-app/components/bar.tsx b/dfm-sideline-sidekick-app/components/bar.tsx index ad97013..b74ae65 100644 --- a/dfm-sideline-sidekick-app/components/bar.tsx +++ b/dfm-sideline-sidekick-app/components/bar.tsx @@ -1,8 +1,10 @@ -import React, { useState } from 'react'; -import { StyleSheet, View, TouchableOpacity } from "react-native"; -import { BookmarkIcon } from '../icons/bookmarkIcon'; -import { CircleIcon } from '../icons/circleIcon'; -import {GeneralPrinciplesIcon} from '../icons/generalPrinciplesIcon'; +import React, { useState } from "react"; +// eslint-disable-next-line import/namespace +import { StyleSheet, TouchableOpacity, View } from "react-native"; + +import { BookmarkIcon } from "../icons/bookmarkIcon"; +import { CircleIcon } from "../icons/circleIcon"; +import { GeneralPrinciplesIcon } from "../icons/generalPrinciplesIcon"; export type NavItem = { id: number; @@ -10,10 +12,8 @@ export type NavItem = { onClick: () => void; }; - export const BottomNavBar: React.FC<{ items: NavItem[] }> = ({ items }) => { const [selectedItemId, setSelectedItemId] = useState(null); - const handleItemClick = (itemId: number) => { setSelectedItemId(itemId); @@ -22,47 +22,39 @@ export const BottomNavBar: React.FC<{ items: NavItem[] }> = ({ items }) => { const styles = StyleSheet.create({ bottomBar: { - flexDirection: 'row', - justifyContent: 'space-around', - alignItems: 'center', - backgroundColor: '#f0f0f0', - padding: 8, - position: 'absolute', - bottom: 0, - left: 0, - right: 0, - height: 79 + flexDirection: "row", + justifyContent: "space-around", + alignItems: "center", + backgroundColor: "#f0f0f0", + padding: 8, + position: "absolute", + bottom: 0, + left: 0, + right: 0, + height: 79, }, - }); - + }); return ( - {items.map((item) => ( handleItemClick(item.id)} + onPress={() => { + handleItemClick(item.id); + }} > - {item.icon === 'search' ? ( - - - - - - ) : ( - item.icon === 'bookmark' ? ( - - ) : ( - - ) - )} + {item.icon === "search" ? ( + + + + ) : item.icon === "bookmark" ? ( + + ) : ( + + )} ))} ); - - - -}; \ No newline at end of file +}; diff --git a/dfm-sideline-sidekick-app/icons/bookmarkIcon.tsx b/dfm-sideline-sidekick-app/icons/bookmarkIcon.tsx index 1724541..2d0f4cb 100644 --- a/dfm-sideline-sidekick-app/icons/bookmarkIcon.tsx +++ b/dfm-sideline-sidekick-app/icons/bookmarkIcon.tsx @@ -1,14 +1,19 @@ -import { View } from 'react-native'; -import { Svg, Path } from 'react-native-svg'; +/* eslint-disable @typescript-eslint/no-unsafe-assignment */ +// eslint-disable-next-line import/namespace +import { View } from "react-native"; +import { Path, Svg } from "react-native-svg"; -export const BookmarkIcon = ({fillColor}) => { +// eslint-disable-next-line react/prop-types +export const BookmarkIcon = ({ fillColor }) => { return ( - + - + ); }; - - diff --git a/dfm-sideline-sidekick-app/icons/circleIcon.tsx b/dfm-sideline-sidekick-app/icons/circleIcon.tsx index 6613918..838a971 100644 --- a/dfm-sideline-sidekick-app/icons/circleIcon.tsx +++ b/dfm-sideline-sidekick-app/icons/circleIcon.tsx @@ -1,21 +1,25 @@ -import { SearchIcon } from '../icons/searchIcon'; -import { StyleSheet, View } from 'react-native'; -import { Svg, Circle, G } from 'react-native-svg'; +/* eslint-disable @typescript-eslint/no-unsafe-assignment */ +// eslint-disable-next-line import/namespace +import { StyleSheet, View } from "react-native"; +import { Circle, G, Svg } from "react-native-svg"; + +import { SearchIcon } from "../icons/searchIcon"; const styles = StyleSheet.create({ container: { - alignItems: 'center', + alignItems: "center", }, }); -export const CircleIcon = ({fillColor}) => { +// eslint-disable-next-line react/prop-types +export const CircleIcon = ({ fillColor }) => { const circleRadius = 44.6533; const circleCenterX = 45; const circleCenterY = 45.4382; return ( - + @@ -25,6 +29,3 @@ export const CircleIcon = ({fillColor}) => { ); }; - - - diff --git a/dfm-sideline-sidekick-app/package-lock.json b/dfm-sideline-sidekick-app/package-lock.json index 72627f3..854b954 100644 --- a/dfm-sideline-sidekick-app/package-lock.json +++ b/dfm-sideline-sidekick-app/package-lock.json @@ -16,10 +16,10 @@ "expo": "~49.0.15", "expo-status-bar": "~1.6.0", "react": "18.2.0", - "react-native": "0.72.6", - "react-native-safe-area-context": "^4.9.0", - "react-native-screens": "^3.29.0", - "react-native-svg": "^14.1.0", + "react-native": "0.72.10", + "react-native-safe-area-context": "4.6.3", + "react-native-screens": "~3.22.0", + "react-native-svg": "13.9.0", "typescript": "^5.1.3" }, "devDependencies": { @@ -4099,19 +4099,19 @@ } }, "node_modules/@react-native-community/cli": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.7.tgz", - "integrity": "sha512-Ou8eDlF+yh2rzXeCTpMPYJ2fuqsusNOhmpYPYNQJQ2h6PvaF30kPomflgRILems+EBBuggRtcT+I+1YH4o/q6w==", - "dependencies": { - "@react-native-community/cli-clean": "11.3.7", - "@react-native-community/cli-config": "11.3.7", - "@react-native-community/cli-debugger-ui": "11.3.7", - "@react-native-community/cli-doctor": "11.3.7", - "@react-native-community/cli-hermes": "11.3.7", - "@react-native-community/cli-plugin-metro": "11.3.7", - "@react-native-community/cli-server-api": "11.3.7", - "@react-native-community/cli-tools": "11.3.7", - "@react-native-community/cli-types": "11.3.7", + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.10.tgz", + "integrity": "sha512-bIx0t5s9ewH1PlcEcuQUD+UnVrCjPGAfjhVR5Gew565X60nE+GTIHRn70nMv9G4he/amBF+Z+vf5t8SNZEWMwg==", + "dependencies": { + "@react-native-community/cli-clean": "11.3.10", + "@react-native-community/cli-config": "11.3.10", + "@react-native-community/cli-debugger-ui": "11.3.10", + "@react-native-community/cli-doctor": "11.3.10", + "@react-native-community/cli-hermes": "11.3.10", + "@react-native-community/cli-plugin-metro": "11.3.10", + "@react-native-community/cli-server-api": "11.3.10", + "@react-native-community/cli-tools": "11.3.10", + "@react-native-community/cli-types": "11.3.10", "chalk": "^4.1.2", "commander": "^9.4.1", "execa": "^5.0.0", @@ -4129,11 +4129,11 @@ } }, "node_modules/@react-native-community/cli-clean": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-11.3.7.tgz", - "integrity": "sha512-twtsv54ohcRyWVzPXL3F9VHGb4Qhn3slqqRs3wEuRzjR7cTmV2TIO2b1VhaqF4HlCgNd+cGuirvLtK2JJyaxMg==", + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-11.3.10.tgz", + "integrity": "sha512-g6QjW+DSqoWRHzmIQW3AH22k1AnynWuOdy2YPwYEGgPddTeXZtJphIpEVwDOiC0L4mZv2VmiX33/cGNUwO0cIA==", "dependencies": { - "@react-native-community/cli-tools": "11.3.7", + "@react-native-community/cli-tools": "11.3.10", "chalk": "^4.1.2", "execa": "^5.0.0", "prompts": "^2.4.0" @@ -4335,11 +4335,11 @@ } }, "node_modules/@react-native-community/cli-config": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-11.3.7.tgz", - "integrity": "sha512-FDBLku9xskS+bx0YFJFLCmUJhEZ4/MMSC9qPYOGBollWYdgE7k/TWI0IeYFmMALAnbCdKQAYP5N29N55Tad8lg==", + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-11.3.10.tgz", + "integrity": "sha512-YYu14nm1JYLS6mDRBz78+zDdSFudLBFpPkhkOoj4LuBhNForQBIqFFHzQbd9/gcguJxfW3vlYSnudfaUI7oGLg==", "dependencies": { - "@react-native-community/cli-tools": "11.3.7", + "@react-native-community/cli-tools": "11.3.10", "chalk": "^4.1.2", "cosmiconfig": "^5.1.0", "deepmerge": "^4.3.0", @@ -4412,22 +4412,22 @@ } }, "node_modules/@react-native-community/cli-debugger-ui": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.7.tgz", - "integrity": "sha512-aVmKuPKHZENR8SrflkMurZqeyLwbKieHdOvaZCh1Nn/0UC5CxWcyST2DB2XQboZwsvr3/WXKJkSUO+SZ1J9qTQ==", + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.10.tgz", + "integrity": "sha512-kyitGV3RsjlXIioq9lsuawha2GUBPCTAyXV6EBlm3qlyF3dMniB3twEvz+fIOid/e1ZeucH3Tzy5G3qcP8yWoA==", "dependencies": { "serve-static": "^1.13.1" } }, "node_modules/@react-native-community/cli-doctor": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-11.3.7.tgz", - "integrity": "sha512-YEHUqWISOHnsl5+NM14KHelKh68Sr5/HeEZvvNdIcvcKtZic3FU7Xd1WcbNdo3gCq5JvzGFfufx02Tabh5zmrg==", - "dependencies": { - "@react-native-community/cli-config": "11.3.7", - "@react-native-community/cli-platform-android": "11.3.7", - "@react-native-community/cli-platform-ios": "11.3.7", - "@react-native-community/cli-tools": "11.3.7", + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-11.3.10.tgz", + "integrity": "sha512-DpMsfCWKZ15L9nFK/SyDvpl5v6MjV+arMHMC1i8kR+DOmf2xWmp/pgMywKk0/u50yGB9GwxBHt3i/S/IMK5Ylg==", + "dependencies": { + "@react-native-community/cli-config": "11.3.10", + "@react-native-community/cli-platform-android": "11.3.10", + "@react-native-community/cli-platform-ios": "11.3.10", + "@react-native-community/cli-tools": "11.3.10", "chalk": "^4.1.2", "command-exists": "^1.2.8", "envinfo": "^7.7.2", @@ -4678,9 +4678,9 @@ } }, "node_modules/@react-native-community/cli-doctor/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -4746,12 +4746,12 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/@react-native-community/cli-hermes": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-11.3.7.tgz", - "integrity": "sha512-chkKd8n/xeZkinRvtH6QcYA8rjNOKU3S3Lw/3Psxgx+hAYV0Gyk95qJHTalx7iu+PwjOOqqvCkJo5jCkYLkoqw==", + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-11.3.10.tgz", + "integrity": "sha512-vqINuzAlcHS9ImNwJtT43N7kfBQ7ro9A8O1Gpc5TQ0A8V36yGG8eoCHeauayklVVgMZpZL6f6mcoLLr9IOgBZQ==", "dependencies": { - "@react-native-community/cli-platform-android": "11.3.7", - "@react-native-community/cli-tools": "11.3.7", + "@react-native-community/cli-platform-android": "11.3.10", + "@react-native-community/cli-tools": "11.3.10", "chalk": "^4.1.2", "hermes-profile-transformer": "^0.0.6", "ip": "^1.1.5" @@ -4822,11 +4822,11 @@ } }, "node_modules/@react-native-community/cli-platform-android": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.7.tgz", - "integrity": "sha512-WGtXI/Rm178UQb8bu1TAeFC/RJvYGnbHpULXvE20GkmeJ1HIrMjkagyk6kkY3Ej25JAP2R878gv+TJ/XiRhaEg==", + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.10.tgz", + "integrity": "sha512-RGu9KuDIXnrcNkacSHj5ETTQtp/D/835L6veE2jMigO21p//gnKAjw3AVLCysGr8YXYfThF8OSOALrwNc94puQ==", "dependencies": { - "@react-native-community/cli-tools": "11.3.7", + "@react-native-community/cli-tools": "11.3.10", "chalk": "^4.1.2", "execa": "^5.0.0", "glob": "^7.1.3", @@ -5029,11 +5029,11 @@ } }, "node_modules/@react-native-community/cli-platform-ios": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.7.tgz", - "integrity": "sha512-Z/8rseBput49EldX7MogvN6zJlWzZ/4M97s2P+zjS09ZoBU7I0eOKLi0N9wx+95FNBvGQQ/0P62bB9UaFQH2jw==", + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.10.tgz", + "integrity": "sha512-JjduMrBM567/j4Hvjsff77dGSLMA0+p9rr0nShlgnKPcc+0J4TDy0hgWpUceM7OG00AdDjpetAPupz0kkAh4cQ==", "dependencies": { - "@react-native-community/cli-tools": "11.3.7", + "@react-native-community/cli-tools": "11.3.10", "chalk": "^4.1.2", "execa": "^5.0.0", "fast-xml-parser": "^4.0.12", @@ -5308,12 +5308,12 @@ } }, "node_modules/@react-native-community/cli-plugin-metro": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.3.7.tgz", - "integrity": "sha512-0WhgoBVGF1f9jXcuagQmtxpwpfP+2LbLZH4qMyo6OtYLWLG13n2uRep+8tdGzfNzl1bIuUTeE9yZSAdnf9LfYQ==", + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.3.10.tgz", + "integrity": "sha512-ZYAc5Hc+QVqJgj1XFbpKnIPbSJ9xKcBnfQrRhR+jFyt2DWx85u4bbzY1GSVc/USs0UbSUXv4dqPbnmOJz52EYQ==", "dependencies": { - "@react-native-community/cli-server-api": "11.3.7", - "@react-native-community/cli-tools": "11.3.7", + "@react-native-community/cli-server-api": "11.3.10", + "@react-native-community/cli-tools": "11.3.10", "chalk": "^4.1.2", "execa": "^5.0.0", "metro": "0.76.8", @@ -5521,12 +5521,12 @@ } }, "node_modules/@react-native-community/cli-server-api": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-11.3.7.tgz", - "integrity": "sha512-yoFyGdvR3HxCnU6i9vFqKmmSqFzCbnFSnJ29a+5dppgPRetN+d//O8ard/YHqHzToFnXutAFf2neONn23qcJAg==", + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-11.3.10.tgz", + "integrity": "sha512-WEwHWIpqx3gA6Da+lrmq8+z78E1XbxxjBlvHAXevhjJj42N4SO417eZiiUVrFzEFVVJSUee9n9aRa0kUR+0/2w==", "dependencies": { - "@react-native-community/cli-debugger-ui": "11.3.7", - "@react-native-community/cli-tools": "11.3.7", + "@react-native-community/cli-debugger-ui": "11.3.10", + "@react-native-community/cli-tools": "11.3.10", "compression": "^1.7.1", "connect": "^3.6.5", "errorhandler": "^1.5.1", @@ -5557,9 +5557,9 @@ } }, "node_modules/@react-native-community/cli-tools": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-11.3.7.tgz", - "integrity": "sha512-peyhP4TV6Ps1hk+MBHTFaIR1eI3u+OfGBvr5r0wPwo3FAJvldRinMgcB/TcCcOBXVORu7ba1XYjkubPeYcqAyA==", + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-11.3.10.tgz", + "integrity": "sha512-4kCuCwVcGagSrNg9vxMNVhynwpByuC/J5UnKGEet3HuqmoDhQW15m18fJXiehA8J+u9WBvHduefy9nZxO0C06Q==", "dependencies": { "appdirsjs": "^1.2.4", "chalk": "^4.1.2", @@ -5738,9 +5738,9 @@ } }, "node_modules/@react-native-community/cli-tools/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -5779,9 +5779,9 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/@react-native-community/cli-types": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-11.3.7.tgz", - "integrity": "sha512-OhSr/TiDQkXjL5YOs8+hvGSB+HltLn5ZI0+A3DCiMsjUgTTsYh+Z63OtyMpNjrdCEFcg0MpfdU2uxstCS6Dc5g==", + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-11.3.10.tgz", + "integrity": "sha512-0FHK/JE7bTn0x1y8Lk5m3RISDHIBQqWLltO2Mf7YQ6cAeKs8iNOJOeKaHJEY+ohjsOyCziw+XSC4cY57dQrwNA==", "dependencies": { "joi": "^17.2.1" } @@ -6005,9 +6005,9 @@ } }, "node_modules/@react-native-community/cli/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -6252,9 +6252,9 @@ } }, "node_modules/@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", "dependencies": { "@hapi/hoek": "^9.0.0" } @@ -8324,13 +8324,13 @@ } }, "node_modules/deprecated-react-native-prop-types": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-4.1.0.tgz", - "integrity": "sha512-WfepZHmRbbdTvhcolb8aOKEvQdcmTMn5tKLbqbXmkBvjFjRVWAYqsXk/DBsV8TZxws8SdGHLuHaJrHSQUPRdfw==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-4.2.3.tgz", + "integrity": "sha512-2rLTiMKidIFFYpIVM69UnQKngLqQfL6I11Ch8wGSBftS18FUXda+o2we2950X+1dmbgps28niI3qwyH4eX3Z1g==", "dependencies": { - "@react-native/normalize-colors": "*", - "invariant": "*", - "prop-types": "*" + "@react-native/normalize-colors": "<0.73.0", + "invariant": "^2.2.4", + "prop-types": "^15.8.1" } }, "node_modules/dequal": { @@ -8508,9 +8508,9 @@ } }, "node_modules/envinfo": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.0.tgz", - "integrity": "sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==", + "version": "7.11.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.1.tgz", + "integrity": "sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==", "bin": { "envinfo": "dist/cli.js" }, @@ -9559,9 +9559,9 @@ "dev": true }, "node_modules/fast-xml-parser": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.2.tgz", - "integrity": "sha512-rmrXUXwbJedoXkStenj1kkljNF7ugn5ZjR9FJcwmCfcCbtOMDghPajbc+Tck6vE6F5XsDmx+Pr2le9fw8+pXBg==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.4.tgz", + "integrity": "sha512-utnwm92SyozgA3hhH2I8qldf2lBqm6qHOICawRNRFu1qMe3+oqr+GcXjGqTmXTMGE5T4eC03kr/rlh5C1IRdZA==", "funding": [ { "type": "github", @@ -10423,9 +10423,9 @@ } }, "node_modules/image-size": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", - "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz", + "integrity": "sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==", "dependencies": { "queue": "6.0.2" }, @@ -10433,7 +10433,7 @@ "image-size": "bin/image-size.js" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.x" } }, "node_modules/import-fresh": { @@ -11681,13 +11681,13 @@ "integrity": "sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==" }, "node_modules/joi": { - "version": "17.11.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", - "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", + "version": "17.12.1", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.1.tgz", + "integrity": "sha512-vtxmq+Lsc5SlfqotnfVjlViWfOL9nt/avKNbKYizwf6gsCfq9NYY/ceYRMFD8XDdrjJ9abJyScWmhmIiy+XRtQ==", "dependencies": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", "@sideway/formula": "^3.0.1", "@sideway/pinpoint": "^2.0.0" } @@ -14576,24 +14576,25 @@ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, "node_modules/react-native": { - "version": "0.72.6", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.72.6.tgz", - "integrity": "sha512-RafPY2gM7mcrFySS8TL8x+TIO3q7oAlHpzEmC7Im6pmXni6n1AuufGaVh0Narbr1daxstw7yW7T9BKW5dpVc2A==", + "version": "0.72.10", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.72.10.tgz", + "integrity": "sha512-AjVA1+hCm2VMk3KE9Ve5IeDR3aneEhhQJmBAM9xP3i2WqqS3GksxCz8+JdB83bV6x9mBLv5qPMP71vCged3USw==", "dependencies": { "@jest/create-cache-key-function": "^29.2.1", - "@react-native-community/cli": "11.3.7", - "@react-native-community/cli-platform-android": "11.3.7", - "@react-native-community/cli-platform-ios": "11.3.7", + "@react-native-community/cli": "11.3.10", + "@react-native-community/cli-platform-android": "11.3.10", + "@react-native-community/cli-platform-ios": "11.3.10", "@react-native/assets-registry": "^0.72.0", - "@react-native/codegen": "^0.72.7", + "@react-native/codegen": "^0.72.8", "@react-native/gradle-plugin": "^0.72.11", "@react-native/js-polyfills": "^0.72.1", "@react-native/normalize-colors": "^0.72.0", "@react-native/virtualized-lists": "^0.72.8", "abort-controller": "^3.0.0", "anser": "^1.4.9", + "ansi-regex": "^5.0.0", "base64-js": "^1.1.2", - "deprecated-react-native-prop-types": "4.1.0", + "deprecated-react-native-prop-types": "^4.2.3", "event-target-shim": "^5.0.1", "flow-enums-runtime": "^0.0.5", "invariant": "^2.2.4", @@ -14645,18 +14646,18 @@ } }, "node_modules/react-native-safe-area-context": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.9.0.tgz", - "integrity": "sha512-/OJD9Pb8IURyvn+1tWTszWPJqsbZ4hyHBU9P0xhOmk7h5owSuqL0zkfagU0pg7Vh0G2NKQkaPpUKUMMCUMDh/w==", + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.6.3.tgz", + "integrity": "sha512-3CeZM9HFXkuqiU9HqhOQp1yxhXw6q99axPWrT+VJkITd67gnPSU03+U27Xk2/cr9XrLUnakM07kj7H0hdPnFiQ==", "peerDependencies": { "react": "*", "react-native": "*" } }, "node_modules/react-native-screens": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.29.0.tgz", - "integrity": "sha512-yB1GoAMamFAcYf4ku94uBPn0/ani9QG7NdI98beJ5cet2YFESYYzuEIuU+kt+CNRcO8qqKeugxlfgAa3HyTqlg==", + "version": "3.22.1", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.22.1.tgz", + "integrity": "sha512-ffzwUdVKf+iLqhWSzN5DXBm0s2w5sN0P+TaHHPAx42LT7+DT0g8PkHT1QDvxpR5vCEPSS1i3EswyVK4HCuhTYg==", "dependencies": { "react-freeze": "^1.0.0", "warn-once": "^0.1.0" @@ -14667,9 +14668,9 @@ } }, "node_modules/react-native-svg": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-14.1.0.tgz", - "integrity": "sha512-HeseElmEk+AXGwFZl3h56s0LtYD9HyGdrpg8yd9QM26X+d7kjETrRQ9vCjtxuT5dCZEIQ5uggU1dQhzasnsCWA==", + "version": "13.9.0", + "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-13.9.0.tgz", + "integrity": "sha512-Ey18POH0dA0ob/QiwCBVrxIiwflhYuw0P0hBlOHeY4J5cdbs8ngdKHeWC/Kt9+ryP6fNoEQ1PUgPYw2Bs/rp5Q==", "dependencies": { "css-select": "^5.1.0", "css-tree": "^1.1.3" @@ -15949,9 +15950,9 @@ } }, "node_modules/terser": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.26.0.tgz", - "integrity": "sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.0.tgz", + "integrity": "sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -19806,19 +19807,19 @@ "optional": true }, "@react-native-community/cli": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.7.tgz", - "integrity": "sha512-Ou8eDlF+yh2rzXeCTpMPYJ2fuqsusNOhmpYPYNQJQ2h6PvaF30kPomflgRILems+EBBuggRtcT+I+1YH4o/q6w==", - "requires": { - "@react-native-community/cli-clean": "11.3.7", - "@react-native-community/cli-config": "11.3.7", - "@react-native-community/cli-debugger-ui": "11.3.7", - "@react-native-community/cli-doctor": "11.3.7", - "@react-native-community/cli-hermes": "11.3.7", - "@react-native-community/cli-plugin-metro": "11.3.7", - "@react-native-community/cli-server-api": "11.3.7", - "@react-native-community/cli-tools": "11.3.7", - "@react-native-community/cli-types": "11.3.7", + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.10.tgz", + "integrity": "sha512-bIx0t5s9ewH1PlcEcuQUD+UnVrCjPGAfjhVR5Gew565X60nE+GTIHRn70nMv9G4he/amBF+Z+vf5t8SNZEWMwg==", + "requires": { + "@react-native-community/cli-clean": "11.3.10", + "@react-native-community/cli-config": "11.3.10", + "@react-native-community/cli-debugger-ui": "11.3.10", + "@react-native-community/cli-doctor": "11.3.10", + "@react-native-community/cli-hermes": "11.3.10", + "@react-native-community/cli-plugin-metro": "11.3.10", + "@react-native-community/cli-server-api": "11.3.10", + "@react-native-community/cli-tools": "11.3.10", + "@react-native-community/cli-types": "11.3.10", "chalk": "^4.1.2", "commander": "^9.4.1", "execa": "^5.0.0", @@ -19973,9 +19974,9 @@ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" }, "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "requires": { "lru-cache": "^6.0.0" } @@ -20017,11 +20018,11 @@ } }, "@react-native-community/cli-clean": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-11.3.7.tgz", - "integrity": "sha512-twtsv54ohcRyWVzPXL3F9VHGb4Qhn3slqqRs3wEuRzjR7cTmV2TIO2b1VhaqF4HlCgNd+cGuirvLtK2JJyaxMg==", + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-11.3.10.tgz", + "integrity": "sha512-g6QjW+DSqoWRHzmIQW3AH22k1AnynWuOdy2YPwYEGgPddTeXZtJphIpEVwDOiC0L4mZv2VmiX33/cGNUwO0cIA==", "requires": { - "@react-native-community/cli-tools": "11.3.7", + "@react-native-community/cli-tools": "11.3.10", "chalk": "^4.1.2", "execa": "^5.0.0", "prompts": "^2.4.0" @@ -20156,11 +20157,11 @@ } }, "@react-native-community/cli-config": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-11.3.7.tgz", - "integrity": "sha512-FDBLku9xskS+bx0YFJFLCmUJhEZ4/MMSC9qPYOGBollWYdgE7k/TWI0IeYFmMALAnbCdKQAYP5N29N55Tad8lg==", + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-11.3.10.tgz", + "integrity": "sha512-YYu14nm1JYLS6mDRBz78+zDdSFudLBFpPkhkOoj4LuBhNForQBIqFFHzQbd9/gcguJxfW3vlYSnudfaUI7oGLg==", "requires": { - "@react-native-community/cli-tools": "11.3.7", + "@react-native-community/cli-tools": "11.3.10", "chalk": "^4.1.2", "cosmiconfig": "^5.1.0", "deepmerge": "^4.3.0", @@ -20214,22 +20215,22 @@ } }, "@react-native-community/cli-debugger-ui": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.7.tgz", - "integrity": "sha512-aVmKuPKHZENR8SrflkMurZqeyLwbKieHdOvaZCh1Nn/0UC5CxWcyST2DB2XQboZwsvr3/WXKJkSUO+SZ1J9qTQ==", + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.10.tgz", + "integrity": "sha512-kyitGV3RsjlXIioq9lsuawha2GUBPCTAyXV6EBlm3qlyF3dMniB3twEvz+fIOid/e1ZeucH3Tzy5G3qcP8yWoA==", "requires": { "serve-static": "^1.13.1" } }, "@react-native-community/cli-doctor": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-11.3.7.tgz", - "integrity": "sha512-YEHUqWISOHnsl5+NM14KHelKh68Sr5/HeEZvvNdIcvcKtZic3FU7Xd1WcbNdo3gCq5JvzGFfufx02Tabh5zmrg==", - "requires": { - "@react-native-community/cli-config": "11.3.7", - "@react-native-community/cli-platform-android": "11.3.7", - "@react-native-community/cli-platform-ios": "11.3.7", - "@react-native-community/cli-tools": "11.3.7", + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-11.3.10.tgz", + "integrity": "sha512-DpMsfCWKZ15L9nFK/SyDvpl5v6MjV+arMHMC1i8kR+DOmf2xWmp/pgMywKk0/u50yGB9GwxBHt3i/S/IMK5Ylg==", + "requires": { + "@react-native-community/cli-config": "11.3.10", + "@react-native-community/cli-platform-android": "11.3.10", + "@react-native-community/cli-platform-ios": "11.3.10", + "@react-native-community/cli-tools": "11.3.10", "chalk": "^4.1.2", "command-exists": "^1.2.8", "envinfo": "^7.7.2", @@ -20404,9 +20405,9 @@ } }, "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "requires": { "lru-cache": "^6.0.0" } @@ -20453,12 +20454,12 @@ } }, "@react-native-community/cli-hermes": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-11.3.7.tgz", - "integrity": "sha512-chkKd8n/xeZkinRvtH6QcYA8rjNOKU3S3Lw/3Psxgx+hAYV0Gyk95qJHTalx7iu+PwjOOqqvCkJo5jCkYLkoqw==", + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-11.3.10.tgz", + "integrity": "sha512-vqINuzAlcHS9ImNwJtT43N7kfBQ7ro9A8O1Gpc5TQ0A8V36yGG8eoCHeauayklVVgMZpZL6f6mcoLLr9IOgBZQ==", "requires": { - "@react-native-community/cli-platform-android": "11.3.7", - "@react-native-community/cli-tools": "11.3.7", + "@react-native-community/cli-platform-android": "11.3.10", + "@react-native-community/cli-tools": "11.3.10", "chalk": "^4.1.2", "hermes-profile-transformer": "^0.0.6", "ip": "^1.1.5" @@ -20510,11 +20511,11 @@ } }, "@react-native-community/cli-platform-android": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.7.tgz", - "integrity": "sha512-WGtXI/Rm178UQb8bu1TAeFC/RJvYGnbHpULXvE20GkmeJ1HIrMjkagyk6kkY3Ej25JAP2R878gv+TJ/XiRhaEg==", + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.10.tgz", + "integrity": "sha512-RGu9KuDIXnrcNkacSHj5ETTQtp/D/835L6veE2jMigO21p//gnKAjw3AVLCysGr8YXYfThF8OSOALrwNc94puQ==", "requires": { - "@react-native-community/cli-tools": "11.3.7", + "@react-native-community/cli-tools": "11.3.10", "chalk": "^4.1.2", "execa": "^5.0.0", "glob": "^7.1.3", @@ -20650,11 +20651,11 @@ } }, "@react-native-community/cli-platform-ios": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.7.tgz", - "integrity": "sha512-Z/8rseBput49EldX7MogvN6zJlWzZ/4M97s2P+zjS09ZoBU7I0eOKLi0N9wx+95FNBvGQQ/0P62bB9UaFQH2jw==", + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.10.tgz", + "integrity": "sha512-JjduMrBM567/j4Hvjsff77dGSLMA0+p9rr0nShlgnKPcc+0J4TDy0hgWpUceM7OG00AdDjpetAPupz0kkAh4cQ==", "requires": { - "@react-native-community/cli-tools": "11.3.7", + "@react-native-community/cli-tools": "11.3.10", "chalk": "^4.1.2", "execa": "^5.0.0", "fast-xml-parser": "^4.0.12", @@ -20841,12 +20842,12 @@ } }, "@react-native-community/cli-plugin-metro": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.3.7.tgz", - "integrity": "sha512-0WhgoBVGF1f9jXcuagQmtxpwpfP+2LbLZH4qMyo6OtYLWLG13n2uRep+8tdGzfNzl1bIuUTeE9yZSAdnf9LfYQ==", + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.3.10.tgz", + "integrity": "sha512-ZYAc5Hc+QVqJgj1XFbpKnIPbSJ9xKcBnfQrRhR+jFyt2DWx85u4bbzY1GSVc/USs0UbSUXv4dqPbnmOJz52EYQ==", "requires": { - "@react-native-community/cli-server-api": "11.3.7", - "@react-native-community/cli-tools": "11.3.7", + "@react-native-community/cli-server-api": "11.3.10", + "@react-native-community/cli-tools": "11.3.10", "chalk": "^4.1.2", "execa": "^5.0.0", "metro": "0.76.8", @@ -20987,12 +20988,12 @@ } }, "@react-native-community/cli-server-api": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-11.3.7.tgz", - "integrity": "sha512-yoFyGdvR3HxCnU6i9vFqKmmSqFzCbnFSnJ29a+5dppgPRetN+d//O8ard/YHqHzToFnXutAFf2neONn23qcJAg==", + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-11.3.10.tgz", + "integrity": "sha512-WEwHWIpqx3gA6Da+lrmq8+z78E1XbxxjBlvHAXevhjJj42N4SO417eZiiUVrFzEFVVJSUee9n9aRa0kUR+0/2w==", "requires": { - "@react-native-community/cli-debugger-ui": "11.3.7", - "@react-native-community/cli-tools": "11.3.7", + "@react-native-community/cli-debugger-ui": "11.3.10", + "@react-native-community/cli-tools": "11.3.10", "compression": "^1.7.1", "connect": "^3.6.5", "errorhandler": "^1.5.1", @@ -21011,9 +21012,9 @@ } }, "@react-native-community/cli-tools": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-11.3.7.tgz", - "integrity": "sha512-peyhP4TV6Ps1hk+MBHTFaIR1eI3u+OfGBvr5r0wPwo3FAJvldRinMgcB/TcCcOBXVORu7ba1XYjkubPeYcqAyA==", + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-11.3.10.tgz", + "integrity": "sha512-4kCuCwVcGagSrNg9vxMNVhynwpByuC/J5UnKGEet3HuqmoDhQW15m18fJXiehA8J+u9WBvHduefy9nZxO0C06Q==", "requires": { "appdirsjs": "^1.2.4", "chalk": "^4.1.2", @@ -21138,9 +21139,9 @@ } }, "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "requires": { "lru-cache": "^6.0.0" } @@ -21169,9 +21170,9 @@ } }, "@react-native-community/cli-types": { - "version": "11.3.7", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-11.3.7.tgz", - "integrity": "sha512-OhSr/TiDQkXjL5YOs8+hvGSB+HltLn5ZI0+A3DCiMsjUgTTsYh+Z63OtyMpNjrdCEFcg0MpfdU2uxstCS6Dc5g==", + "version": "11.3.10", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-11.3.10.tgz", + "integrity": "sha512-0FHK/JE7bTn0x1y8Lk5m3RISDHIBQqWLltO2Mf7YQ6cAeKs8iNOJOeKaHJEY+ohjsOyCziw+XSC4cY57dQrwNA==", "requires": { "joi": "^17.2.1" } @@ -21316,9 +21317,9 @@ } }, "@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", "requires": { "@hapi/hoek": "^9.0.0" } @@ -22883,13 +22884,13 @@ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" }, "deprecated-react-native-prop-types": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-4.1.0.tgz", - "integrity": "sha512-WfepZHmRbbdTvhcolb8aOKEvQdcmTMn5tKLbqbXmkBvjFjRVWAYqsXk/DBsV8TZxws8SdGHLuHaJrHSQUPRdfw==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-4.2.3.tgz", + "integrity": "sha512-2rLTiMKidIFFYpIVM69UnQKngLqQfL6I11Ch8wGSBftS18FUXda+o2we2950X+1dmbgps28niI3qwyH4eX3Z1g==", "requires": { - "@react-native/normalize-colors": "*", - "invariant": "*", - "prop-types": "*" + "@react-native/normalize-colors": "<0.73.0", + "invariant": "^2.2.4", + "prop-types": "^15.8.1" } }, "dequal": { @@ -23012,9 +23013,9 @@ "integrity": "sha512-ObFo8v4rQJAE59M69QzwloxPZtd33TpYEIjtKD1rrFDcM1Gd7IkDxEBU+HriziN6HSHQnBJi8Dmy+JWkav5HKA==" }, "envinfo": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.0.tgz", - "integrity": "sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==" + "version": "7.11.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.1.tgz", + "integrity": "sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==" }, "eol": { "version": "0.9.1", @@ -23827,9 +23828,9 @@ "dev": true }, "fast-xml-parser": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.2.tgz", - "integrity": "sha512-rmrXUXwbJedoXkStenj1kkljNF7ugn5ZjR9FJcwmCfcCbtOMDghPajbc+Tck6vE6F5XsDmx+Pr2le9fw8+pXBg==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.4.tgz", + "integrity": "sha512-utnwm92SyozgA3hhH2I8qldf2lBqm6qHOICawRNRFu1qMe3+oqr+GcXjGqTmXTMGE5T4eC03kr/rlh5C1IRdZA==", "requires": { "strnum": "^1.0.5" } @@ -24447,9 +24448,9 @@ "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==" }, "image-size": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", - "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz", + "integrity": "sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==", "requires": { "queue": "6.0.2" } @@ -25357,13 +25358,13 @@ "integrity": "sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==" }, "joi": { - "version": "17.11.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", - "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", + "version": "17.12.1", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.1.tgz", + "integrity": "sha512-vtxmq+Lsc5SlfqotnfVjlViWfOL9nt/avKNbKYizwf6gsCfq9NYY/ceYRMFD8XDdrjJ9abJyScWmhmIiy+XRtQ==", "requires": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", "@sideway/formula": "^3.0.1", "@sideway/pinpoint": "^2.0.0" } @@ -27442,24 +27443,25 @@ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, "react-native": { - "version": "0.72.6", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.72.6.tgz", - "integrity": "sha512-RafPY2gM7mcrFySS8TL8x+TIO3q7oAlHpzEmC7Im6pmXni6n1AuufGaVh0Narbr1daxstw7yW7T9BKW5dpVc2A==", + "version": "0.72.10", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.72.10.tgz", + "integrity": "sha512-AjVA1+hCm2VMk3KE9Ve5IeDR3aneEhhQJmBAM9xP3i2WqqS3GksxCz8+JdB83bV6x9mBLv5qPMP71vCged3USw==", "requires": { "@jest/create-cache-key-function": "^29.2.1", - "@react-native-community/cli": "11.3.7", - "@react-native-community/cli-platform-android": "11.3.7", - "@react-native-community/cli-platform-ios": "11.3.7", + "@react-native-community/cli": "11.3.10", + "@react-native-community/cli-platform-android": "11.3.10", + "@react-native-community/cli-platform-ios": "11.3.10", "@react-native/assets-registry": "^0.72.0", - "@react-native/codegen": "^0.72.7", + "@react-native/codegen": "^0.72.8", "@react-native/gradle-plugin": "^0.72.11", "@react-native/js-polyfills": "^0.72.1", "@react-native/normalize-colors": "^0.72.0", "@react-native/virtualized-lists": "^0.72.8", "abort-controller": "^3.0.0", "anser": "^1.4.9", + "ansi-regex": "^5.0.0", "base64-js": "^1.1.2", - "deprecated-react-native-prop-types": "4.1.0", + "deprecated-react-native-prop-types": "^4.2.3", "event-target-shim": "^5.0.1", "flow-enums-runtime": "^0.0.5", "invariant": "^2.2.4", @@ -27521,24 +27523,24 @@ } }, "react-native-safe-area-context": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.9.0.tgz", - "integrity": "sha512-/OJD9Pb8IURyvn+1tWTszWPJqsbZ4hyHBU9P0xhOmk7h5owSuqL0zkfagU0pg7Vh0G2NKQkaPpUKUMMCUMDh/w==", + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.6.3.tgz", + "integrity": "sha512-3CeZM9HFXkuqiU9HqhOQp1yxhXw6q99axPWrT+VJkITd67gnPSU03+U27Xk2/cr9XrLUnakM07kj7H0hdPnFiQ==", "requires": {} }, "react-native-screens": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.29.0.tgz", - "integrity": "sha512-yB1GoAMamFAcYf4ku94uBPn0/ani9QG7NdI98beJ5cet2YFESYYzuEIuU+kt+CNRcO8qqKeugxlfgAa3HyTqlg==", + "version": "3.22.1", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.22.1.tgz", + "integrity": "sha512-ffzwUdVKf+iLqhWSzN5DXBm0s2w5sN0P+TaHHPAx42LT7+DT0g8PkHT1QDvxpR5vCEPSS1i3EswyVK4HCuhTYg==", "requires": { "react-freeze": "^1.0.0", "warn-once": "^0.1.0" } }, "react-native-svg": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-14.1.0.tgz", - "integrity": "sha512-HeseElmEk+AXGwFZl3h56s0LtYD9HyGdrpg8yd9QM26X+d7kjETrRQ9vCjtxuT5dCZEIQ5uggU1dQhzasnsCWA==", + "version": "13.9.0", + "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-13.9.0.tgz", + "integrity": "sha512-Ey18POH0dA0ob/QiwCBVrxIiwflhYuw0P0hBlOHeY4J5cdbs8ngdKHeWC/Kt9+ryP6fNoEQ1PUgPYw2Bs/rp5Q==", "requires": { "css-select": "^5.1.0", "css-tree": "^1.1.3" @@ -28497,9 +28499,9 @@ } }, "terser": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.26.0.tgz", - "integrity": "sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.0.tgz", + "integrity": "sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==", "requires": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", diff --git a/dfm-sideline-sidekick-app/package.json b/dfm-sideline-sidekick-app/package.json index 68a70b1..1b07aaa 100644 --- a/dfm-sideline-sidekick-app/package.json +++ b/dfm-sideline-sidekick-app/package.json @@ -23,10 +23,10 @@ "expo": "~49.0.15", "expo-status-bar": "~1.6.0", "react": "18.2.0", - "react-native": "0.72.6", - "react-native-safe-area-context": "^4.9.0", - "react-native-screens": "^3.29.0", - "react-native-svg": "^14.1.0", + "react-native": "0.72.10", + "react-native-safe-area-context": "4.6.3", + "react-native-screens": "~3.22.0", + "react-native-svg": "13.9.0", "typescript": "^5.1.3" }, "devDependencies": { From 740b4b775076d09dda27844fe69cd09460fa9d70 Mon Sep 17 00:00:00 2001 From: Rohan Sachdeva Date: Wed, 14 Feb 2024 21:34:33 -0800 Subject: [PATCH 5/9] More annoying lint issue fixes --- .../icons/bookmarkIcon.tsx | 9 ++++-- .../icons/circleIcon.tsx | 9 ++++-- .../icons/generalPrinciplesIcon.tsx | 29 +++++++++++-------- 3 files changed, 29 insertions(+), 18 deletions(-) diff --git a/dfm-sideline-sidekick-app/icons/bookmarkIcon.tsx b/dfm-sideline-sidekick-app/icons/bookmarkIcon.tsx index 2d0f4cb..622e178 100644 --- a/dfm-sideline-sidekick-app/icons/bookmarkIcon.tsx +++ b/dfm-sideline-sidekick-app/icons/bookmarkIcon.tsx @@ -1,9 +1,8 @@ -/* eslint-disable @typescript-eslint/no-unsafe-assignment */ +import PropTypes from "prop-types"; // eslint-disable-next-line import/namespace import { View } from "react-native"; import { Path, Svg } from "react-native-svg"; -// eslint-disable-next-line react/prop-types export const BookmarkIcon = ({ fillColor }) => { return ( @@ -11,9 +10,13 @@ export const BookmarkIcon = ({ fillColor }) => { ); }; + +BookmarkIcon.propTypes = { + fillColor: PropTypes.string.isRequired, +}; diff --git a/dfm-sideline-sidekick-app/icons/circleIcon.tsx b/dfm-sideline-sidekick-app/icons/circleIcon.tsx index 838a971..79984ba 100644 --- a/dfm-sideline-sidekick-app/icons/circleIcon.tsx +++ b/dfm-sideline-sidekick-app/icons/circleIcon.tsx @@ -1,4 +1,4 @@ -/* eslint-disable @typescript-eslint/no-unsafe-assignment */ +import PropTypes from "prop-types"; // eslint-disable-next-line import/namespace import { StyleSheet, View } from "react-native"; import { Circle, G, Svg } from "react-native-svg"; @@ -11,7 +11,6 @@ const styles = StyleSheet.create({ }, }); -// eslint-disable-next-line react/prop-types export const CircleIcon = ({ fillColor }) => { const circleRadius = 44.6533; const circleCenterX = 45; @@ -20,7 +19,7 @@ export const CircleIcon = ({ fillColor }) => { return ( - + @@ -29,3 +28,7 @@ export const CircleIcon = ({ fillColor }) => { ); }; + +CircleIcon.propTypes = { + fillColor: PropTypes.string.isRequired, +}; diff --git a/dfm-sideline-sidekick-app/icons/generalPrinciplesIcon.tsx b/dfm-sideline-sidekick-app/icons/generalPrinciplesIcon.tsx index 867b624..af302b4 100644 --- a/dfm-sideline-sidekick-app/icons/generalPrinciplesIcon.tsx +++ b/dfm-sideline-sidekick-app/icons/generalPrinciplesIcon.tsx @@ -1,20 +1,25 @@ -import { View } from 'react-native'; -import { Svg, Path, G } from 'react-native-svg'; +import PropTypes from "prop-types"; +// eslint-disable-next-line import/namespace +import { View } from "react-native"; +import { G, Path, Svg } from "react-native-svg"; -export const GeneralPrinciplesIcon = ({fillColor}) => { +export const GeneralPrinciplesIcon = ({ fillColor }) => { return ( - - - - + + + - - + stroke={fillColor as string} + strokeWidth="3" + /> + + ); }; - +GeneralPrinciplesIcon.propTypes = { + fillColor: PropTypes.string.isRequired, +}; From b425661250d763e0effc91a41a88948413de06ac Mon Sep 17 00:00:00 2001 From: Rohan Sachdeva Date: Wed, 14 Feb 2024 21:43:25 -0800 Subject: [PATCH 6/9] Fixed even more annoying linter issues --- dfm-sideline-sidekick-app/App.tsx | 2 +- dfm-sideline-sidekick-app/components/bar.tsx | 1 - dfm-sideline-sidekick-app/icons/bookmarkIcon.tsx | 1 - dfm-sideline-sidekick-app/icons/circleIcon.tsx | 1 - .../icons/generalPrinciplesIcon.tsx | 1 - dfm-sideline-sidekick-app/icons/searchIcon.tsx | 8 +++----- dfm-sideline-sidekick-app/pages/BookmarkPage.tsx | 4 ++-- dfm-sideline-sidekick-app/pages/HomePage.tsx | 16 ++++++++-------- dfm-sideline-sidekick-app/pages/SearchPage.tsx | 4 ++-- dfm-sideline-sidekick-app/pages/TabPage.tsx | 4 ++-- 10 files changed, 18 insertions(+), 24 deletions(-) diff --git a/dfm-sideline-sidekick-app/App.tsx b/dfm-sideline-sidekick-app/App.tsx index 79f2675..a8d933e 100644 --- a/dfm-sideline-sidekick-app/App.tsx +++ b/dfm-sideline-sidekick-app/App.tsx @@ -4,11 +4,11 @@ import { StackNavigationProp } from "@react-navigation/stack"; import { StatusBar } from "expo-status-bar"; // eslint-disable-next-line @typescript-eslint/no-unused-vars import React from "react"; -// eslint-disable-next-line import/namespace import { StyleSheet } from "react-native"; import { BottomNavBar, NavItem } from "./components/bar"; import BookmarkPage from "./pages/BookmarkPage"; +// eslint-disable-next-line import/no-named-as-default import HomePage from "./pages/HomePage"; import SearchPage from "./pages/SearchPage"; import TabPage from "./pages/TabPage"; diff --git a/dfm-sideline-sidekick-app/components/bar.tsx b/dfm-sideline-sidekick-app/components/bar.tsx index b74ae65..a5f799c 100644 --- a/dfm-sideline-sidekick-app/components/bar.tsx +++ b/dfm-sideline-sidekick-app/components/bar.tsx @@ -1,5 +1,4 @@ import React, { useState } from "react"; -// eslint-disable-next-line import/namespace import { StyleSheet, TouchableOpacity, View } from "react-native"; import { BookmarkIcon } from "../icons/bookmarkIcon"; diff --git a/dfm-sideline-sidekick-app/icons/bookmarkIcon.tsx b/dfm-sideline-sidekick-app/icons/bookmarkIcon.tsx index 622e178..a75d707 100644 --- a/dfm-sideline-sidekick-app/icons/bookmarkIcon.tsx +++ b/dfm-sideline-sidekick-app/icons/bookmarkIcon.tsx @@ -1,5 +1,4 @@ import PropTypes from "prop-types"; -// eslint-disable-next-line import/namespace import { View } from "react-native"; import { Path, Svg } from "react-native-svg"; diff --git a/dfm-sideline-sidekick-app/icons/circleIcon.tsx b/dfm-sideline-sidekick-app/icons/circleIcon.tsx index 79984ba..e793df6 100644 --- a/dfm-sideline-sidekick-app/icons/circleIcon.tsx +++ b/dfm-sideline-sidekick-app/icons/circleIcon.tsx @@ -1,5 +1,4 @@ import PropTypes from "prop-types"; -// eslint-disable-next-line import/namespace import { StyleSheet, View } from "react-native"; import { Circle, G, Svg } from "react-native-svg"; diff --git a/dfm-sideline-sidekick-app/icons/generalPrinciplesIcon.tsx b/dfm-sideline-sidekick-app/icons/generalPrinciplesIcon.tsx index af302b4..6bfdb8b 100644 --- a/dfm-sideline-sidekick-app/icons/generalPrinciplesIcon.tsx +++ b/dfm-sideline-sidekick-app/icons/generalPrinciplesIcon.tsx @@ -1,5 +1,4 @@ import PropTypes from "prop-types"; -// eslint-disable-next-line import/namespace import { View } from "react-native"; import { G, Path, Svg } from "react-native-svg"; diff --git a/dfm-sideline-sidekick-app/icons/searchIcon.tsx b/dfm-sideline-sidekick-app/icons/searchIcon.tsx index 7f1aa3d..cdd99d0 100644 --- a/dfm-sideline-sidekick-app/icons/searchIcon.tsx +++ b/dfm-sideline-sidekick-app/icons/searchIcon.tsx @@ -1,9 +1,9 @@ -import { View } from 'react-native'; -import { Svg, Path } from 'react-native-svg'; +import { View } from "react-native"; +import { Path, Svg } from "react-native-svg"; export const SearchIcon = () => { return ( - + { ); }; - - diff --git a/dfm-sideline-sidekick-app/pages/BookmarkPage.tsx b/dfm-sideline-sidekick-app/pages/BookmarkPage.tsx index 1e59eb4..0c5b1fe 100644 --- a/dfm-sideline-sidekick-app/pages/BookmarkPage.tsx +++ b/dfm-sideline-sidekick-app/pages/BookmarkPage.tsx @@ -1,8 +1,8 @@ -import { View, Text } from 'react-native'; +import { Text, View } from "react-native"; const BookmarkPage = () => { return ( - + Bookmark Dummy Page ); diff --git a/dfm-sideline-sidekick-app/pages/HomePage.tsx b/dfm-sideline-sidekick-app/pages/HomePage.tsx index e2fa10e..18cb76b 100644 --- a/dfm-sideline-sidekick-app/pages/HomePage.tsx +++ b/dfm-sideline-sidekick-app/pages/HomePage.tsx @@ -1,11 +1,11 @@ -import { View, Text } from 'react-native'; +import { Text, View } from "react-native"; export const HomePage = () => { - return ( - - Home Dummy Page - - ); -} + return ( + + Home Dummy Page + + ); +}; -export default HomePage; \ No newline at end of file +export default HomePage; diff --git a/dfm-sideline-sidekick-app/pages/SearchPage.tsx b/dfm-sideline-sidekick-app/pages/SearchPage.tsx index 8e47c8f..e20c380 100644 --- a/dfm-sideline-sidekick-app/pages/SearchPage.tsx +++ b/dfm-sideline-sidekick-app/pages/SearchPage.tsx @@ -1,8 +1,8 @@ -import { View, Text } from 'react-native'; +import { Text, View } from "react-native"; const SearchPage = () => { return ( - + Search Dummy Page ); diff --git a/dfm-sideline-sidekick-app/pages/TabPage.tsx b/dfm-sideline-sidekick-app/pages/TabPage.tsx index 561d1a3..0cd47a4 100644 --- a/dfm-sideline-sidekick-app/pages/TabPage.tsx +++ b/dfm-sideline-sidekick-app/pages/TabPage.tsx @@ -1,8 +1,8 @@ -import { View, Text } from 'react-native'; +import { Text, View } from "react-native"; const TabPage = () => { return ( - + Search Dummy Page ); From 3a72238a45a1cc2e648d8519d6cbb55248ee2c49 Mon Sep 17 00:00:00 2001 From: pratyush1718 Date: Fri, 16 Feb 2024 14:54:33 -0800 Subject: [PATCH 7/9] recommended changes --- dfm-sideline-sidekick-app/App.tsx | 5 +---- dfm-sideline-sidekick-app/components/bar.tsx | 20 +++---------------- .../components/barStyles.tsx | 18 +++++++++++++++++ .../icons/circleIcon.tsx | 8 +------- dfm-sideline-sidekick-app/pages/HomePage.tsx | 11 ---------- dfm-sideline-sidekick-app/pages/TabPage.tsx | 2 +- 6 files changed, 24 insertions(+), 40 deletions(-) create mode 100644 dfm-sideline-sidekick-app/components/barStyles.tsx delete mode 100644 dfm-sideline-sidekick-app/pages/HomePage.tsx diff --git a/dfm-sideline-sidekick-app/App.tsx b/dfm-sideline-sidekick-app/App.tsx index a8d933e..4a164cd 100644 --- a/dfm-sideline-sidekick-app/App.tsx +++ b/dfm-sideline-sidekick-app/App.tsx @@ -9,12 +9,10 @@ import { StyleSheet } from "react-native"; import { BottomNavBar, NavItem } from "./components/bar"; import BookmarkPage from "./pages/BookmarkPage"; // eslint-disable-next-line import/no-named-as-default -import HomePage from "./pages/HomePage"; import SearchPage from "./pages/SearchPage"; import TabPage from "./pages/TabPage"; type RootStackParamList = { - Home: undefined; Bookmark: undefined; Search: undefined; Tab: undefined; @@ -56,8 +54,7 @@ const BottomNavBarComponent = () => { export default function App() { return ( - - + diff --git a/dfm-sideline-sidekick-app/components/bar.tsx b/dfm-sideline-sidekick-app/components/bar.tsx index a5f799c..41666f6 100644 --- a/dfm-sideline-sidekick-app/components/bar.tsx +++ b/dfm-sideline-sidekick-app/components/bar.tsx @@ -1,9 +1,10 @@ import React, { useState } from "react"; -import { StyleSheet, TouchableOpacity, View } from "react-native"; +import { TouchableOpacity, View } from "react-native"; import { BookmarkIcon } from "../icons/bookmarkIcon"; import { CircleIcon } from "../icons/circleIcon"; import { GeneralPrinciplesIcon } from "../icons/generalPrinciplesIcon"; +import styles from "./barStyles"; export type NavItem = { id: number; @@ -12,28 +13,13 @@ export type NavItem = { }; export const BottomNavBar: React.FC<{ items: NavItem[] }> = ({ items }) => { - const [selectedItemId, setSelectedItemId] = useState(null); + const [selectedItemId, setSelectedItemId] = useState(2); const handleItemClick = (itemId: number) => { setSelectedItemId(itemId); items.find((item) => item.id === itemId)?.onClick(); }; - const styles = StyleSheet.create({ - bottomBar: { - flexDirection: "row", - justifyContent: "space-around", - alignItems: "center", - backgroundColor: "#f0f0f0", - padding: 8, - position: "absolute", - bottom: 0, - left: 0, - right: 0, - height: 79, - }, - }); - return ( {items.map((item) => ( diff --git a/dfm-sideline-sidekick-app/components/barStyles.tsx b/dfm-sideline-sidekick-app/components/barStyles.tsx new file mode 100644 index 0000000..038a3ba --- /dev/null +++ b/dfm-sideline-sidekick-app/components/barStyles.tsx @@ -0,0 +1,18 @@ +import { StyleSheet } from "react-native"; + +const styles = StyleSheet.create({ + bottomBar: { + flexDirection: "row", + justifyContent: "space-around", + alignItems: "center", + backgroundColor: "#f0f0f0", + padding: 8, + position: "absolute", + bottom: 0, + left: 0, + right: 0, + height: 79, + }, + }); + + export default styles; \ No newline at end of file diff --git a/dfm-sideline-sidekick-app/icons/circleIcon.tsx b/dfm-sideline-sidekick-app/icons/circleIcon.tsx index e793df6..56d394c 100644 --- a/dfm-sideline-sidekick-app/icons/circleIcon.tsx +++ b/dfm-sideline-sidekick-app/icons/circleIcon.tsx @@ -4,19 +4,13 @@ import { Circle, G, Svg } from "react-native-svg"; import { SearchIcon } from "../icons/searchIcon"; -const styles = StyleSheet.create({ - container: { - alignItems: "center", - }, -}); - export const CircleIcon = ({ fillColor }) => { const circleRadius = 44.6533; const circleCenterX = 45; const circleCenterY = 45.4382; return ( - + diff --git a/dfm-sideline-sidekick-app/pages/HomePage.tsx b/dfm-sideline-sidekick-app/pages/HomePage.tsx deleted file mode 100644 index 18cb76b..0000000 --- a/dfm-sideline-sidekick-app/pages/HomePage.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import { Text, View } from "react-native"; - -export const HomePage = () => { - return ( - - Home Dummy Page - - ); -}; - -export default HomePage; diff --git a/dfm-sideline-sidekick-app/pages/TabPage.tsx b/dfm-sideline-sidekick-app/pages/TabPage.tsx index 0cd47a4..79fa649 100644 --- a/dfm-sideline-sidekick-app/pages/TabPage.tsx +++ b/dfm-sideline-sidekick-app/pages/TabPage.tsx @@ -3,7 +3,7 @@ import { Text, View } from "react-native"; const TabPage = () => { return ( - Search Dummy Page + Tab Dummy Page ); }; From 0a7c1429c6f941c7bd47f25f16f04cc35bad256d Mon Sep 17 00:00:00 2001 From: pratyush1718 Date: Fri, 16 Feb 2024 14:59:24 -0800 Subject: [PATCH 8/9] lint fixing --- dfm-sideline-sidekick-app/App.tsx | 1 - dfm-sideline-sidekick-app/components/bar.tsx | 1 + dfm-sideline-sidekick-app/icons/circleIcon.tsx | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dfm-sideline-sidekick-app/App.tsx b/dfm-sideline-sidekick-app/App.tsx index 4a164cd..3d6f0d0 100644 --- a/dfm-sideline-sidekick-app/App.tsx +++ b/dfm-sideline-sidekick-app/App.tsx @@ -8,7 +8,6 @@ import { StyleSheet } from "react-native"; import { BottomNavBar, NavItem } from "./components/bar"; import BookmarkPage from "./pages/BookmarkPage"; -// eslint-disable-next-line import/no-named-as-default import SearchPage from "./pages/SearchPage"; import TabPage from "./pages/TabPage"; diff --git a/dfm-sideline-sidekick-app/components/bar.tsx b/dfm-sideline-sidekick-app/components/bar.tsx index 41666f6..7040dc8 100644 --- a/dfm-sideline-sidekick-app/components/bar.tsx +++ b/dfm-sideline-sidekick-app/components/bar.tsx @@ -4,6 +4,7 @@ import { TouchableOpacity, View } from "react-native"; import { BookmarkIcon } from "../icons/bookmarkIcon"; import { CircleIcon } from "../icons/circleIcon"; import { GeneralPrinciplesIcon } from "../icons/generalPrinciplesIcon"; + import styles from "./barStyles"; export type NavItem = { diff --git a/dfm-sideline-sidekick-app/icons/circleIcon.tsx b/dfm-sideline-sidekick-app/icons/circleIcon.tsx index 56d394c..83f9f4d 100644 --- a/dfm-sideline-sidekick-app/icons/circleIcon.tsx +++ b/dfm-sideline-sidekick-app/icons/circleIcon.tsx @@ -1,5 +1,5 @@ import PropTypes from "prop-types"; -import { StyleSheet, View } from "react-native"; +import { View } from "react-native"; import { Circle, G, Svg } from "react-native-svg"; import { SearchIcon } from "../icons/searchIcon"; From 58694b4eb411305844b7fa5a24ef1afe9dd83528 Mon Sep 17 00:00:00 2001 From: pratyush1718 Date: Fri, 16 Feb 2024 15:03:56 -0800 Subject: [PATCH 9/9] lint fixing --- .../components/barStyles.tsx | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/dfm-sideline-sidekick-app/components/barStyles.tsx b/dfm-sideline-sidekick-app/components/barStyles.tsx index 038a3ba..4cb63f1 100644 --- a/dfm-sideline-sidekick-app/components/barStyles.tsx +++ b/dfm-sideline-sidekick-app/components/barStyles.tsx @@ -1,18 +1,18 @@ import { StyleSheet } from "react-native"; const styles = StyleSheet.create({ - bottomBar: { - flexDirection: "row", - justifyContent: "space-around", - alignItems: "center", - backgroundColor: "#f0f0f0", - padding: 8, - position: "absolute", - bottom: 0, - left: 0, - right: 0, - height: 79, - }, - }); + bottomBar: { + flexDirection: "row", + justifyContent: "space-around", + alignItems: "center", + backgroundColor: "#f0f0f0", + padding: 8, + position: "absolute", + bottom: 0, + left: 0, + right: 0, + height: 79, + }, +}); - export default styles; \ No newline at end of file +export default styles;