From 928852266057b5efbc271bf97346dcf2d5b1c5f8 Mon Sep 17 00:00:00 2001 From: Evan-Stegall Date: Sat, 28 Oct 2023 13:48:40 -0500 Subject: [PATCH 01/25] added basic components. Waiting on event list and activity card components --- app/App.tsx | 7 +++++-- app/components/ProfilePage.tsx | 26 ++++++++++++++++++++++++++ app/components/WelcomePage.tsx | 34 ++++++++++++++++++++++++++++++++++ app/components/welcome.tsx | 20 -------------------- app/package-lock.json | 11 +++++++++++ app/package.json | 1 + 6 files changed, 77 insertions(+), 22 deletions(-) create mode 100644 app/components/ProfilePage.tsx create mode 100644 app/components/WelcomePage.tsx delete mode 100644 app/components/welcome.tsx diff --git a/app/App.tsx b/app/App.tsx index 498ca44..ccdb2c5 100644 --- a/app/App.tsx +++ b/app/App.tsx @@ -1,12 +1,15 @@ import { StatusBar } from 'expo-status-bar'; import { StyleSheet, Text, View } from 'react-native'; +import ProfilePage from './components/ProfilePage'; -import WelcomePage from './components/welcome'; +/* Hard coding default values, these will be retrieved from DB later */ +const profile_name: string = "Evan Stegall" +const image_uri: string = "https://as1.ftcdn.net/v2/jpg/01/15/81/62/1000_F_115816289_debDt9gwn937E0AxKBP9D1zlYFsvCV9g.jpg" export default function App() { return ( - + ); } diff --git a/app/components/ProfilePage.tsx b/app/components/ProfilePage.tsx new file mode 100644 index 0000000..28bcb75 --- /dev/null +++ b/app/components/ProfilePage.tsx @@ -0,0 +1,26 @@ +import react from 'react'; +import {Text, View} from 'react-native'; +import WelcomePage from './WelcomePage'; + +type props = { + profile: string, + image: string, +} + +function ProfilePage(props: props) { + return ( + + + + {/*Put Activity Card Here*/} + Imagine we have an activity card here + + + {/*Put Event List Component here*/} + Imagine we have an event list here + + + ) +} + +export default ProfilePage; \ No newline at end of file diff --git a/app/components/WelcomePage.tsx b/app/components/WelcomePage.tsx new file mode 100644 index 0000000..74c1668 --- /dev/null +++ b/app/components/WelcomePage.tsx @@ -0,0 +1,34 @@ +import react from 'react'; +import { StyleSheet, Text, View, Image} from 'react-native'; + +type props = { + profile: string, + image: string, +} + +/* Temporary CSS style sheet to align basic components */ +const styles = StyleSheet.create({ + row: { + flexDirection: 'row', + gap: 20 + }, + logo: { + width: 66, + height: 58, + } + }); + + +function WelcomePage(props: props) { + return ( + + + Welcome {props.profile}! + + + + ) +} + +export default WelcomePage; \ No newline at end of file diff --git a/app/components/welcome.tsx b/app/components/welcome.tsx deleted file mode 100644 index 095388a..0000000 --- a/app/components/welcome.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import react from 'react'; -import { StyleSheet, Text, View, Image} from 'react-native'; - -type props = { - profile: String, - image: String, -} - -function WelcomePage(props: props) { - return ( - - {props.profile} - {/* put image here */} - {/* */} - Imagine we have an image here {props.image} - - ) -} - -export default WelcomePage; \ No newline at end of file diff --git a/app/package-lock.json b/app/package-lock.json index 5a8cb25..54c06d3 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -16,6 +16,7 @@ "devDependencies": { "@babel/core": "^7.20.0", "@types/react": "~18.2.14", + "@types/react-native": "^0.72.5", "typescript": "^5.1.3" } }, @@ -5888,6 +5889,16 @@ "csstype": "^3.0.2" } }, + "node_modules/@types/react-native": { + "version": "0.72.5", + "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.72.5.tgz", + "integrity": "sha512-HAt+EC576kbyg3+qruzbOLgVhgDHTHJ3d3rTkWRJ0wukze+l3ldWUkh1IarERHqsUlWwmkuYu0+4TQE5y1EjwA==", + "dev": true, + "dependencies": { + "@react-native/virtualized-lists": "^0.72.4", + "@types/react": "*" + } + }, "node_modules/@types/scheduler": { "version": "0.16.4", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.4.tgz", diff --git a/app/package.json b/app/package.json index 82df200..38e204e 100644 --- a/app/package.json +++ b/app/package.json @@ -17,6 +17,7 @@ "devDependencies": { "@babel/core": "^7.20.0", "@types/react": "~18.2.14", + "@types/react-native": "^0.72.5", "typescript": "^5.1.3" }, "private": true From bcf096dd8d111d8d0f260b93868b6e2d082eb9a6 Mon Sep 17 00:00:00 2001 From: Evan-Stegall Date: Sat, 11 Nov 2023 14:45:30 -0600 Subject: [PATCH 02/25] commit before merge --- app/App.tsx | 1 + app/components/ProfilePage.tsx | 14 ++++++++++++-- app/package-lock.json | 14 -------------- 3 files changed, 13 insertions(+), 16 deletions(-) diff --git a/app/App.tsx b/app/App.tsx index 95180b3..7a93887 100644 --- a/app/App.tsx +++ b/app/App.tsx @@ -2,6 +2,7 @@ import {EventPage} from './eventpage/eventpage'; import { StatusBar } from 'expo-status-bar'; import { StyleSheet, Text, View } from 'react-native'; import ProfilePage from './components/ProfilePage'; +import React from 'react' /* Hard coding default values, these will be retrieved from DB later */ const profile_name: string = "Evan Stegall" diff --git a/app/components/ProfilePage.tsx b/app/components/ProfilePage.tsx index 28bcb75..d5b077c 100644 --- a/app/components/ProfilePage.tsx +++ b/app/components/ProfilePage.tsx @@ -1,12 +1,22 @@ import react from 'react'; import {Text, View} from 'react-native'; import WelcomePage from './WelcomePage'; +import EventList from "./event/EventList" +import { EventData } from "../types/EventData"; +import React from "react" + type props = { profile: string, image: string, } +function getEvents(): EventData[] { + fetch("https://localhost:3000/api/events") + .then(data => {return data.()}); + return []; +} + function ProfilePage(props: props) { return ( @@ -16,8 +26,8 @@ function ProfilePage(props: props) { Imagine we have an activity card here - {/*Put Event List Component here*/} - Imagine we have an event list here + + ) diff --git a/app/package-lock.json b/app/package-lock.json index ce9887f..2777a5a 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -11906,15 +11906,9 @@ } }, "node_modules/react-native-paper": { -<<<<<<< HEAD "version": "5.11.1", "resolved": "https://registry.npmjs.org/react-native-paper/-/react-native-paper-5.11.1.tgz", "integrity": "sha512-axqRTagGL8LtuYh172cx2Q2THOVJ3PTpPjCKhL5ECRdpJs2ceiboVecSiOIBuO3H7dVpaneptBA0vJr9HeVHwg==", -======= - "version": "5.11.0", - "resolved": "https://registry.npmjs.org/react-native-paper/-/react-native-paper-5.11.0.tgz", - "integrity": "sha512-7Wvbr1Lgw1xYdLpuWLwk69NOarlJN5CNKqSSKWj61HX7m78j5bQPBxsekFs5WfVZ72RbAqfDpjBg8HA7Js/LyQ==", ->>>>>>> main "dependencies": { "@callstack/react-theme-provider": "^3.0.9", "color": "^3.1.2", @@ -11940,7 +11934,6 @@ "version": "10.0.1", "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-10.0.1.tgz", "integrity": "sha512-oqVyhSgK1wLm7JuN5yep+BCWb4F4C6qi2/mHGsdNqneGWn3MI9VVMX+AIkw0q9GsbY6QjhNd5sUanjRyDJfuUg==", - "peer": true, "dependencies": { "prop-types": "^15.7.2", "yargs": "^16.1.1" @@ -11956,7 +11949,6 @@ "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "peer": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -11967,7 +11959,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "peer": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -11979,7 +11970,6 @@ "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "peer": true, "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -11997,10 +11987,6 @@ "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", -<<<<<<< HEAD - "peer": true, -======= ->>>>>>> main "engines": { "node": ">=10" } From e8e2413dd106fcda436cce8d2bd7155161367fbb Mon Sep 17 00:00:00 2001 From: Evan-Stegall Date: Sat, 20 Jan 2024 14:46:48 -0600 Subject: [PATCH 03/25] added some CSS for Profile Page. Changed event schema to match mongo db schema --- app/components/ProfilePage.tsx | 52 ++++++++++++++++++-------- app/components/WelcomePage.tsx | 32 ++++++++++++---- app/components/dashboard.tsx | 60 ++++++++++++++++++++++++++++++ app/components/event/EventCard.tsx | 3 +- app/components/event/EventList.tsx | 13 +++++-- app/types/EventData.ts | 2 +- server/routes/event.js | 10 +++++ 7 files changed, 143 insertions(+), 29 deletions(-) create mode 100644 app/components/dashboard.tsx diff --git a/app/components/ProfilePage.tsx b/app/components/ProfilePage.tsx index d5b077c..579f10f 100644 --- a/app/components/ProfilePage.tsx +++ b/app/components/ProfilePage.tsx @@ -1,36 +1,58 @@ import react from 'react'; -import {Text, View} from 'react-native'; +import {Text, View, StyleSheet} from 'react-native'; import WelcomePage from './WelcomePage'; import EventList from "./event/EventList" import { EventData } from "../types/EventData"; -import React from "react" +import React, {useState, useEffect} from "react" +import { get } from 'react-native/Libraries/TurboModule/TurboModuleRegistry'; +import Dashboard from './dashboard'; +const EVENTS_ROUTE = "http://localhost:3000/api/event/events"; + type props = { profile: string, image: string, } -function getEvents(): EventData[] { - fetch("https://localhost:3000/api/events") - .then(data => {return data.()}); - return []; -} - function ProfilePage(props: props) { + const [eventData, setEventData] = useState([]); + + useEffect(() => { + const fetchEventData = async () => { + try { + const result = await (await fetch(EVENTS_ROUTE)).json(); + setEventData(result); + } catch (error) { + console.error("Error fetching event data:", error); + } + }; + + fetchEventData() + + }, []) + return ( - + - - {/*Put Activity Card Here*/} - Imagine we have an activity card here + + - - - + + ) } +const styles = StyleSheet.create({ + profilePage: { + flex: 1, + marginTop: 50 + }, + + dashboard: { + flexShrink: 0 + } +}) export default ProfilePage; \ No newline at end of file diff --git a/app/components/WelcomePage.tsx b/app/components/WelcomePage.tsx index 74c1668..f778c83 100644 --- a/app/components/WelcomePage.tsx +++ b/app/components/WelcomePage.tsx @@ -1,4 +1,4 @@ -import react from 'react'; +import React from 'react'; import { StyleSheet, Text, View, Image} from 'react-native'; type props = { @@ -10,12 +10,26 @@ type props = { const styles = StyleSheet.create({ row: { flexDirection: 'row', - gap: 20 + gap: 20, + alignItems: "center", + marginLeft: 20 }, - logo: { - width: 66, - height: 58, + image: { + width: 60, + height: 60, + borderRadius: 30, + // borderColor: "black", + // borderWidth: 2, + }, + text_large : { + fontSize: 23, + fontWeight: "600", + }, + text_small : { + fontSize: 18, + fontWeight: "300" } + }); @@ -23,9 +37,11 @@ function WelcomePage(props: props) { return ( - Welcome {props.profile}! - + + + Welcome, + {props.profile} + ) diff --git a/app/components/dashboard.tsx b/app/components/dashboard.tsx new file mode 100644 index 0000000..8333e10 --- /dev/null +++ b/app/components/dashboard.tsx @@ -0,0 +1,60 @@ +import { StatusBar } from 'expo-status-bar'; +import { StyleSheet, Text, View } from 'react-native'; +import React from 'react' +import { useState } from 'react'; + + + +export default function Dashboard(){ + const [dashInfo, setDashInfo] = useState({Steps: 10,Distance: "10km",Time: "3:00"}); + return( + + + Steps + {dashInfo.Steps} + + + Distance + {dashInfo.Distance} + + + Time + {dashInfo.Time} + + + + ) +} + +const styles = StyleSheet.create({ + container: { + flexShrink: 0, + flexDirection: "row", + backgroundColor: "rgba(230,230,230,10)", + borderRadius:10, + justifyContent: "space-around", + margin: 10, + fontSize:20, + display: "flex" + }, + subcontainer: { + //flexDirection: "column", + padding:15, + + justifyContent:"space-between", + fontSize:20 + + + }, + text:{ + marginBottom:10, + }, + text_activity: { + fontWeight: "300", + fontSize: 15 + }, + + userInfo:{ + fontWeight:"bold" + } +}) \ No newline at end of file diff --git a/app/components/event/EventCard.tsx b/app/components/event/EventCard.tsx index 85b9b6f..17873a7 100644 --- a/app/components/event/EventCard.tsx +++ b/app/components/event/EventCard.tsx @@ -30,7 +30,6 @@ const EventCard = (props: { eventData: EventData }) => { } }); - return ( @@ -47,7 +46,7 @@ const EventCard = (props: { eventData: EventData }) => { numberOfLines={1} style={{ fontSize: 20, textAlign: 'right' }} > - {props.eventData.date.toLocaleDateString(undefined, {month: "numeric", day: "numeric"})} + {props.eventData.date.toLocaleString(undefined, {month: "numeric", day: "numeric"})} diff --git a/app/components/event/EventList.tsx b/app/components/event/EventList.tsx index fb7a273..e99b0c6 100644 --- a/app/components/event/EventList.tsx +++ b/app/components/event/EventList.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { ScrollView } from 'react-native'; +import { ScrollView , StyleSheet} from 'react-native'; import { Text } from 'react-native-paper'; import EventCard from './EventCard' @@ -41,12 +41,19 @@ import { EventData } from "../../types/EventData"; const EventList = (props: { eventList: EventData[] }) => { return ( - Upcoming Events + Upcoming Events {props.eventList.map(event => { - return + return })} ) } +const styles = StyleSheet.create({ + text: { + flex: 1, + marginLeft: 10 + }, +}) + export default EventList; \ No newline at end of file diff --git a/app/types/EventData.ts b/app/types/EventData.ts index 0aa32b6..ef2dcf8 100644 --- a/app/types/EventData.ts +++ b/app/types/EventData.ts @@ -1,5 +1,5 @@ export interface EventData { - id: string, // mongodb.ObjectId() + _id: string, // mongodb.ObjectId() title: string, description: string, featureImage: string, diff --git a/server/routes/event.js b/server/routes/event.js index 9d4ade2..293834c 100644 --- a/server/routes/event.js +++ b/server/routes/event.js @@ -5,6 +5,16 @@ const mongodb = require("mongodb"); const mongoose = require("mongoose"); const morgan = require("morgan"); +// Get all events +router.get("/events", async (req, res, next) => { + try { + const events = await Event.find({}); + res.json(events); + } catch (error) { + res.status(500).json({message: error.message}); + } +}) + // Create new event router.post("/create", async (req, res, next) => { const event = new Event({ From 317011a2220ffb66fc854d87867659480e01a62d Mon Sep 17 00:00:00 2001 From: Evan-Stegall Date: Sat, 20 Jan 2024 14:58:35 -0600 Subject: [PATCH 04/25] added some more CSS --- app/components/dashboard.tsx | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/app/components/dashboard.tsx b/app/components/dashboard.tsx index 8333e10..c097e27 100644 --- a/app/components/dashboard.tsx +++ b/app/components/dashboard.tsx @@ -32,7 +32,8 @@ const styles = StyleSheet.create({ flexDirection: "row", backgroundColor: "rgba(230,230,230,10)", borderRadius:10, - justifyContent: "space-around", + justifyContent: "space-between", + paddingHorizontal: 10, margin: 10, fontSize:20, display: "flex" @@ -40,11 +41,8 @@ const styles = StyleSheet.create({ subcontainer: { //flexDirection: "column", padding:15, - justifyContent:"space-between", fontSize:20 - - }, text:{ marginBottom:10, @@ -53,8 +51,8 @@ const styles = StyleSheet.create({ fontWeight: "300", fontSize: 15 }, - + userInfo:{ - fontWeight:"bold" + fontWeight:"600" } }) \ No newline at end of file From 19a72741d02c5cb8b63f43ed8452a65a324bebbf Mon Sep 17 00:00:00 2001 From: fernando Date: Sat, 20 Jan 2024 15:53:13 -0600 Subject: [PATCH 05/25] some changes --- app/App.tsx | 2 +- app/components/ProfilePage.tsx | 4 +-- app/components/dashboard.tsx | 52 +++++++++++++++++++++--------- app/components/event/EventList.tsx | 2 +- 4 files changed, 40 insertions(+), 20 deletions(-) diff --git a/app/App.tsx b/app/App.tsx index 7a93887..7054051 100644 --- a/app/App.tsx +++ b/app/App.tsx @@ -20,7 +20,7 @@ export default function App() { const styles = StyleSheet.create({ container: { flex: 1, - backgroundColor: "#fff", + backgroundColor: "#F5F7FD", alignItems: "center", justifyContent: "center", }, diff --git a/app/components/ProfilePage.tsx b/app/components/ProfilePage.tsx index 579f10f..7fa3103 100644 --- a/app/components/ProfilePage.tsx +++ b/app/components/ProfilePage.tsx @@ -41,7 +41,7 @@ function ProfilePage(props: props) { - + ) } @@ -55,4 +55,4 @@ const styles = StyleSheet.create({ flexShrink: 0 } }) -export default ProfilePage; \ No newline at end of file +export default ProfilePage; diff --git a/app/components/dashboard.tsx b/app/components/dashboard.tsx index c097e27..2f59937 100644 --- a/app/components/dashboard.tsx +++ b/app/components/dashboard.tsx @@ -6,20 +6,25 @@ import { useState } from 'react'; export default function Dashboard(){ - const [dashInfo, setDashInfo] = useState({Steps: 10,Distance: "10km",Time: "3:00"}); + const [dashInfo, setDashInfo] = useState({Steps: 130,Distance: "10 MI",Time: "40 MIN"}); return( - - - Steps - {dashInfo.Steps} + + + Today - - Distance - {dashInfo.Distance} - - - Time - {dashInfo.Time} + + + Steps + {dashInfo.Steps} + + + Distance + {dashInfo.Distance} + + + Time + {dashInfo.Time} + @@ -30,7 +35,8 @@ const styles = StyleSheet.create({ container: { flexShrink: 0, flexDirection: "row", - backgroundColor: "rgba(230,230,230,10)", + backgroundColor: "#103158", + borderRadius:10, justifyContent: "space-between", paddingHorizontal: 10, @@ -42,17 +48,31 @@ const styles = StyleSheet.create({ //flexDirection: "column", padding:15, justifyContent:"space-between", - fontSize:20 + fontSize:20, + }, text:{ marginBottom:10, + + }, + + today:{ + marginTop: 12, + marginLeft:10, + fontSize: 20, + fontWeight: "500" + + }, text_activity: { fontWeight: "300", - fontSize: 15 + fontSize: 15, + marginBottom: 8, + color: "white" }, userInfo:{ - fontWeight:"600" + fontWeight:"600", + color: "white" } }) \ No newline at end of file diff --git a/app/components/event/EventList.tsx b/app/components/event/EventList.tsx index e99b0c6..1890957 100644 --- a/app/components/event/EventList.tsx +++ b/app/components/event/EventList.tsx @@ -41,7 +41,7 @@ import { EventData } from "../../types/EventData"; const EventList = (props: { eventList: EventData[] }) => { return ( - Upcoming Events + My Events {props.eventList.map(event => { return })} From 07473e3ccfd1cf0e4055e59dbb05f49e18c1e239 Mon Sep 17 00:00:00 2001 From: fernando Date: Sat, 20 Jan 2024 16:00:32 -0600 Subject: [PATCH 06/25] slight style changes --- app/App.tsx | 1 + app/components/event/EventList.tsx | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/app/App.tsx b/app/App.tsx index 7054051..87f77ff 100644 --- a/app/App.tsx +++ b/app/App.tsx @@ -23,6 +23,7 @@ const styles = StyleSheet.create({ backgroundColor: "#F5F7FD", alignItems: "center", justifyContent: "center", + padding: 10 }, }); diff --git a/app/components/event/EventList.tsx b/app/components/event/EventList.tsx index 1890957..f3f35bd 100644 --- a/app/components/event/EventList.tsx +++ b/app/components/event/EventList.tsx @@ -52,7 +52,8 @@ const EventList = (props: { eventList: EventData[] }) => { const styles = StyleSheet.create({ text: { flex: 1, - marginLeft: 10 + marginLeft: 15, + fontWeight: "600" }, }) From 70abb7a4fcf663f4d73c0b1ee76bb3c588af46d0 Mon Sep 17 00:00:00 2001 From: Evan-Stegall Date: Sun, 21 Jan 2024 21:13:00 -0600 Subject: [PATCH 07/25] add some more CSS to activity component to match figma --- app/components/dashboard.tsx | 47 ++++++++++++------------------------ 1 file changed, 15 insertions(+), 32 deletions(-) diff --git a/app/components/dashboard.tsx b/app/components/dashboard.tsx index 2f59937..1d07913 100644 --- a/app/components/dashboard.tsx +++ b/app/components/dashboard.tsx @@ -6,25 +6,20 @@ import { useState } from 'react'; export default function Dashboard(){ - const [dashInfo, setDashInfo] = useState({Steps: 130,Distance: "10 MI",Time: "40 MIN"}); + const [dashInfo, setDashInfo] = useState({Steps: 10,Distance: "10km",Time: "3:00"}); return( - - - Today + + + Steps + {dashInfo.Steps} - - - Steps - {dashInfo.Steps} - - - Distance - {dashInfo.Distance} - - - Time - {dashInfo.Time} - + + Distance + {dashInfo.Distance} + + + Time + {dashInfo.Time} @@ -35,8 +30,7 @@ const styles = StyleSheet.create({ container: { flexShrink: 0, flexDirection: "row", - backgroundColor: "#103158", - + backgroundColor: "#3C7FCB", borderRadius:10, justifyContent: "space-between", paddingHorizontal: 10, @@ -48,26 +42,15 @@ const styles = StyleSheet.create({ //flexDirection: "column", padding:15, justifyContent:"space-between", - fontSize:20, - + fontSize:20 }, text:{ marginBottom:10, - - }, - - today:{ - marginTop: 12, - marginLeft:10, - fontSize: 20, - fontWeight: "500" - - + color: "white" }, text_activity: { fontWeight: "300", fontSize: 15, - marginBottom: 8, color: "white" }, From ad782a72e696fb4a4a561c38edebb3f7b1d36ce5 Mon Sep 17 00:00:00 2001 From: Evan-Stegall Date: Sun, 21 Jan 2024 21:19:48 -0600 Subject: [PATCH 08/25] add activity card --- app/components/ProfilePage.tsx | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/components/ProfilePage.tsx b/app/components/ProfilePage.tsx index 7fa3103..f172da8 100644 --- a/app/components/ProfilePage.tsx +++ b/app/components/ProfilePage.tsx @@ -6,6 +6,7 @@ import { EventData } from "../types/EventData"; import React, {useState, useEffect} from "react" import { get } from 'react-native/Libraries/TurboModule/TurboModuleRegistry'; import Dashboard from './dashboard'; +import ActivityCard from "../components/profile/ActivityCard" const EVENTS_ROUTE = "http://localhost:3000/api/event/events"; @@ -38,6 +39,9 @@ function ProfilePage(props: props) { + + + @@ -53,6 +57,10 @@ const styles = StyleSheet.create({ dashboard: { flexShrink: 0 + }, + + activity_card: { + } }) export default ProfilePage; From 0def41ae5d3c28c85c1bbfd3b1bd96f15eaf193a Mon Sep 17 00:00:00 2001 From: fernando Date: Sat, 27 Jan 2024 13:19:34 -0600 Subject: [PATCH 09/25] commit --- app/components/WelcomePage.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/app/components/WelcomePage.tsx b/app/components/WelcomePage.tsx index f778c83..2fc4d1b 100644 --- a/app/components/WelcomePage.tsx +++ b/app/components/WelcomePage.tsx @@ -36,6 +36,7 @@ const styles = StyleSheet.create({ function WelcomePage(props: props) { return ( + From 38837eb10282db5c958b3422272a1698367aceb7 Mon Sep 17 00:00:00 2001 From: trietmchau Date: Sat, 27 Jan 2024 15:05:47 -0600 Subject: [PATCH 10/25] Change styles to match better --- app/components/ProfilePage.tsx | 17 +++++----- app/components/WelcomePage.tsx | 10 +++--- app/components/dashboard.tsx | 43 +++++++++++++------------ app/components/event/EventCard.tsx | 2 +- app/components/event/EventList.tsx | 4 +-- app/components/profile/ActivityCard.tsx | 43 +++++++++++++++---------- 6 files changed, 65 insertions(+), 54 deletions(-) diff --git a/app/components/ProfilePage.tsx b/app/components/ProfilePage.tsx index f172da8..69650c8 100644 --- a/app/components/ProfilePage.tsx +++ b/app/components/ProfilePage.tsx @@ -1,12 +1,10 @@ -import react from 'react'; -import {Text, View, StyleSheet} from 'react-native'; -import WelcomePage from './WelcomePage'; -import EventList from "./event/EventList" +import React, { useEffect, useState } from "react"; +import { ScrollView, StyleSheet, View } from 'react-native'; import { EventData } from "../types/EventData"; -import React, {useState, useEffect} from "react" -import { get } from 'react-native/Libraries/TurboModule/TurboModuleRegistry'; +import WelcomePage from './WelcomePage'; import Dashboard from './dashboard'; -import ActivityCard from "../components/profile/ActivityCard" +import EventList from "./event/EventList"; +import ActivityCard from "./profile/ActivityCard"; const EVENTS_ROUTE = "http://localhost:3000/api/event/events"; @@ -34,18 +32,19 @@ function ProfilePage(props: props) { }, []) return ( - + + - + ) } diff --git a/app/components/WelcomePage.tsx b/app/components/WelcomePage.tsx index 2fc4d1b..981f54c 100644 --- a/app/components/WelcomePage.tsx +++ b/app/components/WelcomePage.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { StyleSheet, Text, View, Image} from 'react-native'; +import { Image, StyleSheet, Text, View } from 'react-native'; type props = { profile: string, @@ -15,8 +15,8 @@ const styles = StyleSheet.create({ marginLeft: 20 }, image: { - width: 60, - height: 60, + width: 66, + height: 66, borderRadius: 30, // borderColor: "black", // borderWidth: 2, @@ -27,7 +27,7 @@ const styles = StyleSheet.create({ }, text_small : { fontSize: 18, - fontWeight: "300" + fontWeight: "400" } }); @@ -35,7 +35,7 @@ const styles = StyleSheet.create({ function WelcomePage(props: props) { return ( - + diff --git a/app/components/dashboard.tsx b/app/components/dashboard.tsx index 1d07913..987b842 100644 --- a/app/components/dashboard.tsx +++ b/app/components/dashboard.tsx @@ -1,25 +1,27 @@ -import { StatusBar } from 'expo-status-bar'; -import { StyleSheet, Text, View } from 'react-native'; -import React from 'react' -import { useState } from 'react'; +import React, { useState } from 'react'; +import { StyleSheet, View } from 'react-native'; +import { Text } from 'react-native-paper'; export default function Dashboard(){ const [dashInfo, setDashInfo] = useState({Steps: 10,Distance: "10km",Time: "3:00"}); return( - - - Steps - {dashInfo.Steps} - - - Distance - {dashInfo.Distance} - - - Time - {dashInfo.Time} + + Today + + + Steps + {dashInfo.Steps} + + + Distance + {dashInfo.Distance} + + + Time + {dashInfo.Time} + @@ -30,7 +32,7 @@ const styles = StyleSheet.create({ container: { flexShrink: 0, flexDirection: "row", - backgroundColor: "#3C7FCB", + backgroundColor: "#00426D", borderRadius:10, justifyContent: "space-between", paddingHorizontal: 10, @@ -44,9 +46,10 @@ const styles = StyleSheet.create({ justifyContent:"space-between", fontSize:20 }, - text:{ - marginBottom:10, - color: "white" + text: { + flex: 1, + marginLeft: 15, + fontWeight: "600" }, text_activity: { fontWeight: "300", diff --git a/app/components/event/EventCard.tsx b/app/components/event/EventCard.tsx index 17873a7..fc4dd7f 100644 --- a/app/components/event/EventCard.tsx +++ b/app/components/event/EventCard.tsx @@ -1,6 +1,6 @@ import React from 'react'; -import { Card } from 'react-native-paper' import { StyleSheet, Text, View } from 'react-native'; +import { Card } from 'react-native-paper'; import { EventData } from "../../types/EventData"; diff --git a/app/components/event/EventList.tsx b/app/components/event/EventList.tsx index f3f35bd..49ab8a6 100644 --- a/app/components/event/EventList.tsx +++ b/app/components/event/EventList.tsx @@ -1,9 +1,9 @@ import React from 'react'; -import { ScrollView , StyleSheet} from 'react-native'; +import { ScrollView, StyleSheet } from 'react-native'; import { Text } from 'react-native-paper'; -import EventCard from './EventCard' import { EventData } from "../../types/EventData"; +import EventCard from './EventCard'; // event1 and event2 for testing purposes // let event1: EventData = { diff --git a/app/components/profile/ActivityCard.tsx b/app/components/profile/ActivityCard.tsx index a655ae3..0cfca4b 100644 --- a/app/components/profile/ActivityCard.tsx +++ b/app/components/profile/ActivityCard.tsx @@ -1,23 +1,24 @@ -import { StyleSheet, Text, View } from 'react-native'; -import { useState } from 'react'; -import React from 'react'; +import React, { useState } from 'react'; +import { StyleSheet, View } from 'react-native'; +import { Text } from 'react-native-paper'; + export default function Dashboard() { const [dashInfo, setDashInfo] = useState({ Steps: 10, Distance: "10km", Time: "3:00" }); return ( - - - Steps - {dashInfo.Steps} - - - Distance - {dashInfo.Distance} - - - Time - {dashInfo.Time} + + My Activity + + + Steps + + + Distance + + + Time + ) @@ -27,7 +28,7 @@ const styles = StyleSheet.create({ container: { flex: 1, flexDirection: "row", - backgroundColor: "rgba(230,230,230,10)", + backgroundColor: "#00426D", borderRadius: 10, justifyContent: "space-around", margin: 10, @@ -38,8 +39,16 @@ const styles = StyleSheet.create({ justifyContent: "space-between", fontSize: 20 }, + tab: { + fontSize: 18, + color: "#FFF", + fontWeight: 500, + + }, text: { - marginBottom: 10, + flex: 1, + marginLeft: 15, + fontWeight: "600" }, userInfo: { fontWeight: "bold" From 9673fb10f6a2f7b94b803f83cf88315d5a053fbf Mon Sep 17 00:00:00 2001 From: trietmchau Date: Sat, 27 Jan 2024 15:21:35 -0600 Subject: [PATCH 11/25] Match style to design --- app/App.tsx | 7 +++---- app/components/dashboard.tsx | 12 +++++++----- app/components/event/EventCard.tsx | 3 +++ app/components/profile/ActivityCard.tsx | 2 +- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/app/App.tsx b/app/App.tsx index c11b311..b19fe17 100644 --- a/app/App.tsx +++ b/app/App.tsx @@ -1,7 +1,6 @@ -import { StatusBar } from 'expo-status-bar'; -import { StyleSheet, Text, View } from 'react-native'; +import React from 'react'; +import { StyleSheet, View } from 'react-native'; import ProfilePage from './components/ProfilePage'; -import React from 'react' /* Hard coding default values, these will be retrieved from DB later */ const profile_name: string = "Evan Stegall" @@ -19,7 +18,7 @@ export default function App() { const styles = StyleSheet.create({ container: { flex: 1, - backgroundColor: "#F5F7FD", + backgroundColor: "#F5F7FE", alignItems: "center", justifyContent: "center", padding: 10 diff --git a/app/components/dashboard.tsx b/app/components/dashboard.tsx index 987b842..f063041 100644 --- a/app/components/dashboard.tsx +++ b/app/components/dashboard.tsx @@ -5,7 +5,7 @@ import { Text } from 'react-native-paper'; export default function Dashboard(){ - const [dashInfo, setDashInfo] = useState({Steps: 10,Distance: "10km",Time: "3:00"}); + const [dashInfo, setDashInfo] = useState({Steps: 130,Distance: "1.3 MI",Time: "40 MIN"}); return( Today @@ -52,13 +52,15 @@ const styles = StyleSheet.create({ fontWeight: "600" }, text_activity: { - fontWeight: "300", + fontWeight: "400", fontSize: 15, - color: "white" + color: "white", + paddingBottom: 10 }, userInfo:{ - fontWeight:"600", - color: "white" + fontWeight:"500", + color: "white", + fontSize: 16 } }) \ No newline at end of file diff --git a/app/components/event/EventCard.tsx b/app/components/event/EventCard.tsx index fc4dd7f..a96176d 100644 --- a/app/components/event/EventCard.tsx +++ b/app/components/event/EventCard.tsx @@ -11,10 +11,13 @@ const EventCard = (props: { eventData: EventData }) => { flexWrap: 'wrap', flexDirection: 'row', padding: "4%", + backgroundColor: "#FFF" + }, eventTitle: { width: "75%", + fontWeight: 500 }, eventDate: { diff --git a/app/components/profile/ActivityCard.tsx b/app/components/profile/ActivityCard.tsx index 0cfca4b..2ea3ddf 100644 --- a/app/components/profile/ActivityCard.tsx +++ b/app/components/profile/ActivityCard.tsx @@ -42,7 +42,7 @@ const styles = StyleSheet.create({ tab: { fontSize: 18, color: "#FFF", - fontWeight: 500, + fontWeight: "500", }, text: { From 8cc5f62620b5866e56edbef556be179334a0950b Mon Sep 17 00:00:00 2001 From: trietmchau Date: Sat, 27 Jan 2024 15:48:09 -0600 Subject: [PATCH 12/25] Add redesigned eventList into page --- app/components/event/EventCard.tsx | 88 ++++++++++++++---------------- app/components/event/EventList.tsx | 38 +------------ app/types/EventData.ts | 2 +- 3 files changed, 44 insertions(+), 84 deletions(-) diff --git a/app/components/event/EventCard.tsx b/app/components/event/EventCard.tsx index a96176d..a81b978 100644 --- a/app/components/event/EventCard.tsx +++ b/app/components/event/EventCard.tsx @@ -1,74 +1,68 @@ import React from 'react'; -import { StyleSheet, Text, View } from 'react-native'; +import { Image, StyleSheet, Text, View } from 'react-native'; import { Card } from 'react-native-paper'; - import { EventData } from "../../types/EventData"; const EventCard = (props: { eventData: EventData }) => { const styles = StyleSheet.create({ eventCard: { + display: "flex", width: "100%", - flexWrap: 'wrap', flexDirection: 'row', - padding: "4%", - backgroundColor: "#FFF" - + gap: 10, + alignItems: 'center', + backgroundColor: 'white' }, - eventTitle: { + eventImage: { + width: "22%", + height: 0, + paddingTop: "22%", + borderRadius: 5 + }, + + eventDetails: { width: "75%", - fontWeight: 500 + gap: 15, + flexDirection: 'column', }, - eventDate: { - width: "25%" + eventTitle: { + fontSize: 21, + fontWeight: "500", }, - eventLocation: { - width: "58%" + eventDateTime: { + display: 'flex', + flexDirection: 'row', + justifyContent: 'space-between', + fontSize: 50, }, - eventTime: { - width: "42%" + eventLogistics: { + fontSize: 17, } }); + return ( - - - - + + + + + {props.eventData.title} - - - - {props.eventData.date.toLocaleString(undefined, {month: "numeric", day: "numeric"})} - - - - - {props.eventData.location.address} - - - - - {props.eventData.startTime} - {props.eventData.endTime} - - - + + + {props.eventData.startTime} - {props.eventData.endTime} + + + {new Date(props.eventData.date).toLocaleDateString(undefined, {month: "numeric", day: "numeric"})} + + + + ); } diff --git a/app/components/event/EventList.tsx b/app/components/event/EventList.tsx index 49ab8a6..8e62f91 100644 --- a/app/components/event/EventList.tsx +++ b/app/components/event/EventList.tsx @@ -1,49 +1,16 @@ import React from 'react'; import { ScrollView, StyleSheet } from 'react-native'; -import { Text } from 'react-native-paper'; +import { Text } from "react-native-paper"; import { EventData } from "../../types/EventData"; import EventCard from './EventCard'; -// event1 and event2 for testing purposes -// let event1: EventData = { -// id: "1", -// title: "Pumpkin picking", -// description: "Come pick pumpkins!", -// featureImage: 'https://picsum.photos/id/80/3888/2592', -// link: 'https://bozourl.com', -// date: new Date(2023, 11, 28), // December 28, 2023 -// startTime: "9:00AM", -// endTime: "8:00PM", -// location: { -// latitude: 1, -// longitude: 1, -// address: "123 Pumpkin Patch Farm Houston TX 77005" -// } -// } - -// let event2: EventData = { -// id: "2", -// title: "Free photoshoot at Hermann Park", -// description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", -// featureImage: 'https://picsum.photos/id/237/200/300', -// link: 'https://morebozourl.com', -// date: new Date(), -// startTime: "12:00AM", -// endTime: "12:00PM", -// location: { -// latitude: 2, -// longitude: 2, -// address: "6310 Main Street" -// } -// } - const EventList = (props: { eventList: EventData[] }) => { return ( My Events {props.eventList.map(event => { - return + return })} ) @@ -56,5 +23,4 @@ const styles = StyleSheet.create({ fontWeight: "600" }, }) - export default EventList; \ No newline at end of file diff --git a/app/types/EventData.ts b/app/types/EventData.ts index ef2dcf8..0aa32b6 100644 --- a/app/types/EventData.ts +++ b/app/types/EventData.ts @@ -1,5 +1,5 @@ export interface EventData { - _id: string, // mongodb.ObjectId() + id: string, // mongodb.ObjectId() title: string, description: string, featureImage: string, From a37022a8c4ff52dfc50eb8071d1e32126d490ef9 Mon Sep 17 00:00:00 2001 From: trietmchau Date: Sat, 10 Feb 2024 19:22:14 -0600 Subject: [PATCH 13/25] Add map and search nagivation --- app/App.tsx | 18 +- app/app.json | 9 +- app/components/EventSearchBar.tsx | 31 + app/components/MapDisplay.tsx | 40 + app/components/ProfilePage.tsx | 65 - app/components/TabNavigation.tsx | 19 + app/components/WelcomePage.tsx | 2 +- app/package-lock.json | 2588 ++++++++++++++--------------- app/package.json | 7 + 9 files changed, 1392 insertions(+), 1387 deletions(-) create mode 100644 app/components/EventSearchBar.tsx create mode 100644 app/components/MapDisplay.tsx delete mode 100644 app/components/ProfilePage.tsx create mode 100644 app/components/TabNavigation.tsx diff --git a/app/App.tsx b/app/App.tsx index b19fe17..c548d73 100644 --- a/app/App.tsx +++ b/app/App.tsx @@ -1,26 +1,20 @@ import React from 'react'; import { StyleSheet, View } from 'react-native'; -import ProfilePage from './components/ProfilePage'; - -/* Hard coding default values, these will be retrieved from DB later */ -const profile_name: string = "Evan Stegall" -const image_uri: string = "https://as1.ftcdn.net/v2/jpg/01/15/81/62/1000_F_115816289_debDt9gwn937E0AxKBP9D1zlYFsvCV9g.jpg" - +import EventSearchBar from './components/EventSearchBar'; +import MapDisplay from "./components/MapDisplay"; export default function App() { return ( - + + ); } const styles = StyleSheet.create({ container: { - flex: 1, - backgroundColor: "#F5F7FE", - alignItems: "center", - justifyContent: "center", - padding: 10 + flexDirection: "column", + backgroundColor: "#F5F7FE", }, }); diff --git a/app/app.json b/app/app.json index 771d908..7607aa7 100644 --- a/app/app.json +++ b/app/app.json @@ -11,7 +11,9 @@ "resizeMode": "contain", "backgroundColor": "#ffffff" }, - "assetBundlePatterns": ["**/*"], + "assetBundlePatterns": [ + "**/*" + ], "ios": { "supportsTablet": true }, @@ -23,6 +25,9 @@ }, "web": { "favicon": "./assets/favicon.png" - } + }, + "plugins": [ + "expo-router" + ] } } diff --git a/app/components/EventSearchBar.tsx b/app/components/EventSearchBar.tsx new file mode 100644 index 0000000..5f5aeed --- /dev/null +++ b/app/components/EventSearchBar.tsx @@ -0,0 +1,31 @@ +import { SearchBar } from "@rneui/themed"; +import React from 'react'; +import { StyleSheet, View } from 'react-native'; + +export default function EventSearchBar() { + return( + + + + ) +} + +const styles = StyleSheet.create({ + container: { + height: "20%", + flexDirection: "column", + backgroundColor: "#00426E", + + }, + searchBar: { + position: "absolute", + width: "90%", + height: "30%", + backgroundColor: "white", + shadowColor: "black", + shadowOffset:{width: 2, height: 2}, + shadowOpacity: 0.5, + shadowRadius: 4, + borderRadius: 8 + } + }); \ No newline at end of file diff --git a/app/components/MapDisplay.tsx b/app/components/MapDisplay.tsx new file mode 100644 index 0000000..9072602 --- /dev/null +++ b/app/components/MapDisplay.tsx @@ -0,0 +1,40 @@ +import React, { useRef } from 'react'; +import { Dimensions, StyleSheet } from 'react-native'; +import MapView, { PROVIDER_GOOGLE } from 'react-native-maps'; + +const {width, height} = Dimensions.get("window"); + +/* Adjust map to default pos and zoom, will get default pos from user location */ +const ASPECT_RATIO = width / height; +const LATITUDE_DELTA = 0.02; +const LONGITUDE_DELTA = LATITUDE_DELTA * ASPECT_RATIO; +const INITIAL_POS = { + latitude: 29.71770, + longitude: -95.39974, + latitudeDelta: LATITUDE_DELTA, + longitudeDelta: LONGITUDE_DELTA +} + +export default function MapDisplay() { + const mapRef = useRef(); + + + return ( + + + ); +} + +const styles = StyleSheet.create({ + map: { + width: '100%', + height: '80%', + flexDirection: "column" + }, +}); \ No newline at end of file diff --git a/app/components/ProfilePage.tsx b/app/components/ProfilePage.tsx deleted file mode 100644 index 69650c8..0000000 --- a/app/components/ProfilePage.tsx +++ /dev/null @@ -1,65 +0,0 @@ -import React, { useEffect, useState } from "react"; -import { ScrollView, StyleSheet, View } from 'react-native'; -import { EventData } from "../types/EventData"; -import WelcomePage from './WelcomePage'; -import Dashboard from './dashboard'; -import EventList from "./event/EventList"; -import ActivityCard from "./profile/ActivityCard"; - - -const EVENTS_ROUTE = "http://localhost:3000/api/event/events"; - -type props = { - profile: string, - image: string, -} - -function ProfilePage(props: props) { - const [eventData, setEventData] = useState([]); - - useEffect(() => { - const fetchEventData = async () => { - try { - const result = await (await fetch(EVENTS_ROUTE)).json(); - setEventData(result); - } catch (error) { - console.error("Error fetching event data:", error); - } - }; - - fetchEventData() - - }, []) - - return ( - - - - - - - - - - - - - - ) -} - -const styles = StyleSheet.create({ - profilePage: { - flex: 1, - marginTop: 50 - }, - - dashboard: { - flexShrink: 0 - }, - - activity_card: { - - } -}) -export default ProfilePage; diff --git a/app/components/TabNavigation.tsx b/app/components/TabNavigation.tsx new file mode 100644 index 0000000..6582f58 --- /dev/null +++ b/app/components/TabNavigation.tsx @@ -0,0 +1,19 @@ +import React from 'react'; +import { StyleSheet, View } from 'react-native'; + +export default function TabNavigation() { + return( + + + + ) +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: "#F5F7FE", + alignItems: "center", + justifyContent: "center", + }, + }); \ No newline at end of file diff --git a/app/components/WelcomePage.tsx b/app/components/WelcomePage.tsx index 981f54c..7c94112 100644 --- a/app/components/WelcomePage.tsx +++ b/app/components/WelcomePage.tsx @@ -33,7 +33,7 @@ const styles = StyleSheet.create({ }); -function WelcomePage(props: props) { +function WelcomePage() { return ( diff --git a/app/package-lock.json b/app/package-lock.json index b911b20..2807b5b 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -8,12 +8,19 @@ "name": "app", "version": "1.0.0", "dependencies": { + "@rneui/base": "^4.0.0-rc.7", + "@rneui/themed": "^4.0.0-rc.8", "expo": "~49.0.13", + "expo-constants": "~14.4.2", + "expo-linking": "~5.0.2", + "expo-router": "^2.0.0", "expo-status-bar": "~1.6.0", "react": "18.2.0", "react-native": "0.72.6", + "react-native-maps": "1.7.1", "react-native-paper": "^5.11.1", "react-native-safe-area-context": "4.6.3", + "react-native-screens": "~3.22.0", "react-native-vector-icons": "^10.0.1" }, "devDependencies": { @@ -36,11 +43,11 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dependencies": { - "@babel/highlight": "^7.23.4", + "@babel/highlight": "^7.22.13", "chalk": "^2.4.2" }, "engines": { @@ -48,28 +55,28 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz", + "integrity": "sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz", - "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz", + "integrity": "sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.7", - "@babel/parser": "^7.23.6", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helpers": "^7.23.2", + "@babel/parser": "^7.23.0", "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.7", - "@babel/types": "^7.23.6", + "@babel/traverse": "^7.23.2", + "@babel/types": "^7.23.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -85,11 +92,11 @@ } }, "node_modules/@babel/generator": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "dependencies": { - "@babel/types": "^7.23.6", + "@babel/types": "^7.23.0", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -121,13 +128,13 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.15", + "browserslist": "^4.21.9", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -136,16 +143,16 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.7.tgz", - "integrity": "sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", + "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.15", "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-replace-supers": "^7.22.9", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", "semver": "^6.3.1" @@ -174,9 +181,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", - "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", + "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==", "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-plugin-utils": "^7.22.5", @@ -242,9 +249,9 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", + "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-module-imports": "^7.22.15", @@ -344,9 +351,9 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", "engines": { "node": ">=6.9.0" } @@ -360,9 +367,9 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", "engines": { "node": ">=6.9.0" } @@ -381,22 +388,22 @@ } }, "node_modules/@babel/helpers": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.8.tgz", - "integrity": "sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz", + "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==", "dependencies": { "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.7", - "@babel/types": "^7.23.6" + "@babel/traverse": "^7.23.2", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", @@ -407,9 +414,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", - "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "bin": { "parser": "bin/babel-parser.js" }, @@ -418,9 +425,9 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", - "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz", + "integrity": "sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -432,13 +439,13 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", - "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz", + "integrity": "sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.23.3" + "@babel/plugin-transform-optional-chaining": "^7.22.15" }, "engines": { "node": ">=6.9.0" @@ -447,21 +454,6 @@ "@babel/core": "^7.13.0" } }, - "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", - "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, "node_modules/@babel/plugin-proposal-async-generator-functions": { "version": "7.20.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", @@ -497,13 +489,15 @@ } }, "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.7.tgz", - "integrity": "sha512-b1s5JyeMvqj7d9m9KhJNHKc18gEJiSyVzVX3bwbiPalQBQpuvfPh6lA9F7Kk/dWH0TIiXRpB9yicwijY6buPng==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.2.tgz", + "integrity": "sha512-eR0gJQc830fJVGz37oKLvt9W9uUIQSAovUl0e9sJ3YeO09dlcoBVYD3CLrjCj4qHdXmfiyTyFt8yeQYSN5fxLg==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.23.7", + "@babel/helper-create-class-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-decorators": "^7.23.3" + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/plugin-syntax-decorators": "^7.22.10" }, "engines": { "node": ">=6.9.0" @@ -513,12 +507,12 @@ } }, "node_modules/@babel/plugin-proposal-export-default-from": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.23.3.tgz", - "integrity": "sha512-Q23MpLZfSGZL1kU7fWqV262q65svLSCIP5kZ/JCW/rKTCm/FrLjpvEd2kfUYMVeHh4QhV/xzyoRAHWrAZJrE3Q==", + "version": "7.22.17", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.22.17.tgz", + "integrity": "sha512-cop/3quQBVvdz6X5SJC6AhUv3C9DrVTM06LUEXimEdWAhCSyOJIr9NiZDU9leHZ0/aiG0Sh7Zmvaku5TWYNgbA==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-default-from": "^7.23.3" + "@babel/plugin-syntax-export-default-from": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -675,9 +669,9 @@ } }, "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.23.3.tgz", - "integrity": "sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA==", + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.22.10.tgz", + "integrity": "sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -700,9 +694,9 @@ } }, "node_modules/@babel/plugin-syntax-export-default-from": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.23.3.tgz", - "integrity": "sha512-KeENO5ck1IeZ/l2lFZNy+mpobV3D2Zy5C1YFnWm+YuY5mQiAWc4yAp13dqgguwsBsFVLh4LPCEqCa5qW13N+hw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.22.5.tgz", + "integrity": "sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -725,9 +719,9 @@ } }, "node_modules/@babel/plugin-syntax-flow": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.23.3.tgz", - "integrity": "sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz", + "integrity": "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -739,9 +733,9 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", - "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", + "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -753,9 +747,9 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", - "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -789,9 +783,9 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", - "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -897,9 +891,9 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", - "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -926,9 +920,9 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", - "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", + "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -940,9 +934,9 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.7.tgz", - "integrity": "sha512-PdxEpL71bJp1byMG0va5gwQcXHxuEYC/BgI/e88mGTtohbZN28O5Yit0Plkkm/dBzCF/BxmbNcses1RH1T+urA==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz", + "integrity": "sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ==", "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-plugin-utils": "^7.22.5", @@ -957,13 +951,13 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", - "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", "dependencies": { - "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-module-imports": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.20" + "@babel/helper-remap-async-to-generator": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -973,9 +967,9 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", - "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", + "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -987,9 +981,9 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", - "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz", + "integrity": "sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1001,11 +995,11 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", - "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", + "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-create-class-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1016,11 +1010,11 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", - "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz", + "integrity": "sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-create-class-features-plugin": "^7.22.11", "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, @@ -1032,16 +1026,17 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", - "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz", + "integrity": "sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-replace-supers": "^7.22.9", "@babel/helper-split-export-declaration": "^7.22.6", "globals": "^11.1.0" }, @@ -1053,12 +1048,12 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", - "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", + "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.15" + "@babel/template": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1068,9 +1063,9 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", - "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz", + "integrity": "sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1082,11 +1077,11 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", - "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", + "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-create-regexp-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1097,9 +1092,9 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", - "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", + "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1111,9 +1106,9 @@ } }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", - "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz", + "integrity": "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3" @@ -1126,11 +1121,11 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", - "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", + "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1141,9 +1136,9 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", - "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz", + "integrity": "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" @@ -1156,12 +1151,12 @@ } }, "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.23.3.tgz", - "integrity": "sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz", + "integrity": "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-flow": "^7.23.3" + "@babel/plugin-syntax-flow": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1171,12 +1166,11 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", - "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz", + "integrity": "sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1186,12 +1180,12 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", - "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", + "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", "dependencies": { - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-function-name": "^7.23.0", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1202,9 +1196,9 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", - "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz", + "integrity": "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-json-strings": "^7.8.3" @@ -1217,9 +1211,9 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", - "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", + "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1231,9 +1225,9 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", - "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz", + "integrity": "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" @@ -1246,9 +1240,9 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", - "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", + "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1260,11 +1254,11 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", - "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz", + "integrity": "sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==", "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-module-transforms": "^7.23.0", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1275,11 +1269,11 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", - "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz", + "integrity": "sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==", "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-module-transforms": "^7.23.0", "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-simple-access": "^7.22.5" }, @@ -1291,12 +1285,12 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz", - "integrity": "sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz", + "integrity": "sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==", "dependencies": { "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-module-transforms": "^7.23.0", "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-validator-identifier": "^7.22.20" }, @@ -1308,11 +1302,11 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", - "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", + "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-module-transforms": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1338,9 +1332,9 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", - "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", + "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1352,9 +1346,9 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", - "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz", + "integrity": "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" @@ -1367,9 +1361,9 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", - "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz", + "integrity": "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-numeric-separator": "^7.10.4" @@ -1382,15 +1376,15 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz", - "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz", + "integrity": "sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==", "dependencies": { - "@babel/compat-data": "^7.23.3", + "@babel/compat-data": "^7.22.9", "@babel/helper-compilation-targets": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.23.3" + "@babel/plugin-transform-parameters": "^7.22.15" }, "engines": { "node": ">=6.9.0" @@ -1400,12 +1394,12 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", - "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", + "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20" + "@babel/helper-replace-supers": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1415,9 +1409,9 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", - "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz", + "integrity": "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" @@ -1430,9 +1424,9 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", - "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz", + "integrity": "sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", @@ -1446,9 +1440,9 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", - "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz", + "integrity": "sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1460,11 +1454,11 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", - "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", + "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-create-class-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1475,12 +1469,12 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", - "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz", + "integrity": "sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-create-class-features-plugin": "^7.22.11", "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, @@ -1492,9 +1486,9 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", - "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", + "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1506,9 +1500,9 @@ } }, "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz", - "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", + "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1520,15 +1514,15 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", - "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz", + "integrity": "sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-module-imports": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/types": "^7.23.4" + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" @@ -1538,9 +1532,9 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz", - "integrity": "sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz", + "integrity": "sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1552,9 +1546,9 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz", - "integrity": "sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz", + "integrity": "sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1566,9 +1560,9 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", - "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", + "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "regenerator-transform": "^0.15.2" @@ -1581,9 +1575,9 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", - "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", + "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1595,15 +1589,15 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.7.tgz", - "integrity": "sha512-fa0hnfmiXc9fq/weK34MUV0drz2pOL/vfKWvN7Qw127hiUPabFCUMgAbYWcchRzMJit4o5ARsK/s+5h0249pLw==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.2.tgz", + "integrity": "sha512-XOntj6icgzMS58jPVtQpiuF6ZFWxQiJavISGx5KGjRj+3gqZr8+N6Kx+N9BApWzgS+DOjIZfXXj0ZesenOWDyA==", "dependencies": { "@babel/helper-module-imports": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.7", - "babel-plugin-polyfill-corejs3": "^0.8.7", - "babel-plugin-polyfill-regenerator": "^0.5.4", + "babel-plugin-polyfill-corejs2": "^0.4.6", + "babel-plugin-polyfill-corejs3": "^0.8.5", + "babel-plugin-polyfill-regenerator": "^0.5.3", "semver": "^6.3.1" }, "engines": { @@ -1614,9 +1608,9 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", - "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", + "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1628,9 +1622,9 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", - "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", + "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" @@ -1643,9 +1637,9 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", - "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", + "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1657,9 +1651,9 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", - "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", + "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1671,9 +1665,9 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", - "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", + "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1685,14 +1679,14 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", - "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz", + "integrity": "sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.23.6", + "@babel/helper-create-class-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.23.3" + "@babel/plugin-syntax-typescript": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1702,9 +1696,9 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", - "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", + "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1716,11 +1710,11 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", - "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", + "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-create-regexp-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1731,11 +1725,11 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", - "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", + "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-create-regexp-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1746,11 +1740,11 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", - "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", + "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-create-regexp-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1761,25 +1755,24 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.8.tgz", - "integrity": "sha512-lFlpmkApLkEP6woIKprO6DO60RImpatTQKtz4sUcDjVcK8M8mQ4sZsuxaTMNOZf0sqAq/ReYW1ZBHnOQwKpLWA==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.2.tgz", + "integrity": "sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ==", "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-compilation-targets": "^7.23.6", + "@babel/compat-data": "^7.23.2", + "@babel/helper-compilation-targets": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.15", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.15", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.23.3", - "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@babel/plugin-syntax-import-assertions": "^7.22.5", + "@babel/plugin-syntax-import-attributes": "^7.22.5", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", @@ -1791,58 +1784,59 @@ "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.23.3", - "@babel/plugin-transform-async-generator-functions": "^7.23.7", - "@babel/plugin-transform-async-to-generator": "^7.23.3", - "@babel/plugin-transform-block-scoped-functions": "^7.23.3", - "@babel/plugin-transform-block-scoping": "^7.23.4", - "@babel/plugin-transform-class-properties": "^7.23.3", - "@babel/plugin-transform-class-static-block": "^7.23.4", - "@babel/plugin-transform-classes": "^7.23.8", - "@babel/plugin-transform-computed-properties": "^7.23.3", - "@babel/plugin-transform-destructuring": "^7.23.3", - "@babel/plugin-transform-dotall-regex": "^7.23.3", - "@babel/plugin-transform-duplicate-keys": "^7.23.3", - "@babel/plugin-transform-dynamic-import": "^7.23.4", - "@babel/plugin-transform-exponentiation-operator": "^7.23.3", - "@babel/plugin-transform-export-namespace-from": "^7.23.4", - "@babel/plugin-transform-for-of": "^7.23.6", - "@babel/plugin-transform-function-name": "^7.23.3", - "@babel/plugin-transform-json-strings": "^7.23.4", - "@babel/plugin-transform-literals": "^7.23.3", - "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", - "@babel/plugin-transform-member-expression-literals": "^7.23.3", - "@babel/plugin-transform-modules-amd": "^7.23.3", - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-modules-systemjs": "^7.23.3", - "@babel/plugin-transform-modules-umd": "^7.23.3", + "@babel/plugin-transform-arrow-functions": "^7.22.5", + "@babel/plugin-transform-async-generator-functions": "^7.23.2", + "@babel/plugin-transform-async-to-generator": "^7.22.5", + "@babel/plugin-transform-block-scoped-functions": "^7.22.5", + "@babel/plugin-transform-block-scoping": "^7.23.0", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.11", + "@babel/plugin-transform-classes": "^7.22.15", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.23.0", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.11", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.11", + "@babel/plugin-transform-for-of": "^7.22.15", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.11", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.11", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.23.0", + "@babel/plugin-transform-modules-commonjs": "^7.23.0", + "@babel/plugin-transform-modules-systemjs": "^7.23.0", + "@babel/plugin-transform-modules-umd": "^7.22.5", "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.23.3", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", - "@babel/plugin-transform-numeric-separator": "^7.23.4", - "@babel/plugin-transform-object-rest-spread": "^7.23.4", - "@babel/plugin-transform-object-super": "^7.23.3", - "@babel/plugin-transform-optional-catch-binding": "^7.23.4", - "@babel/plugin-transform-optional-chaining": "^7.23.4", - "@babel/plugin-transform-parameters": "^7.23.3", - "@babel/plugin-transform-private-methods": "^7.23.3", - "@babel/plugin-transform-private-property-in-object": "^7.23.4", - "@babel/plugin-transform-property-literals": "^7.23.3", - "@babel/plugin-transform-regenerator": "^7.23.3", - "@babel/plugin-transform-reserved-words": "^7.23.3", - "@babel/plugin-transform-shorthand-properties": "^7.23.3", - "@babel/plugin-transform-spread": "^7.23.3", - "@babel/plugin-transform-sticky-regex": "^7.23.3", - "@babel/plugin-transform-template-literals": "^7.23.3", - "@babel/plugin-transform-typeof-symbol": "^7.23.3", - "@babel/plugin-transform-unicode-escapes": "^7.23.3", - "@babel/plugin-transform-unicode-property-regex": "^7.23.3", - "@babel/plugin-transform-unicode-regex": "^7.23.3", - "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/plugin-transform-new-target": "^7.22.5", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.11", + "@babel/plugin-transform-numeric-separator": "^7.22.11", + "@babel/plugin-transform-object-rest-spread": "^7.22.15", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.11", + "@babel/plugin-transform-optional-chaining": "^7.23.0", + "@babel/plugin-transform-parameters": "^7.22.15", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.11", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.10", + "@babel/plugin-transform-reserved-words": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/plugin-transform-spread": "^7.22.5", + "@babel/plugin-transform-sticky-regex": "^7.22.5", + "@babel/plugin-transform-template-literals": "^7.22.5", + "@babel/plugin-transform-typeof-symbol": "^7.22.5", + "@babel/plugin-transform-unicode-escapes": "^7.22.10", + "@babel/plugin-transform-unicode-property-regex": "^7.22.5", + "@babel/plugin-transform-unicode-regex": "^7.22.5", + "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.7", - "babel-plugin-polyfill-corejs3": "^0.8.7", - "babel-plugin-polyfill-regenerator": "^0.5.4", + "@babel/types": "^7.23.0", + "babel-plugin-polyfill-corejs2": "^0.4.6", + "babel-plugin-polyfill-corejs3": "^0.8.5", + "babel-plugin-polyfill-regenerator": "^0.5.3", "core-js-compat": "^3.31.0", "semver": "^6.3.1" }, @@ -1854,13 +1848,13 @@ } }, "node_modules/@babel/preset-flow": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.23.3.tgz", - "integrity": "sha512-7yn6hl8RIv+KNk6iIrGZ+D06VhVY35wLVf23Cz/mMu1zOr7u4MMP4j0nZ9tLf8+4ZFpnib8cFYgB/oYg9hfswA==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.22.15.tgz", + "integrity": "sha512-dB5aIMqpkgbTfN5vDdTRPzjqtWiZcRESNR88QYnoPR+bmdYoluOzMX9tQerTv0XzSgZYctPfO1oc0N5zdog1ew==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-transform-flow-strip-types": "^7.23.3" + "@babel/plugin-transform-flow-strip-types": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1883,15 +1877,15 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz", - "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.2.tgz", + "integrity": "sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-typescript": "^7.23.3" + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.23.0", + "@babel/plugin-transform-typescript": "^7.22.15" }, "engines": { "node": ">=6.9.0" @@ -1901,14 +1895,14 @@ } }, "node_modules/@babel/register": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.23.7.tgz", - "integrity": "sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.22.15.tgz", + "integrity": "sha512-V3Q3EqoQdn65RCgTLwauZaTfd1ShhwPmbBv+1dkZV/HpCGMKVyn6oFcRlI7RaKqiDQjX2Qd3AuoEguBgdjIKlg==", "dependencies": { "clone-deep": "^4.0.1", "find-cache-dir": "^2.0.0", "make-dir": "^2.1.0", - "pirates": "^4.0.6", + "pirates": "^4.0.5", "source-map-support": "^0.5.16" }, "engines": { @@ -1924,9 +1918,9 @@ "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" }, "node_modules/@babel/runtime": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.8.tgz", - "integrity": "sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", + "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -1948,19 +1942,19 @@ } }, "node_modules/@babel/traverse": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz", - "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.6", - "@babel/types": "^7.23.6", - "debug": "^4.3.1", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", + "debug": "^4.1.0", "globals": "^11.1.0" }, "engines": { @@ -1968,11 +1962,11 @@ } }, "node_modules/@babel/types": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", - "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "dependencies": { - "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-string-parser": "^7.22.5", "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, @@ -1980,6 +1974,14 @@ "node": ">=6.9.0" } }, + "node_modules/@bacons/react-views": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@bacons/react-views/-/react-views-1.1.3.tgz", + "integrity": "sha512-aLipQAkQKRzG64e28XHBpByyBPfANz0A6POqYHGyryHizG9vLCLNQwLe8gwFANEMBWW2Mx5YdQ7RkNdQMQ+CXQ==", + "peerDependencies": { + "react-native": "*" + } + }, "node_modules/@callstack/react-theme-provider": { "version": "3.0.9", "resolved": "https://registry.npmjs.org/@callstack/react-theme-provider/-/react-theme-provider-3.0.9.tgz", @@ -2000,6 +2002,18 @@ "node": ">=0.10.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/@expo/bunyan": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@expo/bunyan/-/bunyan-4.0.0.tgz", @@ -2024,9 +2038,9 @@ } }, "node_modules/@expo/cli": { - "version": "0.10.16", - "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-0.10.16.tgz", - "integrity": "sha512-EwgnRN5AMElg0JJjFLJTPk5hYkVXxnNMLIvZBiTfGoCq+rDw6u7Mg5l2Bbm/geSHOoplaHyPZ/Wr23FAuZWehA==", + "version": "0.10.13", + "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-0.10.13.tgz", + "integrity": "sha512-8ciyz+yIDih6zCNMWK0IyEv411W7vej/TaWIFGarogPVbFokXrUKr0aKoQG1RU1SLlY4eUpHakbIzqog+rhJdQ==", "dependencies": { "@babel/runtime": "^7.20.0", "@expo/code-signing-certificates": "0.0.5", @@ -2238,24 +2252,6 @@ "xml2js": "0.6.0" } }, - "node_modules/@expo/config-plugins/node_modules/@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/@expo/config-plugins/node_modules/@expo/json-file": { - "version": "8.2.37", - "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.37.tgz", - "integrity": "sha512-YaH6rVg11JoTS2P6LsW7ybS2CULjf40AbnAHw2F1eDPuheprNjARZMnyHFPkKv7GuxCy+B9GPcbOKgc4cgA80Q==", - "dependencies": { - "@babel/code-frame": "~7.10.4", - "json5": "^2.2.2", - "write-file-atomic": "^2.3.0" - } - }, "node_modules/@expo/config-plugins/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -2415,18 +2411,6 @@ "temp-dir": "^2.0.0" } }, - "node_modules/@expo/dev-server/node_modules/@expo/osascript": { - "version": "2.0.33", - "resolved": "https://registry.npmjs.org/@expo/osascript/-/osascript-2.0.33.tgz", - "integrity": "sha512-FQinlwHrTlJbntp8a7NAlCKedVXe06Va/0DSLXRO8lZVtgbEMrYYSUZWQNcOlNtc58c2elNph6z9dMOYwSo3JQ==", - "dependencies": { - "@expo/spawn-async": "^1.5.0", - "exec-async": "^2.2.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/@expo/dev-server/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -2506,9 +2490,9 @@ } }, "node_modules/@expo/dev-server/node_modules/jsonfile/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "engines": { "node": ">= 10.0.0" } @@ -2741,9 +2725,9 @@ } }, "node_modules/@expo/image-utils/node_modules/jsonfile/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "engines": { "node": ">= 10.0.0" } @@ -2819,9 +2803,9 @@ } }, "node_modules/@expo/json-file": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.3.0.tgz", - "integrity": "sha512-yROUeXJXR5goagB8c3muFLCzLmdGOvoPpR5yDNaXrnTp4euNykr9yW0wWhJx4YVRTNOPtGBnEbbJBW+a9q+S6g==", + "version": "8.2.37", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.37.tgz", + "integrity": "sha512-YaH6rVg11JoTS2P6LsW7ybS2CULjf40AbnAHw2F1eDPuheprNjARZMnyHFPkKv7GuxCy+B9GPcbOKgc4cgA80Q==", "dependencies": { "@babel/code-frame": "~7.10.4", "json5": "^2.2.2", @@ -2855,24 +2839,6 @@ "sucrase": "^3.20.0" } }, - "node_modules/@expo/metro-config/node_modules/@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/@expo/metro-config/node_modules/@expo/json-file": { - "version": "8.2.37", - "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.37.tgz", - "integrity": "sha512-YaH6rVg11JoTS2P6LsW7ybS2CULjf40AbnAHw2F1eDPuheprNjARZMnyHFPkKv7GuxCy+B9GPcbOKgc4cgA80Q==", - "dependencies": { - "@babel/code-frame": "~7.10.4", - "json5": "^2.2.2", - "write-file-atomic": "^2.3.0" - } - }, "node_modules/@expo/metro-config/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -2937,10 +2903,22 @@ "node": ">=8" } }, + "node_modules/@expo/metro-runtime": { + "version": "2.2.16", + "resolved": "https://registry.npmjs.org/@expo/metro-runtime/-/metro-runtime-2.2.16.tgz", + "integrity": "sha512-WOUe7ByZsQpFRifyh9WgsjMYrCGHirWA8VvtR5fs+vi0za3yFIaC89wYMvEZILyvn+RIe7Ysln8nzF4xgtnKFg==", + "dependencies": { + "@bacons/react-views": "^1.1.3", + "qs": "^6.10.3" + }, + "peerDependencies": { + "react-native": "*" + } + }, "node_modules/@expo/osascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@expo/osascript/-/osascript-2.1.0.tgz", - "integrity": "sha512-bOhuFnlRaS7CU33+rFFIWdcET/Vkyn1vsN8BYFwCDEF5P1fVVvYN7bFOsQLTMD3nvi35C1AGmtqUr/Wfv8Xaow==", + "version": "2.0.33", + "resolved": "https://registry.npmjs.org/@expo/osascript/-/osascript-2.0.33.tgz", + "integrity": "sha512-FQinlwHrTlJbntp8a7NAlCKedVXe06Va/0DSLXRO8lZVtgbEMrYYSUZWQNcOlNtc58c2elNph6z9dMOYwSo3JQ==", "dependencies": { "@expo/spawn-async": "^1.5.0", "exec-async": "^2.2.0" @@ -3117,9 +3095,9 @@ } }, "node_modules/@expo/prebuild-config/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "engines": { "node": ">= 10.0.0" } @@ -3176,9 +3154,9 @@ "integrity": "sha512-TI+l71+5aSKnShYclFa14Kum+hQMZ86b95SH6tQUG3qZEmLTarvWpKwqtTwQKqvlJSJrpFiSFu3eCuZokY6zWA==" }, "node_modules/@expo/xcpretty": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@expo/xcpretty/-/xcpretty-4.3.1.tgz", - "integrity": "sha512-sqXgo1SCv+j4VtYEwl/bukuOIBrVgx6euIoCat3Iyx5oeoXwEA2USCoeL0IPubflMxncA2INkqJ/Wr3NGrSgzw==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@expo/xcpretty/-/xcpretty-4.2.2.tgz", + "integrity": "sha512-Lke/geldJqUV0Dfxg5/QIOugOzdqZ/rQ9yHKSgGbjZtG1uiSqWyFwWvXmrdd3/sIdX33eykGvIcf+OrvvcXVUw==", "dependencies": { "@babel/code-frame": "7.10.4", "chalk": "^4.1.0", @@ -3303,95 +3281,6 @@ "@hapi/hoek": "^9.0.0" } }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "node_modules/@jest/create-cache-key-function": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz", @@ -3420,9 +3309,9 @@ } }, "node_modules/@jest/create-cache-key-function/node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "version": "17.0.28", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.28.tgz", + "integrity": "sha512-N3e3fkS86hNhtk6BEnc0rj3zcehaxx8QWhCROJkqpl5Zaoi7nAic3jH8q94jVD3zu5LGk+PUB6KAiDmimYOEQw==", "dependencies": { "@types/yargs-parser": "*" } @@ -3522,9 +3411,9 @@ } }, "node_modules/@jest/environment/node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "version": "17.0.28", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.28.tgz", + "integrity": "sha512-N3e3fkS86hNhtk6BEnc0rj3zcehaxx8QWhCROJkqpl5Zaoi7nAic3jH8q94jVD3zu5LGk+PUB6KAiDmimYOEQw==", "dependencies": { "@types/yargs-parser": "*" } @@ -3626,9 +3515,9 @@ } }, "node_modules/@jest/fake-timers/node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "version": "17.0.28", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.28.tgz", + "integrity": "sha512-N3e3fkS86hNhtk6BEnc0rj3zcehaxx8QWhCROJkqpl5Zaoi7nAic3jH8q94jVD3zu5LGk+PUB6KAiDmimYOEQw==", "dependencies": { "@types/yargs-parser": "*" } @@ -3831,9 +3720,9 @@ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz", - "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==", + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -3948,13 +3837,27 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "optional": true, - "engines": { - "node": ">=14" + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.0.tgz", + "integrity": "sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.1.tgz", + "integrity": "sha512-avutXAFL1ehGvAXtPquu0YK5oz6ctS474iM3vNGQIkswrVhdrS52e3uoMQBzZhNRAIE0jBnUyXWNmSjGHhCFcw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" } }, "node_modules/@react-native-community/cli": { @@ -5932,16 +5835,13 @@ "integrity": "sha512-Im93xRJuHHxb1wniGhBMsxLwcfzdYreSZVQGDoMJgkd6+Iky61LInGEHnQCTN0fKNYF1Dvcofb4uMmE1RQHXHQ==" }, "node_modules/@react-native/codegen": { - "version": "0.72.8", - "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.72.8.tgz", - "integrity": "sha512-jQCcBlXV7B7ap5VlHhwIPieYz89yiRgwd2FPUBu+unz+kcJ6pAiB2U8RdLDmyIs8fiWd+Vq1xxaWs4TR329/ng==", + "version": "0.72.7", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.72.7.tgz", + "integrity": "sha512-O7xNcGeXGbY+VoqBGNlZ3O05gxfATlwE1Q1qQf5E38dK+tXn5BY4u0jaQ9DPjfE8pBba8g/BYI1N44lynidMtg==", "dependencies": { "@babel/parser": "^7.20.0", "flow-parser": "^0.206.0", - "glob": "^7.1.1", - "invariant": "^2.2.4", "jscodeshift": "^0.14.0", - "mkdirp": "^0.5.1", "nullthrows": "^1.1.1" }, "peerDependencies": { @@ -5980,7 +5880,178 @@ "react-native": "*" } }, - "node_modules/@segment/loosely-validate-event": { + "node_modules/@react-navigation/bottom-tabs": { + "version": "6.5.12", + "resolved": "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-6.5.12.tgz", + "integrity": "sha512-8gBHHvgmJSRGfQ5fcFUgDFcXj1MzDzEZJ/llDYvcSb6ZxgN5xVq+4oVkwPMxOM6v+Qm2nKvXiUKuB/YydhzpLw==", + "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-safe-area-context": ">= 3.0.0", + "react-native-screens": ">= 3.0.0" + } + }, + "node_modules/@react-navigation/bottom-tabs/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/@react-navigation/bottom-tabs/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/@react-navigation/bottom-tabs/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/@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/@rneui/base": { + "version": "4.0.0-rc.7", + "resolved": "https://registry.npmjs.org/@rneui/base/-/base-4.0.0-rc.7.tgz", + "integrity": "sha512-dffzoYek3Qp+7wJzC42QjI/Fu1HOUNxFIR88t1laDrBV5QZQB55f+Vu5zLbC80/bh1b8fYtl63HTIWpORuA3Eg==", + "dependencies": { + "@types/react-native-vector-icons": "^6.4.10", + "color": "^3.2.1", + "deepmerge": "^4.2.2", + "hoist-non-react-statics": "^3.3.2", + "react-native-ratings": "^8.1.0", + "react-native-size-matters": "^0.4.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/react-native-elements" + }, + "peerDependencies": { + "react-native-safe-area-context": "^3.1.9 || ^4.0.0", + "react-native-vector-icons": ">7.0.0" + } + }, + "node_modules/@rneui/themed": { + "version": "4.0.0-rc.8", + "resolved": "https://registry.npmjs.org/@rneui/themed/-/themed-4.0.0-rc.8.tgz", + "integrity": "sha512-8L/XOrL9OK/r+/iBLvx63TbIdZOXF8SIjN9eArMYm6kRbMr8m4BitXllDN8nBhBsSPNYvL6EAgjk+i2MfY4sBA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/react-native-elements" + }, + "peerDependencies": { + "@rneui/base": "4.0.0-rc.7" + } + }, + "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", "integrity": "sha512-ZMCSfztDBqwotkl848ODgVcAmN4OItEWDCkshcKz0/W6gGSQayuuCtWV/MlodFivAZD793d6UgANd6wCXUfrIw==", @@ -6013,9 +6084,9 @@ "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" }, "node_modules/@sinonjs/commons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", "dependencies": { "type-detect": "4.0.8" } @@ -6028,46 +6099,65 @@ "@sinonjs/commons": "^3.0.0" } }, + "node_modules/@types/geojson": { + "version": "7946.0.14", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.14.tgz", + "integrity": "sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==" + }, + "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", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" }, "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-gPQuzaPR5h/djlAv2apEG1HVOyj1IUs7GpfMZixU0/0KXT3pm64ylHuMUI1/Akh+sq/iikxg6Z2j+fcMDXaaTQ==", "dependencies": { "@types/istanbul-lib-coverage": "*" } }, "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-kv43F9eb3Lhj+lr/Hn6OcLCs/sSM8bt+fIaP11rCYngfV6NVjzWXJ17owQtDQTL9tQ8WSLUrGsSJ6rJz0F1w1A==", "dependencies": { "@types/istanbul-lib-report": "*" } }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + }, "node_modules/@types/node": { - "version": "20.11.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.5.tgz", - "integrity": "sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==", + "version": "20.8.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.6.tgz", + "integrity": "sha512-eWO4K2Ji70QzKUqRy6oyJWUeB7+g2cRagT3T/nxYibYcT4y2BDL8lqolRXjTHmkZCdJfIPaY73KbJAZmcryxTQ==", "dependencies": { - "undici-types": "~5.26.4" + "undici-types": "~5.25.1" } }, "node_modules/@types/prop-types": { - "version": "15.7.11", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", - "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==", - "dev": true + "version": "15.7.8", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.8.tgz", + "integrity": "sha512-kMpQpfZKSCBqltAJwskgePRaYRFukDkm1oItcAbC3gNELR20XIBcN9VRgg4+m8DKsTfkWeA4m4Imp4DDuWy7FQ==" + }, + "node_modules/@types/qs": { + "version": "6.9.11", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz", + "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==" }, "node_modules/@types/react": { - "version": "18.2.48", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.48.tgz", - "integrity": "sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w==", - "dev": true, + "version": "18.2.28", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.28.tgz", + "integrity": "sha512-ad4aa/RaaJS3hyGz0BGegdnSRXQBkd1CCYDCdNjBPg90UUpLgo+WlJqb9fMYUxtehmzF3PJaTWqRZjko6BRzBg==", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -6075,38 +6165,54 @@ } }, "node_modules/@types/react-native": { - "version": "0.72.5", - "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.72.5.tgz", - "integrity": "sha512-HAt+EC576kbyg3+qruzbOLgVhgDHTHJ3d3rTkWRJ0wukze+l3ldWUkh1IarERHqsUlWwmkuYu0+4TQE5y1EjwA==", + "version": "0.72.8", + "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.72.8.tgz", + "integrity": "sha512-St6xA7+EoHN5mEYfdWnfYt0e8u6k2FR0P9s2arYgakQGFgU1f9FlPrIEcj0X24pLCF5c5i3WVuLCUdiCYHmOoA==", "dev": true, "dependencies": { "@react-native/virtualized-lists": "^0.72.4", "@types/react": "*" } }, + "node_modules/@types/react-native-vector-icons": { + "version": "6.4.18", + "resolved": "https://registry.npmjs.org/@types/react-native-vector-icons/-/react-native-vector-icons-6.4.18.tgz", + "integrity": "sha512-YGlNWb+k5laTBHd7+uZowB9DpIK3SXUneZqAiKQaj1jnJCZM0x71GDim5JCTMi4IFkhc9m8H/Gm28T5BjyivUw==", + "dependencies": { + "@types/react": "*", + "@types/react-native": "^0.70" + } + }, + "node_modules/@types/react-native-vector-icons/node_modules/@types/react-native": { + "version": "0.70.19", + "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.70.19.tgz", + "integrity": "sha512-c6WbyCgWTBgKKMESj/8b4w+zWcZSsCforson7UdXtXMecG3MxCinYi6ihhrHVPyUrVzORsvEzK8zg32z4pK6Sg==", + "dependencies": { + "@types/react": "*" + } + }, "node_modules/@types/scheduler": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", - "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", - "dev": true + "version": "0.16.4", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.4.tgz", + "integrity": "sha512-2L9ifAGl7wmXwP4v3pN4p2FLhD0O1qsJpvKmNin5VA8+UvNVb447UDaAEV6UdrkA+m/Xs58U1RFps44x6TFsVQ==" }, "node_modules/@types/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" }, "node_modules/@types/yargs": { - "version": "15.0.19", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", - "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", + "version": "15.0.16", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.16.tgz", + "integrity": "sha512-2FeD5qezW3FvLpZ0JpfuaEWepgNLl9b2gQYiz/ce0NhoB1W/D+VZu98phITXkADYerfr/jb7JcDcVhITsc9bwg==", "dependencies": { "@types/yargs-parser": "*" } }, "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ==" }, "node_modules/@urql/core": { "version": "2.3.6", @@ -6164,9 +6270,9 @@ } }, "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", "bin": { "acorn": "bin/acorn" }, @@ -6197,6 +6303,48 @@ "node": ">=8" } }, + "node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, "node_modules/anser": { "version": "1.4.10", "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", @@ -6318,9 +6466,9 @@ } }, "node_modules/async": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", - "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" }, "node_modules/async-limiter": { "version": "1.0.1", @@ -6401,12 +6549,12 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz", - "integrity": "sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==", + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", + "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.5.0", + "@babel/helper-define-polyfill-provider": "^0.4.3", "semver": "^6.3.1" }, "peerDependencies": { @@ -6414,38 +6562,23 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.7", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.7.tgz", - "integrity": "sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==", + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.5.tgz", + "integrity": "sha512-Q6CdATeAvbScWPNLB8lzSO7fgUVBkQt6zLgNlfyeCr/EQaEQR+bWiBYYPYAFyE528BMjRhL+1QBMOI4jc/c5TA==", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.4", - "core-js-compat": "^3.33.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs3/node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz", - "integrity": "sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==", - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" + "@babel/helper-define-polyfill-provider": "^0.4.3", + "core-js-compat": "^3.32.2" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", - "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", + "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.5.0" + "@babel/helper-define-polyfill-provider": "^0.4.3" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -6557,9 +6690,9 @@ } }, "node_modules/big-integer": { - "version": "1.6.52", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", - "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", + "version": "1.6.51", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", + "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", "engines": { "node": ">=0.6" } @@ -6668,9 +6801,9 @@ } }, "node_modules/browserslist": { - "version": "4.22.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", - "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", "funding": [ { "type": "opencollective", @@ -6686,9 +6819,9 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001565", - "electron-to-chromium": "^1.4.601", - "node-releases": "^2.0.14", + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", "update-browserslist-db": "^1.0.13" }, "bin": { @@ -6836,13 +6969,12 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dependencies": { - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6890,9 +7022,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001579", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001579.tgz", - "integrity": "sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==", + "version": "1.0.30001549", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001549.tgz", + "integrity": "sha512-qRp48dPYSCYaP+KurZLhDYdVE+yEyht/3NlmcJgVQ2VMGt6JL36ndQ/7rgspdZsJuxDPFIo/OzBT2+GmIJ53BA==", "funding": [ { "type": "opencollective", @@ -6971,9 +7103,9 @@ } }, "node_modules/cli-spinners": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.1.tgz", + "integrity": "sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==", "engines": { "node": ">=6" }, @@ -7097,12 +7229,9 @@ "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==" }, "node_modules/component-type": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/component-type/-/component-type-1.2.2.tgz", - "integrity": "sha512-99VUHREHiN5cLeHm3YLq312p6v+HUEcwtLCAtelvUDI6+SH5g5Cr85oNR2S1o6ywzL0ykMbuwLzM2ANocjEOIA==", - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-type/-/component-type-1.2.1.tgz", + "integrity": "sha512-Kgy+2+Uwr75vAi6ChWXgHuLvd+QLD7ssgpaRq2zCvt80ptvAfMc/hijcJxXkBa2wMlEZcJvC2H8Ubo+A9ATHIg==" }, "node_modules/compressible": { "version": "2.0.18", @@ -7199,11 +7328,11 @@ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" }, "node_modules/core-js-compat": { - "version": "3.35.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.35.0.tgz", - "integrity": "sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw==", + "version": "3.33.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.0.tgz", + "integrity": "sha512-0w4LcLXsVEuNkIqwjjf9rjCoPhK8uqA4tMRh4Ge26vfLtUutshn+aRJU21I9LCJlh2QQHfisNToLjw1XEJLTWw==", "dependencies": { - "browserslist": "^4.22.2" + "browserslist": "^4.22.1" }, "funding": { "type": "opencollective", @@ -7277,10 +7406,9 @@ } }, "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" }, "node_modules/dag-map": { "version": "1.0.2", @@ -7316,6 +7444,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", @@ -7363,19 +7499,6 @@ "node": ">=0.8" } }, - "node_modules/define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", - "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", @@ -7497,20 +7620,15 @@ "node": ">=12" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/electron-to-chromium": { - "version": "1.4.640", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.640.tgz", - "integrity": "sha512-z/6oZ/Muqk4BaE7P69bXhUhpJbUM9ZJeka43ZwxsDshKtePns4mhBlh8bU5+yrnOnz3fhG82XLzGUXazOmsWnA==" + "version": "1.4.557", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.557.tgz", + "integrity": "sha512-6x0zsxyMXpnMJnHrondrD3SuAeKcwij9S+83j2qHAQPXbGTDDfgImzzwgGlzrIcXbHQ42tkG4qA6U860cImNhw==" }, "node_modules/emoji-regex": { "version": "8.0.0", @@ -7542,9 +7660,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.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", + "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", "bin": { "envinfo": "dist/cli.js" }, @@ -7665,12 +7783,12 @@ } }, "node_modules/expo": { - "version": "49.0.22", - "resolved": "https://registry.npmjs.org/expo/-/expo-49.0.22.tgz", - "integrity": "sha512-1hhcphaKN74gDqEmGzU4sqxnusLi/i8SsWZ04rRn7b6zdyEchyudVLN3SOzeIUgfGmn7AcXm78JAQ7+e0WqSyw==", + "version": "49.0.13", + "resolved": "https://registry.npmjs.org/expo/-/expo-49.0.13.tgz", + "integrity": "sha512-k2QFmT5XN490ksjKJgogfS5SFj6ZKCu1GwWz4VUV4S9gkPjzr8zQAZoVPKaWxUYRb6xDpTJXdhLt7gSnV3bJvw==", "dependencies": { "@babel/runtime": "^7.20.0", - "@expo/cli": "0.10.16", + "@expo/cli": "0.10.13", "@expo/config": "8.1.2", "@expo/config-plugins": "7.2.5", "@expo/vector-icons": "^13.0.0", @@ -7678,11 +7796,11 @@ "expo-application": "~5.3.0", "expo-asset": "~8.10.1", "expo-constants": "~14.4.2", - "expo-file-system": "~15.4.5", + "expo-file-system": "~15.4.4", "expo-font": "~11.4.0", "expo-keep-awake": "~12.3.0", "expo-modules-autolinking": "1.5.1", - "expo-modules-core": "1.5.13", + "expo-modules-core": "1.5.11", "fbemitter": "^3.0.0", "invariant": "^2.2.4", "md5-file": "^3.2.3", @@ -7729,9 +7847,9 @@ } }, "node_modules/expo-file-system": { - "version": "15.4.5", - "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-15.4.5.tgz", - "integrity": "sha512-xy61KaTaDgXhT/dllwYDHm3ch026EyO8j4eC6wSVr/yE12MMMxAC09yGwy4f7kkOs6ztGVQF5j7ldRzNLN4l0Q==", + "version": "15.4.4", + "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-15.4.4.tgz", + "integrity": "sha512-F0xS88D85F7qVQ61r0qBnzh6VW/s6iIl+VaQEEi2nAIOQHw1JIEj4yCXPLTtbyn5VmArbe2dSL3KYz1V+BLkKA==", "dependencies": { "uuid": "^3.4.0" }, @@ -7750,6 +7868,19 @@ "expo": "*" } }, + "node_modules/expo-head": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/expo-head/-/expo-head-0.0.20.tgz", + "integrity": "sha512-K0ETFOp/I+Td1T40D8k+Nlk8zCtvUFKTVYiwUhLoCCPf4dGC0zXv/noJLgyZ8jZ+5FJLlrSTpk2Gm9bxJfqkLw==", + "dependencies": { + "react-helmet-async": "^1.3.0" + }, + "peerDependencies": { + "expo": "*", + "react": "*", + "react-native": "*" + } + }, "node_modules/expo-keep-awake": { "version": "12.3.0", "resolved": "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-12.3.0.tgz", @@ -7758,6 +7889,18 @@ "expo": "*" } }, + "node_modules/expo-linking": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/expo-linking/-/expo-linking-5.0.2.tgz", + "integrity": "sha512-SPQus0+tYGx9c69Uw4wmdo3rkKX8vRT1vyJz/mvkpSlZN986s0NmP/V0M5vDv5Zv2qZzVdqJyuITFe0Pg5aI+A==", + "dependencies": { + "@types/qs": "^6.9.7", + "expo-constants": "~14.4.2", + "invariant": "^2.2.4", + "qs": "^6.11.0", + "url-parse": "^1.5.9" + } + }, "node_modules/expo-modules-autolinking": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-1.5.1.tgz", @@ -7864,31 +8007,85 @@ } }, "node_modules/expo-modules-autolinking/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "engines": { "node": ">= 10.0.0" } }, "node_modules/expo-modules-core": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-1.5.13.tgz", - "integrity": "sha512-cKRsiHKwpDPRkBgMW3XdUWmEUDzihEPWXAyeo629BXpJ6uX6a66Zbz63SEXhlgsbLq8FB77gvYku3ceBqb+hHg==", + "version": "1.5.11", + "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-1.5.11.tgz", + "integrity": "sha512-1Dj2t74nVjxq6xEQf2b9WFfAMhPzVnR0thY0PfRFgob4STyj3sq1U4PIHVWvKQBtDKIa227DrNRb+Hu+LqKWQg==", "dependencies": { "compare-versions": "^3.4.0", "invariant": "^2.2.4" } }, + "node_modules/expo-router": { + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/expo-router/-/expo-router-2.0.15.tgz", + "integrity": "sha512-6TZKWG6nVne5kGjTPOInAEsSmWy2K4DxXp96OoNUXKoRbJYIZyB++0VQRhXcUCGQSXZRfUa0z2ud8CusF+axNA==", + "dependencies": { + "@bacons/react-views": "^1.1.3", + "@expo/metro-runtime": "2.2.16", + "@radix-ui/react-slot": "1.0.1", + "@react-navigation/bottom-tabs": "~6.5.7", + "@react-navigation/native": "~6.1.6", + "@react-navigation/native-stack": "~6.9.12", + "expo-head": "0.0.20", + "expo-splash-screen": "~0.20.2", + "query-string": "7.1.3", + "react-helmet-async": "^1.3.0", + "schema-utils": "^4.0.1", + "url": "^0.11.0" + }, + "peerDependencies": { + "@react-navigation/drawer": "^6.5.8", + "expo": "^49.0.0", + "react-native-gesture-handler": "*", + "react-native-reanimated": "*", + "react-native-safe-area-context": "*", + "react-native-screens": "*" + }, + "peerDependenciesMeta": { + "@react-navigation/drawer": { + "optional": true + }, + "@testing-library/jest-native": { + "optional": true + }, + "react-native-reanimated": { + "optional": true + } + } + }, + "node_modules/expo-splash-screen": { + "version": "0.20.5", + "resolved": "https://registry.npmjs.org/expo-splash-screen/-/expo-splash-screen-0.20.5.tgz", + "integrity": "sha512-nTALYdjHpeEA30rdOWSguxn72ctv8WM8ptuUgpfRgsWyn4i6rwYds/rBXisX69XO5fg+XjHAQqijGx/b28+3tg==", + "dependencies": { + "@expo/prebuild-config": "6.2.6" + }, + "peerDependencies": { + "expo": "*" + } + }, "node_modules/expo-status-bar": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/expo-status-bar/-/expo-status-bar-1.6.0.tgz", "integrity": "sha512-e//Oi2WPdomMlMDD3skE4+1ZarKCJ/suvcB4Jo/nO427niKug5oppcPNYO+csR6y3ZglGuypS+3pp/hJ+Xp6fQ==" }, + "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==" + }, "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -7901,9 +8098,9 @@ } }, "node_modules/fast-xml-parser": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.3.tgz", - "integrity": "sha512-coV/D1MhrShMvU6D0I+VAK3umz6hUaxxhL0yp/9RjfiYUfAv14rDhGQL+PLForhMdr0wq3PiV07WtkkNjJjNHg==", + "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==", "funding": [ { "type": "github", @@ -7922,9 +8119,9 @@ } }, "node_modules/fastq": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz", - "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dependencies": { "reusify": "^1.0.4" } @@ -7980,6 +8177,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", @@ -8087,86 +8292,6 @@ "resolved": "https://registry.npmjs.org/fontfaceobserver/-/fontfaceobserver-2.3.0.tgz", "integrity": "sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==" }, - "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/foreground-child/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/foreground-child/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/foreground-child/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/foreground-child/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" - } - }, - "node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/foreground-child/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/form-data": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", @@ -8263,14 +8388,14 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", "dependencies": { - "function-bind": "^1.1.2", + "function-bind": "^1.1.1", + "has": "^1.0.3", "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "has-symbols": "^1.0.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -8360,17 +8485,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", @@ -8398,6 +8512,14 @@ "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" } }, + "node_modules/has": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", + "engines": { + "node": ">= 0.4.0" + } + }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -8406,17 +8528,6 @@ "node": ">=4" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", - "dependencies": { - "get-intrinsic": "^1.2.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/has-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", @@ -8439,17 +8550,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/hermes-estree": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.12.0.tgz", @@ -8588,17 +8688,17 @@ ] }, "node_modules/ignore": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", - "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "engines": { "node": ">= 4" } }, "node_modules/image-size": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz", - "integrity": "sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", + "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", "dependencies": { "queue": "6.0.2" }, @@ -8606,7 +8706,7 @@ "image-size": "bin/image-size.js" }, "engines": { - "node": ">=16.x" + "node": ">=14.0.0" } }, "node_modules/import-fresh": { @@ -8721,11 +8821,11 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", "dependencies": { - "hasown": "^2.0.0" + "has": "^1.0.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -8912,23 +9012,6 @@ "node": ">=0.10.0" } }, - "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, "node_modules/jest-environment-node": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", @@ -8962,9 +9045,9 @@ } }, "node_modules/jest-environment-node/node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "version": "17.0.28", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.28.tgz", + "integrity": "sha512-N3e3fkS86hNhtk6BEnc0rj3zcehaxx8QWhCROJkqpl5Zaoi7nAic3jH8q94jVD3zu5LGk+PUB6KAiDmimYOEQw==", "dependencies": { "@types/yargs-parser": "*" } @@ -9077,9 +9160,9 @@ } }, "node_modules/jest-message-util/node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "version": "17.0.28", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.28.tgz", + "integrity": "sha512-N3e3fkS86hNhtk6BEnc0rj3zcehaxx8QWhCROJkqpl5Zaoi7nAic3jH8q94jVD3zu5LGk+PUB6KAiDmimYOEQw==", "dependencies": { "@types/yargs-parser": "*" } @@ -9207,9 +9290,9 @@ } }, "node_modules/jest-mock/node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "version": "17.0.28", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.28.tgz", + "integrity": "sha512-N3e3fkS86hNhtk6BEnc0rj3zcehaxx8QWhCROJkqpl5Zaoi7nAic3jH8q94jVD3zu5LGk+PUB6KAiDmimYOEQw==", "dependencies": { "@types/yargs-parser": "*" } @@ -9319,9 +9402,9 @@ } }, "node_modules/jest-util/node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "version": "17.0.28", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.28.tgz", + "integrity": "sha512-N3e3fkS86hNhtk6BEnc0rj3zcehaxx8QWhCROJkqpl5Zaoi7nAic3jH8q94jVD3zu5LGk+PUB6KAiDmimYOEQw==", "dependencies": { "@types/yargs-parser": "*" } @@ -9423,9 +9506,9 @@ } }, "node_modules/jest-validate/node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "version": "17.0.28", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.28.tgz", + "integrity": "sha512-N3e3fkS86hNhtk6BEnc0rj3zcehaxx8QWhCROJkqpl5Zaoi7nAic3jH8q94jVD3zu5LGk+PUB6KAiDmimYOEQw==", "dependencies": { "@types/yargs-parser": "*" } @@ -9564,13 +9647,13 @@ "integrity": "sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==" }, "node_modules/joi": { - "version": "17.12.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.0.tgz", - "integrity": "sha512-HSLsmSmXz+PV9PYoi3p7cgIbj06WnEBNT28n+bbBNcPZXZFqCzzvGqpTBPujx/Z0nh1+KNQPDrNgdmQ8dq0qYw==", + "version": "17.11.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", + "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", "dependencies": { - "@hapi/hoek": "^9.3.0", - "@hapi/topo": "^5.1.0", - "@sideway/address": "^4.1.4", + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", "@sideway/formula": "^3.0.1", "@sideway/pinpoint": "^2.0.0" } @@ -9747,6 +9830,11 @@ "is-buffer": "~1.1.1" } }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -9834,139 +9922,6 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/lightningcss-darwin-x64": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.19.0.tgz", - "integrity": "sha512-Lif1wD6P4poaw9c/4Uh2z+gmrWhw/HtXFoeZ3bEsv6Ia4tt8rOJBdkfVaUJ6VXmpKHALve+iTyP2+50xY1wKPw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.19.0.tgz", - "integrity": "sha512-P15VXY5682mTXaiDtbnLYQflc8BYb774j2R84FgDLJTN6Qp0ZjWEFyN1SPqyfTj2B2TFjRHRUvQSSZ7qN4Weig==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.19.0.tgz", - "integrity": "sha512-zwXRjWqpev8wqO0sv0M1aM1PpjHz6RVIsBcxKszIG83Befuh4yNysjgHVplF9RTU7eozGe3Ts7r6we1+Qkqsww==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.19.0.tgz", - "integrity": "sha512-vSCKO7SDnZaFN9zEloKSZM5/kC5gbzUjoJQ43BvUpyTFUX7ACs/mDfl2Eq6fdz2+uWhUh7vf92c4EaaP4udEtA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.19.0.tgz", - "integrity": "sha512-0AFQKvVzXf9byrXUq9z0anMGLdZJS+XSDqidyijI5njIwj6MdbvX2UZK/c4FfNmeRa2N/8ngTffoIuOUit5eIQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-musl": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.19.0.tgz", - "integrity": "sha512-SJoM8CLPt6ECCgSuWe+g0qo8dqQYVcPiW2s19dxkmSI5+Uu1GIRzyKA0b7QqmEXolA+oSJhQqCmJpzjY4CuZAg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.19.0.tgz", - "integrity": "sha512-C+VuUTeSUOAaBZZOPT7Etn/agx/MatzJzGRkeV+zEABmPuntv1zihncsi+AyGmjkkzq3wVedEy7h0/4S84mUtg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", @@ -10468,9 +10423,9 @@ } }, "node_modules/metro-file-map/node_modules/@types/yargs": { - "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", - "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "version": "16.0.6", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.6.tgz", + "integrity": "sha512-oTP7/Q13GSPrgcwEwdlnkoZSQ1Hg9THe644qq8PG6hhJzjZ3qj1JjEFPIwWV/IXVs5XGIVqtkNOS9kh63WIJ+A==", "dependencies": { "@types/yargs-parser": "*" } @@ -11168,9 +11123,9 @@ } }, "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", "funding": [ { "type": "github", @@ -11273,9 +11228,9 @@ "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" }, "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" }, "node_modules/node-stream-zip": { "version": "1.15.0", @@ -11349,9 +11304,9 @@ } }, "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.0.tgz", + "integrity": "sha512-HQ4J+ic8hKrgIt3mqk6cVOVrW2ozL4KdvHlqpBv9vDYWx9ysAgENAdvy4FoGF+KFdhR7nQTNm5J0ctAeOwn+3g==", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -11634,39 +11589,8 @@ }, "node_modules/path-parse": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "node_modules/path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", - "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", - "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/path-scurry/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "engines": { - "node": ">=16 || 14 >=14.17" - } + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-type": { "version": "4.0.0", @@ -11880,9 +11804,9 @@ } }, "node_modules/postcss": { - "version": "8.4.33", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz", - "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==", + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "funding": [ { "type": "opencollective", @@ -11898,7 +11822,7 @@ } ], "dependencies": { - "nanoid": "^3.3.7", + "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, @@ -12023,6 +11947,14 @@ "once": "^1.3.1" } }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, "node_modules/qrcode-terminal": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.11.0.tgz", @@ -12045,6 +11977,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", @@ -12125,9 +12074,9 @@ } }, "node_modules/react-devtools-core": { - "version": "4.28.5", - "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.28.5.tgz", - "integrity": "sha512-cq/o30z9W2Wb4rzBefjv5fBalHU0rJGZCHAkf/RHSBWSSYwh8PlQTqqOJmgIIbBtpj27T6FIPXeomIjZtCNVqA==", + "version": "4.28.4", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.28.4.tgz", + "integrity": "sha512-IUZKLv3CimeM07G3vX4H4loxVpByrzq3HvfTX7v9migalwvLs9ZY5D3S3pKR33U+GguYfBBdMMZyToFhsSE/iQ==", "dependencies": { "shell-quote": "^1.6.1", "ws": "^7" @@ -12153,6 +12102,60 @@ } } }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-dom/node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" + }, + "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-helmet-async": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", + "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "invariant": "^2.2.4", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.2.0", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": "^16.6.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -12210,16 +12213,45 @@ "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-maps": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/react-native-maps/-/react-native-maps-1.7.1.tgz", + "integrity": "sha512-CHVLzL+Q2jiUGgbt4/vosxVI1SukWyaLGjD62VLgR/wZpnH4Umi9ql1bmKDPWcfj2C1QZwMU0Yc7rXTbvZUIiw==", + "dependencies": { + "@types/geojson": "^7946.0.10" + }, + "peerDependencies": { + "react": ">= 17.0.1", + "react-native": ">= 0.64.3", + "react-native-web": ">= 0.11" + }, + "peerDependenciesMeta": { + "react-native-web": { + "optional": true + } + } + }, "node_modules/react-native-paper": { -<<<<<<< HEAD - "version": "5.11.1", - "resolved": "https://registry.npmjs.org/react-native-paper/-/react-native-paper-5.11.1.tgz", - "integrity": "sha512-axqRTagGL8LtuYh172cx2Q2THOVJ3PTpPjCKhL5ECRdpJs2ceiboVecSiOIBuO3H7dVpaneptBA0vJr9HeVHwg==", -======= - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/react-native-paper/-/react-native-paper-5.12.1.tgz", - "integrity": "sha512-6ZBBJBsHxXUG5mD22Q0tArTlk5GpGlhZDkRU1RRqPtTpxWCMc7Dbc04pU3+qG0peJQCAO6GnXqUbkZ0YLnMPNg==", ->>>>>>> feature/activity-card + "version": "5.12.3", + "resolved": "https://registry.npmjs.org/react-native-paper/-/react-native-paper-5.12.3.tgz", + "integrity": "sha512-nH1e1pGPE/aOE5YR2GRX7CfMHFA9cAfrAfgCtwL4amJPDZCoVjc5yt2VDiUE1rT+JUfk0qdICMP3UggxvjMgug==", "dependencies": { "@callstack/react-theme-provider": "^3.0.9", "color": "^3.1.2", @@ -12232,15 +12264,48 @@ "react-native-vector-icons": "*" } }, + "node_modules/react-native-ratings": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/react-native-ratings/-/react-native-ratings-8.1.0.tgz", + "integrity": "sha512-+QOJ4G3NjVkI1D+tk4EGx1dCvVfbD2nQdkrj9cXrcAoEiwmbep4z4bZbCKmWMpQ5h2dqbxABU8/eBnbDmvAc3g==", + "dependencies": { + "lodash": "^4.17.15" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, "node_modules/react-native-safe-area-context": { - "version": "4.7.3", - "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.7.3.tgz", - "integrity": "sha512-Z+oldEQ/tHRU5X++ePdIGosPT9Fa93Mtky/Ptdh7qei4HqBUOcMnIj0KKCJGPRYyvN7j/63Ix0YqqYyVUEof5g==", + "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.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" + }, "peerDependencies": { "react": "*", "react-native": "*" } }, + "node_modules/react-native-size-matters": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/react-native-size-matters/-/react-native-size-matters-0.4.2.tgz", + "integrity": "sha512-DKE3f/sdcozd24oASgkP1iGg+YU3HoajRa5k3a4wkRzpiqREq8SGX12Y5zBgAt/8IivLQoTMYkyQu1/Giuy+zQ==", + "peerDependencies": { + "react-native": "*" + } + }, "node_modules/react-native-vector-icons": { "version": "10.0.3", "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-10.0.3.tgz", @@ -12401,9 +12466,9 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" }, "node_modules/regenerator-transform": { "version": "0.15.2", @@ -12612,6 +12677,24 @@ "loose-envify": "^1.1.0" } }, + "node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -12724,21 +12807,6 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" }, - "node_modules/set-function-length": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz", - "integrity": "sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==", - "dependencies": { - "define-data-property": "^1.1.1", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.2", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", @@ -12760,6 +12828,11 @@ "node": ">=8" } }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, "node_modules/shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -12917,6 +12990,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", @@ -12992,6 +13073,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", @@ -13013,39 +13102,6 @@ "node": ">=8" } }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/string-width/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -13076,18 +13132,6 @@ "node": ">=6" } }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/strip-ansi/node_modules/ansi-regex": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", @@ -13131,13 +13175,13 @@ "integrity": "sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg==" }, "node_modules/sucrase": { - "version": "3.35.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", - "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", + "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", - "glob": "^10.3.10", + "glob": "7.1.6", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", @@ -13148,15 +13192,7 @@ "sucrase-node": "bin/sucrase-node" }, "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/sucrase/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dependencies": { - "balanced-match": "^1.0.0" + "node": ">=8" } }, "node_modules/sucrase/node_modules/commander": { @@ -13167,49 +13203,6 @@ "node": ">= 6" } }, - "node_modules/sucrase/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/sucrase/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/sucrase/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, "node_modules/sudo-prompt": { "version": "8.2.5", "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-8.2.5.tgz", @@ -13394,9 +13387,9 @@ } }, "node_modules/terser": { - "version": "5.27.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.0.tgz", - "integrity": "sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.22.0.tgz", + "integrity": "sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -13507,12 +13500,9 @@ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "node_modules/traverse": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.8.tgz", - "integrity": "sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==", - "engines": { - "node": ">= 0.4" - }, + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz", + "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -13559,9 +13549,9 @@ } }, "node_modules/typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -13572,9 +13562,9 @@ } }, "node_modules/ua-parser-js": { - "version": "1.0.37", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.37.tgz", - "integrity": "sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==", + "version": "1.0.36", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.36.tgz", + "integrity": "sha512-znuyCIXzl8ciS3+y3fHJI/2OhQIXbXw9MWC/o3qwyR+RGppjZHrM27CGFSKCJXi2Kctiz537iOu2KnXs1lMQhw==", "funding": [ { "type": "opencollective", @@ -13623,9 +13613,9 @@ } }, "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + "version": "5.25.3", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", + "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==" }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", @@ -13735,6 +13725,23 @@ "browserslist": ">= 4.21.0" } }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", + "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.11.2" + } + }, "node_modules/url-join": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz", @@ -13749,6 +13756,25 @@ "requires-port": "^1.0.0" } }, + "node_modules/url/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + }, + "node_modules/url/node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/use-latest-callback": { "version": "0.1.9", "resolved": "https://registry.npmjs.org/use-latest-callback/-/use-latest-callback-0.1.9.tgz", @@ -13821,6 +13847,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", @@ -13835,9 +13866,9 @@ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "node_modules/whatwg-fetch": { - "version": "3.6.20", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", - "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==" + "version": "3.6.19", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.19.tgz", + "integrity": "sha512-d67JP4dHSbm2TrpFj8AbO8DnL1JXL5J9u0Kq2xW6d0TFDbCA3Muhdt8orXC22utleTVj7Prqt82baN6RBvnEgw==" }, "node_modules/whatwg-url": { "version": "5.0.0", @@ -13885,64 +13916,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/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/wrap-ansi-cjs/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/wrap-ansi-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -14000,9 +13973,9 @@ } }, "node_modules/ws": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", - "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "version": "8.14.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", "engines": { "node": ">=10.0.0" }, @@ -14089,9 +14062,9 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "node_modules/yaml": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", - "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.3.tgz", + "integrity": "sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==", "engines": { "node": ">= 14" } @@ -14133,3 +14106,4 @@ } } } +} diff --git a/app/package.json b/app/package.json index 44f5430..eac3c2c 100644 --- a/app/package.json +++ b/app/package.json @@ -9,12 +9,19 @@ "web": "expo start --web" }, "dependencies": { + "@rneui/base": "^4.0.0-rc.7", + "@rneui/themed": "^4.0.0-rc.8", "expo": "~49.0.13", + "expo-constants": "~14.4.2", + "expo-linking": "~5.0.2", + "expo-router": "^2.0.0", "expo-status-bar": "~1.6.0", "react": "18.2.0", "react-native": "0.72.6", + "react-native-maps": "1.7.1", "react-native-paper": "^5.11.1", "react-native-safe-area-context": "4.6.3", + "react-native-screens": "~3.22.0", "react-native-vector-icons": "^10.0.1" }, "devDependencies": { From 6f3ea5d2e85e42b25da6fbc8a37cf1e902a90566 Mon Sep 17 00:00:00 2001 From: trietmchau Date: Sat, 10 Feb 2024 20:43:51 -0600 Subject: [PATCH 14/25] Add search bar --- app/assets/search.png | Bin 0 -> 579 bytes app/components/EventSearchBar.tsx | 65 +++++++++++++++++++++++------- app/components/MapDisplay.tsx | 2 +- 3 files changed, 52 insertions(+), 15 deletions(-) create mode 100644 app/assets/search.png diff --git a/app/assets/search.png b/app/assets/search.png new file mode 100644 index 0000000000000000000000000000000000000000..46a4e4194d13d9408b1d3141dcb93b66f43d10ad GIT binary patch literal 579 zcmV-J0=)f+P)f z!$25*t_PM3jiCGjK#&j&1txIJq5w+>lwZL31(W~=!%#?ugM^F@hk=1btY`#F)v~2` zymxKacG<`l_9WL{-|PFl-^b96f}MjOY=dDLlFexuLj#aCFn*0k$3-8o%vavFAjB0Z znkgv}A(zr9W1Ju2-toH0jLvRte+wdbiipZE&<|k@c({T!o+F@J}Lz%6Up z8HlVcZlhhM1Gs)pFICCyZAfWhW)Y~rRC|)BOJHi@Mtjxt8+g9lOdltMZtc#&;53`M z5T3TmDIaaB+BnGqu|cV@^?B0=Udg$pUqs5g?5$x@E;x-=n2+9I@)RErC47IXP)%CJ zn2_~UP+cvILZ_jn9-ViHF-LcQ2zA%Rk#q?E14a0w%>gz>fSB+NBZ5gQ_X{B%rno}V R1Uvu$002ovPDHLkV1gym@%aD% literal 0 HcmV?d00001 diff --git a/app/components/EventSearchBar.tsx b/app/components/EventSearchBar.tsx index 5f5aeed..25559a5 100644 --- a/app/components/EventSearchBar.tsx +++ b/app/components/EventSearchBar.tsx @@ -1,31 +1,68 @@ import { SearchBar } from "@rneui/themed"; import React from 'react'; -import { StyleSheet, View } from 'react-native'; +import { StyleSheet, Text, View } from 'react-native'; export default function EventSearchBar() { return( - + + + + Calendar + List + Map + ) } const styles = StyleSheet.create({ container: { - height: "20%", + height: "19%", flexDirection: "column", backgroundColor: "#00426E", + alignItems: "center" }, - searchBar: { - position: "absolute", - width: "90%", - height: "30%", - backgroundColor: "white", - shadowColor: "black", - shadowOffset:{width: 2, height: 2}, - shadowOpacity: 0.5, - shadowRadius: 4, - borderRadius: 8 + searchBarContainer: { + backgroundColor: '#00426E', + width: "90%", + marginTop: "12%", + borderRadius: 0, + borderTopColor: "#00426E", + borderBottomColor: "#00426E" + + }, + eventViewContainer: { + display: "flex", + flexDirection: "row", + backgroundColor: "#00426D", + justifyContent: "space-between", + marginTop: 10 + }, + displayMode: { + flex: 1, + backgroundColor: "#00426D", + alignItems: "center", + justifyContent: "center", + width: 50, + height: 37, + marginHorizontal: 8, + borderRadius: 6, + borderWidth: 2, + borderColor: "#D9D9D9" + }, + textMode: { + fontWeight: "500", + fontSize: 18, + color: "#D9D9D9", + + } - }); \ No newline at end of file +}); \ No newline at end of file diff --git a/app/components/MapDisplay.tsx b/app/components/MapDisplay.tsx index 9072602..5e3dc2d 100644 --- a/app/components/MapDisplay.tsx +++ b/app/components/MapDisplay.tsx @@ -34,7 +34,7 @@ export default function MapDisplay() { const styles = StyleSheet.create({ map: { width: '100%', - height: '80%', + height: '81%', flexDirection: "column" }, }); \ No newline at end of file From 12adcf5be460bcb7a936cbd0aedeca4b847ca4ad Mon Sep 17 00:00:00 2001 From: trietmchau Date: Sat, 10 Feb 2024 21:06:48 -0600 Subject: [PATCH 15/25] Add navigation tabs --- app/App.tsx | 2 ++ app/assets/images/Vector.png | Bin 0 -> 907 bytes app/assets/images/announcements.png | Bin 0 -> 1260 bytes app/assets/images/events.png | Bin 0 -> 1000 bytes app/assets/images/home.png | Bin 0 -> 902 bytes app/assets/images/resource.png | Bin 0 -> 1483 bytes app/assets/{ => images}/search.png | Bin app/components/MapDisplay.tsx | 2 +- app/components/TabNavigation.tsx | 27 ++++++++++++++++++++------- 9 files changed, 23 insertions(+), 8 deletions(-) create mode 100644 app/assets/images/Vector.png create mode 100644 app/assets/images/announcements.png create mode 100644 app/assets/images/events.png create mode 100644 app/assets/images/home.png create mode 100644 app/assets/images/resource.png rename app/assets/{ => images}/search.png (100%) diff --git a/app/App.tsx b/app/App.tsx index c548d73..7f39e4e 100644 --- a/app/App.tsx +++ b/app/App.tsx @@ -2,12 +2,14 @@ import React from 'react'; import { StyleSheet, View } from 'react-native'; import EventSearchBar from './components/EventSearchBar'; import MapDisplay from "./components/MapDisplay"; +import TabNavigation from './components/TabNavigation'; export default function App() { return ( + ); } diff --git a/app/assets/images/Vector.png b/app/assets/images/Vector.png new file mode 100644 index 0000000000000000000000000000000000000000..4147c4dd95bd98f54c73d38fce17ce77ba6ac642 GIT binary patch literal 907 zcmV;619bd}P)`R6oq$7vBc(X`os-0huB^}3(!G)xOj&aCxC+a3^$LtRkkY2>e5S83?)F_EIh?M`Op>J07fX3&)>3MHF2dthq_z-a(%{ z{x%)@^#(J@qlCFh=UnJekXr zAZ8*cTVzOrm~0p{8AQB(8!iJ5E&}Za42Iz$YV*d#oa1Ip-$QEExIlqV7iBBs>8!=G z+y!q1GJR1u;xL&EQ@Iv3=+l5#ZN!0*8BAv>9sHq=(mbUEmsV>=$y&xUIF~5syH<(1 z4r`cOR|)k1$JKah&$|vnu}Iq_mA%a-0D~9*D9oaDHc*sS!zX@aDxxyODEzqWx5jc} zJ;W$!jtVYs)61P8wXPk7msFn*uBk`irO>J*i=Eq`%kuz*$>*eO8bg5`Q2Xd5|KVLW zBDdLECudF2YoXUINX39w)GwGs za6KyYs=ho_nSLBoKficnQI&oNSLuS#5;Z>gll;6urKcE-1`UC?__6EtGt@uQQyV}o z%rbaP5Dj2o@2rtS7j;9yCye%5jBJH9p(`e8f@Yz4KMTPY%>Z8N*w hiu*KHb_NmB<{#74AooeX=|BJg002ovPDHLkV1k?zo7MmT literal 0 HcmV?d00001 diff --git a/app/assets/images/announcements.png b/app/assets/images/announcements.png new file mode 100644 index 0000000000000000000000000000000000000000..0ae03ac8a4bd490e819d848e47ffcb6f6ef86b27 GIT binary patch literal 1260 zcmVOwA3ISUZLo^3_a>?e9*k1B=hyw}4i|lM9Avw)>5I-(6f}rAISG@QE z&UkVK!PSG{X?78Dy*RrkS5RgK6!$ixc+k`M-uA2Q>PFpOd$zmP`oUwmUst`Z`gc`z zcXiDwq#K7UPnIE@gJD_Jz8!M9yNl)SS6l2Z@52z9{Et87x;Go$MPo6^Uqs6I2$j(VA=hanMA8D5NQj**-rJBJ za&Z6d>|pD`95>tRNPr}}u(kekt8wx|4fKn*g~!4_e%Q#r8)>(Rm`U<3T>6zBO`?d$ ztflV!*T}--VIt3nNw&bor5g<^s(=i)!k@Pe@Qq{uF_Tmav^Qg)cYv_WRH#H(o*F$41-}steQiJOjP!|NZDC-(-jM8S0B<&k+N03b-iV?m`(W z0Z%BzE#k+Bk0Mpj&VJ|M&h#W!3Y$dC-k!4S(~~^GTE+?!=Y(pWY#8xzo~#N(x=F)# z;a8F0cjU~r-*^7A=(sw57RL_!%OBFKFf0j=m%hbCyx0itFklEtjlP>KEN{!YE3;C$ zye+L=SiwuQ_&dj>n89E$7*Y(c{^Yye`|;7XH#i8XhegJZ3vHxuF?T{(a5ZtlBxcd- zWMl9@b5&)(A;Ct)Ulw02;D>Ct#a|L%UiK9Y@i|)luJ|oUQ_$jEhSw5Q{I(XqEM-yU zDQepl?YtFu4JDYj9;l0|vl20e7wkpSLIo_3wWzC-xzb&FD5iB`b z4oeGI)Y7YM_4Z*&1@o_o??`#tQiicWrGsV5Xz_z}$!qB?_*dIFFhSEXc{XiE*$U@YHT2JRJ!h^aTksFlWR#e@@EP5gXCc zus_VW-6DIUrCm;5rV97s@CD;;o>2liWQX7h#`~>}PBrnJ2uKkG|=a|zH{|UTz-9CviCk5RMx215L z2}#fSzn54CBo3rJYFm%_LMt0DMt3Cd9<5%ls>{5Tc|f$_&jjn?{$q;Eb`%CfqPzqM W?PliMpU}tv0000>P)#00009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yP_RYMRc{@E29STZ{({+?Bh>t8v zn$spq5faAU?4r^bpUO5cU556c-NW{eQ4i^h+UNqr!0bXE#;0cBESQ+e!XwlZ2fZQX zG`xbJDOY|5;^VsOJ;P6$KBixzAd+kS11aV5H35AC7C(H4zWx;4zLTN3m4!BN>8iyO zbqIV^DgE_x9ey2|G(QVoZF+okt>N5Lp1&$LiOI(CkqM<$1$H(oEBLCq%l$|mY<}EJ zkrg`yB6@#hkcNEFUFPRF9VJNMDdjnAvAp|Vp-VC;oC}hHi~0U{1Ad^$#uaqZp#Vn> zB)Rjh0&j|{fk^}8K`be%Sj;c`RtVb`2^H{IU=xIjvK&;Q>o`f_{Cjr-NV6CaavTeS zEK3TMDxRQrryu6Zcr2qM*#U$&h#zEGvbv}&i>18!H{&O+w@>FLReT;o%-BYTC9|V= zpmh=?(5dR>>-Ut5ZA}>@(>T1I1viJ&MAi;TB0~mA6GH*tLN1HtKr%>bJDXZ_-*@Bf zdWlZpI{XJDO(aryGB-&vOVeRUN~;BmV+<@`fS8cw-9;p3zIc|Kht~Yt2Ft4rhzXgC zxyEv4bocJ0;5*#Mt!0Gf)da|c2&>>nQr{?-GSd&{VRURlK+MHAE+}+ZFRnEE^(y!K zgCS6=_?u4L8cu_3e5&cNThk3pPJ)N`_k^_1fn+N(46uI6wsn;2qKi($%W=q^*IaoN zduxykQrw3gwL!0sk_?5zv#%f+uCUGhuQT`?H)l# zwTdH6i!2Sf&I$#m4er!*5Ou~d+gwHqwcq8<7Jq1+`>e+ysd?mmK$&48B{=y(&TBja zqJ!qXfR@AB7L7#Gc{R7qB&e|+lG>z*tZk(cuq=BcK(D>^kuDXid90y)V}hr)#*03R z4qfsEEbIK{_YIU9*R65h7voK(6TDk(NXrf-VndjDBK0>wyXf{U95Hy34Z`1 Wga76qygs%70000#00009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yP-YK6`QaE7&BBNL2jC3`6HMHn?VX%{fsT%YH5(o3jN;;@D~JHy*^M=pev9lA zTp|MZV0n}G9;eYiXlQr(@-c_I*GKW~YhjAA58(oCMpD3%H}-7NM9;}yxWSR5-8eTK z!`{zbg9yi|=q=ffPG4P;EY%9hD;mk`1eTxXD9aa>^6!%6ocig=U6yy|P)ZNK5`kBPqyCdh^(m`4tdR1PLBhUHR*g9PjKpynN%%j7U6~^DM6pQAPeZ6>X!2 z{MB+t$x{0vuM-sc=O}wyt!q=R1+2X{d3hpPUNZK6XnlOX@tp{+yjduZDj^ALOBHr~ zL?OtPT}oeGYN7)!)d(0?l>13S?8YD%$WL zAS4+SLXtrtBpDRi;Ssz5Pft#0w|_+2>}ikNtY?x8+GjJA=rCQPE!MLm;ESY0L8FZ? zCm{TAflemGOdo?r@{6Y`8rKjMCA`eQMR)K5TdHDfKQU9 zVk1iV60C4tM5bw_j#cP~wf6D!H~}k!l2GnhukT;bae5bOlnH6eGQTVd2$|oM1h-_$ zPH%?nf_wpPH=^YG{F0nkt_@UzNstdvq2qzuZJxp+9(C&H_4vRy<K>5Va}yl?hRJhj?n*4}kN$|t?-?s(qJ`{r-odz(4R z2Of)J@#SjJ7im!rn4|0f0wK!=i~sbZ?>)8X(_@dTg9<->+o8Yz9MU&8T6n~tU6wj! zgsjMvSfb}v0&lZaA&@vZ?`gyTV!8E8Uq6G`!+b^A{`Cg!e{qGryx!=u?s>|P)TB@> zZ6*d6Xk+ zo8^jL<3c2I&|Cm-Jmx6RP3U(C~+3^#1Q@bz`oqVv%c=%Mah+ne~SI8 z_RT%qcWE~0{`6g!mRB?n-$lWdjAAcXJB*ADxdUsxW=Wd0-+`AcUbk{la3zB^Ot%v< zLvjc7LOumUTqzxyA-rq!>#FBUMnf7-1-SmaiS;!t5JIGZD;aFaRHKvuJS;IG}$hgL_Y221|wHM;d{ANNj&jw_iKMreUg zG+t@}<-gPv`eC1r!|N+}-g8lMCDY(oUEjRKo0*bGGEWp&*9&^TNWU%07|qRcq=P3) zVtbd_Iqeq@fWulV`H~iWV<0OeQ3P{?$`F1r)0&d@t1PtlkBdaJ`nvw*pNfNLc&nHR1knR%{SxGz? z^)9DfUDC65I#*7+Hch!lvPztXEENu|)#}*-t*&nzB*+mq;N^EplIA9%4v*ra3+EBN z!ihxUeA+}}rk^x`kdoADz@x2=M^I;g;0`2MKmh(0e3d$-i;?b$tjX92C|NejD(h21 z0@q9k9OD?rm>f6&aNO)zWqnGH%0B%M5m4fuhaz}+WuB~_6#`1g7=+d{X00vH_8S^s zmj_aAyXlvu48K*Z_Ig$wd*F)B**EzrpIAh||zU$r`o zrLHICzI1NfcHe3W zGJBTHK!kKS83WsB8mn)Xe%sQiiVeoGr4yFYlR~U1L`-_;g4|=2%v<|q8qI(?JbtD- z^8$8#7Yr?ZCAKuA95%GZ+Kec1g^Uf}iLnM-A{CZ1);$_438{0GjC9>1FqG$}bn=9h zHE1-;H9DN&t{8>im&C}rlvhM|P1-smHlY1I(HTA{4gEo*bPhgQJS2u+Wcf!LxyJII zD1OTFyci8~S1CEl;W(~{&KorP#~+ZM6TRihZY9Zd&DN lYnkO4N(TEAI>vt#{{o2r(x}B(7z6+S002ovPDHLkV1mk;x10a~ literal 0 HcmV?d00001 diff --git a/app/assets/search.png b/app/assets/images/search.png similarity index 100% rename from app/assets/search.png rename to app/assets/images/search.png diff --git a/app/components/MapDisplay.tsx b/app/components/MapDisplay.tsx index 5e3dc2d..5f2c10c 100644 --- a/app/components/MapDisplay.tsx +++ b/app/components/MapDisplay.tsx @@ -34,7 +34,7 @@ export default function MapDisplay() { const styles = StyleSheet.create({ map: { width: '100%', - height: '81%', + height: '72%', flexDirection: "column" }, }); \ No newline at end of file diff --git a/app/components/TabNavigation.tsx b/app/components/TabNavigation.tsx index 6582f58..8353f91 100644 --- a/app/components/TabNavigation.tsx +++ b/app/components/TabNavigation.tsx @@ -1,19 +1,32 @@ import React from 'react'; -import { StyleSheet, View } from 'react-native'; +import { Image, StyleSheet, View } from 'react-native'; +import ANNOUNCEMENTS from "../assets/images/announcements.png"; +import EVENTS from "../assets/images/events.png"; +import HOME from "../assets/images/home.png"; +import RESOURCE from "../assets/images/resource.png"; + export default function TabNavigation() { return( - - + + + + + ) } const styles = StyleSheet.create({ container: { - flex: 1, - backgroundColor: "#F5F7FE", - alignItems: "center", - justifyContent: "center", + height: "9%", + backgroundColor: "white", + justifyContent: "space-around", + marginHorizontal: 10, + flexDirection: "row" }, + tab_item: { + flexDirection: "row", + marginTop: 10, + } }); \ No newline at end of file From dfeba1b12ba41970eb1d9b2080e1a3ba48a98f08 Mon Sep 17 00:00:00 2001 From: trietmchau Date: Sat, 10 Feb 2024 21:40:06 -0600 Subject: [PATCH 16/25] Add custom marker to map --- .../images/{Vector.png => event-icon.png} | Bin app/components/MapDisplay.tsx | 44 +++++++++++++++--- 2 files changed, 38 insertions(+), 6 deletions(-) rename app/assets/images/{Vector.png => event-icon.png} (100%) diff --git a/app/assets/images/Vector.png b/app/assets/images/event-icon.png similarity index 100% rename from app/assets/images/Vector.png rename to app/assets/images/event-icon.png diff --git a/app/components/MapDisplay.tsx b/app/components/MapDisplay.tsx index 5f2c10c..3076162 100644 --- a/app/components/MapDisplay.tsx +++ b/app/components/MapDisplay.tsx @@ -1,7 +1,10 @@ -import React, { useRef } from 'react'; -import { Dimensions, StyleSheet } from 'react-native'; -import MapView, { PROVIDER_GOOGLE } from 'react-native-maps'; +import React, { useEffect, useRef, useState } from 'react'; +import { Dimensions, Image, StyleSheet } from 'react-native'; +import MapView, { Marker, PROVIDER_GOOGLE } from 'react-native-maps'; +import MARKERICON from "../assets/images/event-icon.png"; +import { EventData } from "../types/EventData"; +const EVENTS_ROUTE = "http://localhost:3000/api/event/events"; const {width, height} = Dimensions.get("window"); /* Adjust map to default pos and zoom, will get default pos from user location */ @@ -15,9 +18,28 @@ const INITIAL_POS = { longitudeDelta: LONGITUDE_DELTA } +let dummy_event = [ + {location: {latitude:29.720628,longitude:-95.393827}}, + {location: {latitude:29.7159701,longitude:-95.3975183}}, + {location: {latitude:29.71943631523983,longitude:-95.3991920282503}}, + {location: {latitude:29.718169113482062,longitude:-95.40369813918241}}, + +] export default function MapDisplay() { const mapRef = useRef(); - + const [eventData, setEventData] = useState([]); + + useEffect(() => { + const fetchEventData = async () => { + try { + const result = await (await fetch(EVENTS_ROUTE)).json(); + setEventData(result); + } catch (error) { + console.error("Error fetching event data:", error); + } + }; + fetchEventData() + }, []) return ( + ref={mapRef}> + {dummy_event.map((event,index) => { + return ( + + + + ) + })} + ); } From f2e58d379f284228f4547e60165fe892b0e1b738 Mon Sep 17 00:00:00 2001 From: trietmchau Date: Tue, 13 Feb 2024 09:20:18 -0600 Subject: [PATCH 17/25] rm --- app/components/WelcomePage.tsx | 51 -------------------------- app/components/dashboard.tsx | 66 ---------------------------------- 2 files changed, 117 deletions(-) delete mode 100644 app/components/WelcomePage.tsx delete mode 100644 app/components/dashboard.tsx diff --git a/app/components/WelcomePage.tsx b/app/components/WelcomePage.tsx deleted file mode 100644 index 7c94112..0000000 --- a/app/components/WelcomePage.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import React from 'react'; -import { Image, StyleSheet, Text, View } from 'react-native'; - -type props = { - profile: string, - image: string, -} - -/* Temporary CSS style sheet to align basic components */ -const styles = StyleSheet.create({ - row: { - flexDirection: 'row', - gap: 20, - alignItems: "center", - marginLeft: 20 - }, - image: { - width: 66, - height: 66, - borderRadius: 30, - // borderColor: "black", - // borderWidth: 2, - }, - text_large : { - fontSize: 23, - fontWeight: "600", - }, - text_small : { - fontSize: 18, - fontWeight: "400" - } - - }); - - -function WelcomePage() { - return ( - - - - - - Welcome, - {props.profile} - - - - ) -} - -export default WelcomePage; \ No newline at end of file diff --git a/app/components/dashboard.tsx b/app/components/dashboard.tsx deleted file mode 100644 index f063041..0000000 --- a/app/components/dashboard.tsx +++ /dev/null @@ -1,66 +0,0 @@ -import React, { useState } from 'react'; -import { StyleSheet, View } from 'react-native'; -import { Text } from 'react-native-paper'; - - - -export default function Dashboard(){ - const [dashInfo, setDashInfo] = useState({Steps: 130,Distance: "1.3 MI",Time: "40 MIN"}); - return( - - Today - - - Steps - {dashInfo.Steps} - - - Distance - {dashInfo.Distance} - - - Time - {dashInfo.Time} - - - - - ) -} - -const styles = StyleSheet.create({ - container: { - flexShrink: 0, - flexDirection: "row", - backgroundColor: "#00426D", - borderRadius:10, - justifyContent: "space-between", - paddingHorizontal: 10, - margin: 10, - fontSize:20, - display: "flex" - }, - subcontainer: { - //flexDirection: "column", - padding:15, - justifyContent:"space-between", - fontSize:20 - }, - text: { - flex: 1, - marginLeft: 15, - fontWeight: "600" - }, - text_activity: { - fontWeight: "400", - fontSize: 15, - color: "white", - paddingBottom: 10 - }, - - userInfo:{ - fontWeight:"500", - color: "white", - fontSize: 16 - } -}) \ No newline at end of file From a43243d96949b6a22d340d47ce2e2de41257f460 Mon Sep 17 00:00:00 2001 From: trietmchau Date: Sat, 17 Feb 2024 14:27:03 -0600 Subject: [PATCH 18/25] Add ability to default map to user location --- app/app.json | 6 +- app/components/MapDisplay.tsx | 36 +++- app/package-lock.json | 371 ++++++++++++++++++---------------- app/package.json | 12 +- 4 files changed, 239 insertions(+), 186 deletions(-) diff --git a/app/app.json b/app/app.json index 7607aa7..cf4f44c 100644 --- a/app/app.json +++ b/app/app.json @@ -15,13 +15,15 @@ "**/*" ], "ios": { - "supportsTablet": true + "supportsTablet": true, + "bundleIdentifier": "com.anonymous.app" }, "android": { "adaptiveIcon": { "foregroundImage": "./assets/adaptive-icon.png", "backgroundColor": "#ffffff" - } + }, + "package": "com.anonymous.app" }, "web": { "favicon": "./assets/favicon.png" diff --git a/app/components/MapDisplay.tsx b/app/components/MapDisplay.tsx index 3076162..9c36b63 100644 --- a/app/components/MapDisplay.tsx +++ b/app/components/MapDisplay.tsx @@ -1,3 +1,4 @@ +import * as Location from 'expo-location'; import React, { useEffect, useRef, useState } from 'react'; import { Dimensions, Image, StyleSheet } from 'react-native'; import MapView, { Marker, PROVIDER_GOOGLE } from 'react-native-maps'; @@ -11,12 +12,6 @@ const {width, height} = Dimensions.get("window"); const ASPECT_RATIO = width / height; const LATITUDE_DELTA = 0.02; const LONGITUDE_DELTA = LATITUDE_DELTA * ASPECT_RATIO; -const INITIAL_POS = { - latitude: 29.71770, - longitude: -95.39974, - latitudeDelta: LATITUDE_DELTA, - longitudeDelta: LONGITUDE_DELTA -} let dummy_event = [ {location: {latitude:29.720628,longitude:-95.393827}}, @@ -28,6 +23,8 @@ let dummy_event = [ export default function MapDisplay() { const mapRef = useRef(); const [eventData, setEventData] = useState([]); + const [location, setLocation] = useState(); + const [errorMsg, setErrorMsg] = useState(null); useEffect(() => { const fetchEventData = async () => { @@ -41,12 +38,32 @@ export default function MapDisplay() { fetchEventData() }, []) + useEffect(() => { + (async () => { + + let { status } = await Location.requestForegroundPermissionsAsync(); + if (status !== 'granted') { + return; + } + + let location = await Location.getCurrentPositionAsync({}); + let INITIAL_POS = { + latitude: location.coords.latitude, + longitude: location.coords.longitude, + latitudeDelta: LATITUDE_DELTA, + longitudeDelta: LONGITUDE_DELTA + } + console.log(INITIAL_POS); + setLocation(INITIAL_POS); + + })(); + }, []); return ( - {dummy_event.map((event,index) => { return ( @@ -63,6 +80,7 @@ export default function MapDisplay() { ); } + const styles = StyleSheet.create({ map: { width: '100%', diff --git a/app/package-lock.json b/app/package-lock.json index 2807b5b..087628d 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -13,10 +13,14 @@ "expo": "~49.0.13", "expo-constants": "~14.4.2", "expo-linking": "~5.0.2", + "expo-location": "~16.1.0", "expo-router": "^2.0.0", + "expo-splash-screen": "~0.20.5", "expo-status-bar": "~1.6.0", "react": "18.2.0", - "react-native": "0.72.6", + "react-native": "0.72.10", + "react-native-geolocation-service": "^5.3.1", + "react-native-get-location": "^4.0.1", "react-native-maps": "1.7.1", "react-native-paper": "^5.11.1", "react-native-safe-area-context": "4.6.3", @@ -143,16 +147,16 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", - "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", + "version": "7.23.10", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.10.tgz", + "integrity": "sha512-2XpP2XhkXzgxecPNEEK8Vz8Asj9aRxt08oKOqtiZoqV2UGZ5T+EkyP9sXQ9nwMxBIG34a7jmasVqoMop7VdPUw==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-replace-supers": "^7.22.20", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", "semver": "^6.3.1" @@ -249,9 +253,9 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", - "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-module-imports": "^7.22.15", @@ -719,9 +723,9 @@ } }, "node_modules/@babel/plugin-syntax-flow": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz", - "integrity": "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.23.3.tgz", + "integrity": "sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -783,9 +787,9 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -891,9 +895,9 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1151,12 +1155,12 @@ } }, "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz", - "integrity": "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.23.3.tgz", + "integrity": "sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-flow": "^7.22.5" + "@babel/plugin-syntax-flow": "^7.23.3" }, "engines": { "node": ">=6.9.0" @@ -1269,11 +1273,11 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz", - "integrity": "sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", + "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", "dependencies": { - "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-module-transforms": "^7.23.3", "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-simple-access": "^7.22.5" }, @@ -1679,14 +1683,14 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz", - "integrity": "sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", + "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-create-class-features-plugin": "^7.23.6", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.22.5" + "@babel/plugin-syntax-typescript": "^7.23.3" }, "engines": { "node": ">=6.9.0" @@ -1848,13 +1852,13 @@ } }, "node_modules/@babel/preset-flow": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.22.15.tgz", - "integrity": "sha512-dB5aIMqpkgbTfN5vDdTRPzjqtWiZcRESNR88QYnoPR+bmdYoluOzMX9tQerTv0XzSgZYctPfO1oc0N5zdog1ew==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.23.3.tgz", + "integrity": "sha512-7yn6hl8RIv+KNk6iIrGZ+D06VhVY35wLVf23Cz/mMu1zOr7u4MMP4j0nZ9tLf8+4ZFpnib8cFYgB/oYg9hfswA==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-transform-flow-strip-types": "^7.22.5" + "@babel/plugin-transform-flow-strip-types": "^7.23.3" }, "engines": { "node": ">=6.9.0" @@ -1877,15 +1881,15 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.2.tgz", - "integrity": "sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz", + "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.23.0", - "@babel/plugin-transform-typescript": "^7.22.15" + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-typescript": "^7.23.3" }, "engines": { "node": ">=6.9.0" @@ -1895,14 +1899,14 @@ } }, "node_modules/@babel/register": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.22.15.tgz", - "integrity": "sha512-V3Q3EqoQdn65RCgTLwauZaTfd1ShhwPmbBv+1dkZV/HpCGMKVyn6oFcRlI7RaKqiDQjX2Qd3AuoEguBgdjIKlg==", + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.23.7.tgz", + "integrity": "sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==", "dependencies": { "clone-deep": "^4.0.1", "find-cache-dir": "^2.0.0", "make-dir": "^2.1.0", - "pirates": "^4.0.5", + "pirates": "^4.0.6", "source-map-support": "^0.5.16" }, "engines": { @@ -3861,19 +3865,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", @@ -3891,11 +3895,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" @@ -4097,11 +4101,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", @@ -4174,22 +4178,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", @@ -4440,9 +4444,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" }, @@ -4508,12 +4512,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" @@ -4584,11 +4588,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", @@ -4791,11 +4795,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", @@ -5070,12 +5074,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", @@ -5283,12 +5287,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", @@ -5319,9 +5323,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", @@ -5500,9 +5504,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" }, @@ -5541,9 +5545,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" } @@ -5767,9 +5771,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" }, @@ -5835,13 +5839,16 @@ "integrity": "sha512-Im93xRJuHHxb1wniGhBMsxLwcfzdYreSZVQGDoMJgkd6+Iky61LInGEHnQCTN0fKNYF1Dvcofb4uMmE1RQHXHQ==" }, "node_modules/@react-native/codegen": { - "version": "0.72.7", - "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.72.7.tgz", - "integrity": "sha512-O7xNcGeXGbY+VoqBGNlZ3O05gxfATlwE1Q1qQf5E38dK+tXn5BY4u0jaQ9DPjfE8pBba8g/BYI1N44lynidMtg==", + "version": "0.72.8", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.72.8.tgz", + "integrity": "sha512-jQCcBlXV7B7ap5VlHhwIPieYz89yiRgwd2FPUBu+unz+kcJ6pAiB2U8RdLDmyIs8fiWd+Vq1xxaWs4TR329/ng==", "dependencies": { "@babel/parser": "^7.20.0", "flow-parser": "^0.206.0", + "glob": "^7.1.1", + "invariant": "^2.2.4", "jscodeshift": "^0.14.0", + "mkdirp": "^0.5.1", "nullthrows": "^1.1.1" }, "peerDependencies": { @@ -6061,9 +6068,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" } @@ -6270,9 +6277,9 @@ } }, "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "bin": { "acorn": "bin/acorn" }, @@ -6466,9 +6473,9 @@ } }, "node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" }, "node_modules/async-limiter": { "version": "1.0.1", @@ -7564,13 +7571,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/destroy": { @@ -7660,9 +7667,9 @@ } }, "node_modules/envinfo": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", - "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", + "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" }, @@ -7901,6 +7908,14 @@ "url-parse": "^1.5.9" } }, + "node_modules/expo-location": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/expo-location/-/expo-location-16.1.0.tgz", + "integrity": "sha512-/jfRyYrXb9vjr8HoYmVHnzEqnw+0jaoRbHsxj6ePPAbevXmvXZqYHFRtfZtQ+q32SB4X6kUAXu28eBcLS+tqaA==", + "peerDependencies": { + "expo": "*" + } + }, "node_modules/expo-modules-autolinking": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-1.5.1.tgz", @@ -8098,9 +8113,9 @@ } }, "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", @@ -8696,9 +8711,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" }, @@ -8706,7 +8721,7 @@ "image-size": "bin/image-size.js" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.x" } }, "node_modules/import-fresh": { @@ -9506,9 +9521,9 @@ } }, "node_modules/jest-validate/node_modules/@types/yargs": { - "version": "17.0.28", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.28.tgz", - "integrity": "sha512-N3e3fkS86hNhtk6BEnc0rj3zcehaxx8QWhCROJkqpl5Zaoi7nAic3jH8q94jVD3zu5LGk+PUB6KAiDmimYOEQw==", + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", "dependencies": { "@types/yargs-parser": "*" } @@ -9647,13 +9662,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" } @@ -10423,9 +10438,9 @@ } }, "node_modules/metro-file-map/node_modules/@types/yargs": { - "version": "16.0.6", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.6.tgz", - "integrity": "sha512-oTP7/Q13GSPrgcwEwdlnkoZSQ1Hg9THe644qq8PG6hhJzjZ3qj1JjEFPIwWV/IXVs5XGIVqtkNOS9kh63WIJ+A==", + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" } @@ -12162,24 +12177,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", @@ -12213,6 +12229,11 @@ "react": "18.2.0" } }, + "node_modules/react-native-geolocation-service": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/react-native-geolocation-service/-/react-native-geolocation-service-5.3.1.tgz", + "integrity": "sha512-LTXPtPNmrdhx+yeWG47sAaCgQc3nG1z+HLLHlhK/5YfOgfLcAb9HAkhREPjQKPZOUx8pKZMIpdGFUGfJYtimXQ==" + }, "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", @@ -12230,6 +12251,14 @@ "react-native": "*" } }, + "node_modules/react-native-get-location": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/react-native-get-location/-/react-native-get-location-4.0.1.tgz", + "integrity": "sha512-blDWHI7f+gfzXbrrlFNRjpVMuuMTng3hsKR0Yi3iPNIM5LRs0EJDYvvdQaauFk7mJPryOxRE3+A5XAr+3kkpFg==", + "peerDependencies": { + "react-native": ">=0.60" + } + }, "node_modules/react-native-maps": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/react-native-maps/-/react-native-maps-1.7.1.tgz", @@ -13387,9 +13416,9 @@ } }, "node_modules/terser": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.22.0.tgz", - "integrity": "sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==", + "version": "5.27.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.1.tgz", + "integrity": "sha512-29wAr6UU/oQpnTw5HoadwjUZnFQXGdOfj0LjZ4sVxzqwHh/QVkvr7m8y9WoR4iN3FRitVduTc6KdjcW38Npsug==", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -14062,9 +14091,9 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "node_modules/yaml": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.3.tgz", - "integrity": "sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", "engines": { "node": ">= 14" } diff --git a/app/package.json b/app/package.json index eac3c2c..6b46c65 100644 --- a/app/package.json +++ b/app/package.json @@ -4,8 +4,8 @@ "main": "node_modules/expo/AppEntry.js", "scripts": { "start": "expo start", - "android": "expo start --android", - "ios": "expo start --ios", + "android": "expo run:android", + "ios": "expo run:ios", "web": "expo start --web" }, "dependencies": { @@ -17,12 +17,16 @@ "expo-router": "^2.0.0", "expo-status-bar": "~1.6.0", "react": "18.2.0", - "react-native": "0.72.6", + "react-native": "0.72.10", + "react-native-geolocation-service": "^5.3.1", + "react-native-get-location": "^4.0.1", "react-native-maps": "1.7.1", "react-native-paper": "^5.11.1", "react-native-safe-area-context": "4.6.3", "react-native-screens": "~3.22.0", - "react-native-vector-icons": "^10.0.1" + "react-native-vector-icons": "^10.0.1", + "expo-location": "~16.1.0", + "expo-splash-screen": "~0.20.5" }, "devDependencies": { "@babel/core": "^7.20.0", From 09a9578b0accbd257586e0d1d59958071f04b588 Mon Sep 17 00:00:00 2001 From: trietmchau Date: Sat, 17 Feb 2024 15:15:43 -0600 Subject: [PATCH 19/25] Refactor code to adjust component height easier from App.tsx --- app/App.tsx | 32 ++++++++++++++++++++++++++----- app/components/EventCard.tsx | 19 ++++++++++++++++++ app/components/EventSearchBar.tsx | 11 ++--------- app/components/MapDisplay.tsx | 15 +++------------ app/components/TabNavigation.tsx | 13 +++---------- 5 files changed, 54 insertions(+), 36 deletions(-) create mode 100644 app/components/EventCard.tsx diff --git a/app/App.tsx b/app/App.tsx index 7f39e4e..67b10af 100644 --- a/app/App.tsx +++ b/app/App.tsx @@ -3,13 +3,12 @@ import { StyleSheet, View } from 'react-native'; import EventSearchBar from './components/EventSearchBar'; import MapDisplay from "./components/MapDisplay"; import TabNavigation from './components/TabNavigation'; - export default function App() { return ( - - - + + + ); } @@ -17,6 +16,29 @@ export default function App() { const styles = StyleSheet.create({ container: { flexDirection: "column", - backgroundColor: "#F5F7FE", + backgroundColor: "#F5F7FE", + flex: 1, + alignItems: 'center', + justifyContent: 'center', + }, + mapContainer: { + width: '100%', + height: '72%', + flexDirection: "column" + }, + searchBarContainer: { + width: '100%', + height: "19%", + flexDirection: "column", + backgroundColor: "#00426E", + alignItems: "center" }, + tabNavigationContainer: { + width: '100%', + height: "9%", + flexDirection: "row", + backgroundColor: "white", + justifyContent: "space-around", + marginHorizontal: 10, + } }); diff --git a/app/components/EventCard.tsx b/app/components/EventCard.tsx new file mode 100644 index 0000000..b9e3fd1 --- /dev/null +++ b/app/components/EventCard.tsx @@ -0,0 +1,19 @@ +import React from 'react'; +import { StyleSheet, Text, View } from 'react-native'; + + +export default function EventCard() { + return ( + + ODIJWEOIDOWEIJOWEIJFOWIEJFOWIEJFWOIJFWOIFJWOIFJOIFWEF + + ); +} + +const styles = StyleSheet.create({ + container: { + flexDirection: "column", + justifyContent: "center", + alignItems: "center" + } +}); \ No newline at end of file diff --git a/app/components/EventSearchBar.tsx b/app/components/EventSearchBar.tsx index 25559a5..696f7d4 100644 --- a/app/components/EventSearchBar.tsx +++ b/app/components/EventSearchBar.tsx @@ -2,9 +2,9 @@ import { SearchBar } from "@rneui/themed"; import React from 'react'; import { StyleSheet, Text, View } from 'react-native'; -export default function EventSearchBar() { +export default function EventSearchBar(props: {container: object}) { return( - + (); const [eventData, setEventData] = useState([]); const [location, setLocation] = useState(); @@ -60,7 +60,7 @@ export default function MapDisplay() { }, []); return ( + @@ -18,15 +18,8 @@ export default function TabNavigation() { } const styles = StyleSheet.create({ - container: { - height: "9%", - backgroundColor: "white", - justifyContent: "space-around", - marginHorizontal: 10, - flexDirection: "row" - }, tab_item: { flexDirection: "row", marginTop: 10, } - }); \ No newline at end of file +}); \ No newline at end of file From dbd7f31e10cf5ca8bd9c38cd5c666b9c3ab97f61 Mon Sep 17 00:00:00 2001 From: trietmchau Date: Sun, 18 Feb 2024 19:14:53 -0600 Subject: [PATCH 20/25] Create structure for event card --- app/App.tsx | 42 +++++++++-- app/assets/images/back arrow icon.png | Bin 0 -> 269 bytes app/assets/images/calendar icon.png | Bin 0 -> 500 bytes app/assets/images/location icon.png | Bin 0 -> 484 bytes app/components/EventCard.tsx | 96 +++++++++++++++++++++++--- app/components/MapDisplay.tsx | 1 - 6 files changed, 123 insertions(+), 16 deletions(-) create mode 100644 app/assets/images/back arrow icon.png create mode 100644 app/assets/images/calendar icon.png create mode 100644 app/assets/images/location icon.png diff --git a/app/App.tsx b/app/App.tsx index 67b10af..6ffef26 100644 --- a/app/App.tsx +++ b/app/App.tsx @@ -1,14 +1,36 @@ import React from 'react'; import { StyleSheet, View } from 'react-native'; -import EventSearchBar from './components/EventSearchBar'; -import MapDisplay from "./components/MapDisplay"; -import TabNavigation from './components/TabNavigation'; +import EventCard from './components/EventCard'; +// import EventSearchBar from './components/EventSearchBar'; +// import MapDisplay from "./components/MapDisplay"; +// import TabNavigation from './components/TabNavigation'; + +const dummy_event = { + "id": "65cfe6e096a2d6a316f46e70", + "title": "Spring Walk", + "description": "Join us for a walking event in the Spring! We will be walking around 5 miles in total.", + "featureImage": "https://studio5.ksl.com/wp-content/uploads/2020/05/walkfeet520-740x493.jpg", + "startTime": "2024-10-17T12:34:03.874Z", + "endTime": "2024-10-17T21:34:03.874Z", + "link": "https://example.com", + "date": "2024-03-15T18:00:00.000Z", + "duration": 180, + "location": { + "latitude": 0, + "longitude": 0, + "address": "6100 Main St, Houston, TX 77005", + "_id": "65cfe6e001bce9780f9897df" + }, + "organization": "65cfda3383058492e13dba01", + "__v": 0 +} export default function App() { return ( - + {/* - + */} + ); } @@ -40,5 +62,15 @@ const styles = StyleSheet.create({ backgroundColor: "white", justifyContent: "space-around", marginHorizontal: 10, + }, + FullEventContainer: { + + flexDirection: "column", + flexGrow: 1, + alignItems: "center", + }, + PartialEventContainer: { + width: '100%', + height: "35%", } }); diff --git a/app/assets/images/back arrow icon.png b/app/assets/images/back arrow icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5f302eae64398f452db040165ff0f294dce8edb9 GIT binary patch literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^xGZx^prwfgF}}M_)$E)e-c@N{6(HFjv*C{Z?9kEZ88uz_Hn)60}k1PqIV7m z-tjRnWO19oThjbl&#Y14!Af2BzjY^D4_yA==)kX_l;!5Ys#J8{`$}b-Kvl)^gZz>; zCFeezdZc#n*;_L!)^g*6;uTwjWFB6WYfk1$DG+q$e0Qhr+L^F}>RZyLuWwJR$mLnz z`*5pn%l-+D8|Qo9VqI_b_r*tXNs;)Rr}YK9mPSYCY;F-2G=0RrKk5ADKw*IvplcaC MUHx3vIVCg!04=X!VE_OC literal 0 HcmV?d00001 diff --git a/app/assets/images/calendar icon.png b/app/assets/images/calendar icon.png new file mode 100644 index 0000000000000000000000000000000000000000..517e7c1c6a4f77f46d21f3367b6057251f2d03b4 GIT binary patch literal 500 zcmVfjnCnv533`eh8a5i%-b#iH_sv z1gm!*U455qFJoJ}DoZYDrKCA#5}??GyuM;KbWsFOXAGvAG`is=R!WXiM)iJ#Vz^2N zJVOe4S||jCeZfNsI2F4@Wds?P*?RgFoDNk*9HoUn#=jI~YGp>ulubbub&-5S3z7$B zqSJn)C4Gy!XQw5DEf3>v6aSxsB+|4k{fu3k(-HMCeeUi0VYS^Oi!KTwdc^d_k9}le qQ(xp;fryEdboBk}D+~NpN__%f`h=0If=RUi0000DYvXdb8#eQ7qJBQOCQ(1ZnG1K1#J(7Y6+3W;t&M#y7DL(HA!My-{$ zN%I8iNr{yB{Q3OfZv*_*z@~{;(Yx;`cLGY?(5FW;Qy1lJ8URFMqtKfd_?DEjoAQYJbH@wG9WrQpe%|5jy@(Dp~%ejcN5l8WR& z%v^NhU2wF)M&q0s7aDK{Qdo|$#ODogxX+5B2JD+9?Fz#)a5FvD09;jG=L#FV1{uk` zLtqZcFMaYrZP{%&nG-~4DJY|IiE&I04Z_Hxk2J6=)^?l4gA1xSV2ybfc9UDctEein zT%o0aBjNgP_%4gP8gQfL)rD^8bu{nO9Wf;@Z&%j=Tvg7u+7A{1-A1Wdl8^mM7w{?m aVf+G5thL50@%3l`0000([]); -export default function EventCard() { return ( - - ODIJWEOIDOWEIJOWEIJFOWIEJFOWIEJFWOIJFWOIFJWOIFJOIFWEF - + + + + + {props.eventData.title} + Hosted by Rice University + + + + {props.eventData.date.toLocaleString()} + Rice University + {props.eventData.link} + + + Register + + + + + + asd + abc + + + ); } - const styles = StyleSheet.create({ - container: { + img_container: { + height: window.height * 0.20, + width: window.width + }, + description_container: { flexDirection: "column", - justifyContent: "center", - alignItems: "center" + height: "auto", + width: window.width * 0.9, + marginVertical: 15, + backgroundColor: "green" + }, + information_container: { + flexDirection: "row", + justifyContent: "space-between", + bottom: 0 + }, + participant_container: { + height: 230, + width: window.width * 0.9, + backgroundColor: "yellow", + flexDirection: "column", + }, + challenge_container: { + height: 230, + width: window.width * 0.9, + backgroundColor: "red" + }, + baseText: { + flex: 1, + fontSize: 15, + fontWeight: "400", + color: "#00426D" + }, + headerText: { + + }, + titleText: { + fontWeight: "600", + fontSize: 27, + color: "#00426D", + flex: 1 + }, + registerBtn: { + height: 45, + width: 123, + justifyContent: 'center', + alignItems: 'center', + backgroundColor: "#00426D", + borderRadius: 7 + + }, + btnText: { + fontWeight: "700", } + }); \ No newline at end of file diff --git a/app/components/MapDisplay.tsx b/app/components/MapDisplay.tsx index 2275902..498abe6 100644 --- a/app/components/MapDisplay.tsx +++ b/app/components/MapDisplay.tsx @@ -53,7 +53,6 @@ export default function MapDisplay(props: {container: object}) { latitudeDelta: LATITUDE_DELTA, longitudeDelta: LONGITUDE_DELTA } - console.log(INITIAL_POS); setLocation(INITIAL_POS); })(); From a4be215995d0e3e552f619e131a648ef1e86e1fb Mon Sep 17 00:00:00 2001 From: trietmchau Date: Sun, 18 Feb 2024 23:04:27 -0600 Subject: [PATCH 21/25] Complete event card --- app/assets/images/challenge_icon.png | Bin 0 -> 1173 bytes app/components/EventCard.tsx | 114 ++++++++++++++++++----- app/components/resource/ResourceCard.tsx | 54 ----------- app/components/resource/ResourceList.tsx | 16 ---- 4 files changed, 93 insertions(+), 91 deletions(-) create mode 100644 app/assets/images/challenge_icon.png delete mode 100644 app/components/resource/ResourceCard.tsx delete mode 100644 app/components/resource/ResourceList.tsx diff --git a/app/assets/images/challenge_icon.png b/app/assets/images/challenge_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8694f3c22fd2687a1cb28847bc0511b1a0f2eaff GIT binary patch literal 1173 zcmV;G1Zw+a#^&nY0J4j_|glKE{1;$Q~5|$1QjlV$F&JsBk z9$qvpch!(Rm&O|zqOnvmP>=2Q+_}22Z@yhcl2*-mE^Dq(1&{>aA zK7H&H(YJ^un(&+ZFrng+#ZFd;+_c5Qn$83s)57EMgT>VOi3}1e!3k^hs%5L|L-(0b zmWjg6%t@?|q+5o?%!>u1&Ky~tz`r1JhFHvPJX)+EBx$7RER9eb8*9%{1nl-AK`=h3 zkLnT~UTUNqi~~nu1+!iaW59R_DZz$yi~*w)nq91^+rvU-ZCp4Z70FK_osr!(8X*>Q z{}q-bP>%E$LWo~{ObJ&<35Rld6jBq`8Jq$fda>ZVCfFh+rI~{;eSQ>qIDkh%kp2kD zSu#-LlJZwXDZ)302fKyT2J$CuSReoPQ@-k>#$`blaCOi+oB{X=b&<0VUT6Q zYTnY;fjG+dl8sh}OnzIrp%59j3jh80ybBy0U)BjpT*;ixCXbwIE>fHi`2Z$2Ir6&p z|70R?1{Mh1f(h~bb=V;B$zH06QgZK84QVHyv|d{wr(uWrU|c7uOLDfSP;QM0NxA|3 zI6Rp$ZWiAf8!E=9?uq_f%05Cu`uamd3gCiHueHf7(Mwv?fPM=tmKIME16w^pk=xM; z8B#zL_L-T>TDOeuyQT^aEMh5p`Z@@+55{p#+t>AbgjjrhD|$Hn1WJLxw30Hd(MZ`yuP9#26P;xgu8*qnc-Q zLTu`!miU`(TsV$CLcgIwGRF-j*D%zrq)OBJ8;pvXrDZJ;GC0pA;0`Pdc7LIK=QsK9 zagUU|kMezBZ)Xd`l0ni{bcr@sJ9a{hz1?lxxJyFQu5D!~QmJI<+ppVtnKnJ05aaqo ziZx&>UDZh4d{DxVoiDI~L&mjxuZhenZJcvfdixnac#(2X_+e9vNZ-8p=1 zrq?;DUl4s5s4kgINac&63b1$3;_e0Cv|7sQHiWy5Z%zN4NLHsU?rzN4N|O9N#+k*H zfe70}fcQFRBvTSF=eisy*7Q_gAmqZlg+9B8gKdE>%5ZIAl^l%?r~pIutVe5{^LKqj n+7jorO^2$0^|AMrE)stMTIj~fNm?@300000NkvXXu0mjf@;DTi literal 0 HcmV?d00001 diff --git a/app/components/EventCard.tsx b/app/components/EventCard.tsx index 87fb68f..3841f73 100644 --- a/app/components/EventCard.tsx +++ b/app/components/EventCard.tsx @@ -1,5 +1,6 @@ import React, { useState } from 'react'; import { Dimensions, Image, Pressable, ScrollView, StyleSheet, Text, View } from 'react-native'; +import CHALLENGE_ICON from "../assets/images/challenge_icon.png"; import { EventData } from '../types/EventData'; const window = Dimensions.get("window"); @@ -12,66 +13,97 @@ export default function EventCard(props: {container: object, eventData: EventDat + {props.eventData.title} - Hosted by Rice University + Hosted by Rice University - {props.eventData.date.toLocaleString()} - Rice University + {(new Date(props.eventData.date)).toLocaleDateString()} + Rice University {props.eventData.link} - Register + Register + - asd - abc + + 23 Participating + See leaderboard + + + + {[1,1,1,1,1,1,1].map((i) => { + return ( + + ) + })} + + + + + + Challenges + {["Run 5k under 25 minutes","Invite 4 friends"].map((challenge_text) => { + return( + + + {challenge_text} + + ) + })} + + + + + Event Description + {props.eventData.description} - ); } const styles = StyleSheet.create({ img_container: { - height: window.height * 0.20, + height: window.height * 0.23, width: window.width }, description_container: { flexDirection: "column", height: "auto", width: window.width * 0.9, - marginVertical: 15, - backgroundColor: "green" + marginTop: 15, + }, information_container: { flexDirection: "row", justifyContent: "space-between", - bottom: 0 }, participant_container: { - height: 230, + height: "auto", width: window.width * 0.9, - backgroundColor: "yellow", flexDirection: "column", + marginVertical: 15, }, challenge_container: { - height: 230, + height: "auto", width: window.width * 0.9, - backgroundColor: "red" }, baseText: { - flex: 1, fontSize: 15, fontWeight: "400", - color: "#00426D" + color: "#00426D", + }, headerText: { - + fontSize: 18, + fontWeight: "600", + color: "#00426D", + marginBottom: 10 }, titleText: { fontWeight: "600", @@ -85,11 +117,51 @@ const styles = StyleSheet.create({ justifyContent: 'center', alignItems: 'center', backgroundColor: "#00426D", - borderRadius: 7 - + borderRadius: 6, + bottom: -13 }, btnText: { fontWeight: "700", - } + fontSize: 18 + }, + circle_frame: { + width: (window.width*0.9)/7-7, + height: (window.width*0.9)/7-7, + borderRadius: ((window.width*0.9)/7-7)/2, + backgroundColor: "black", + marginRight: 8 + }, + challenge_text: { + fontWeight: "500", + fontSize: 18, + color: "#00426D", + marginLeft: 20 + }, + challenge_box: { + backgroundColor: "white", + marginBottom: 9, + flexDirection: "row", + alignItems: "center", + borderRadius: 4, + height: 67, + shadowColor: "#333", + shadowOffset: { + width: 4, + height: 4 + }, + shadowOpacity: 0.15, + shadowRadius: 5, + }, + event_description_container: { + height: "auto", + width: window.width * 0.9, + marginTop: 10 + }, + description_text: { + fontSize: 20, + fontWeight: "600", + color: "#00426D", + + } }); \ No newline at end of file diff --git a/app/components/resource/ResourceCard.tsx b/app/components/resource/ResourceCard.tsx deleted file mode 100644 index fc5e508..0000000 --- a/app/components/resource/ResourceCard.tsx +++ /dev/null @@ -1,54 +0,0 @@ -import { Card } from 'react-native-paper' -import { Image, Linking, StyleSheet } from 'react-native'; -import { ResourceData } from "../../types/ResourceData"; - -// dummy resources for testing -let resource1: ResourceData = { - title: "Resource #1", - link: new URL('https://www.linkedin.com'), - featureImage: new URL('https://picsum.photos/id/82/3888/2592'), - organization: { - organizationId: 3, - name: 'LinkedIn', - image: new URL('https://picsum.photos/id/88/3888/2592'), - } -} - -let resource2: ResourceData = { - title: "Resource #2", - link: new URL('https://www.instagram.com'), - featureImage: new URL('https://picsum.photos/id/85/3888/2592'), - organization: { - organizationId: 3, - name: 'Instagram', - image: new URL('https://picsum.photos/id/89/3888/2592'), - } -} - -const ResourceCard = (props: { resourceData: ResourceData }) => { - const styles = StyleSheet.create({ - orgIcon: { - width: 40, - height: 40, - borderRadius: 50, - }, - - cardText: { - alignItems: 'center', - } - }); - - return ( - { Linking.openURL(props.resourceData.link.toString()) }}> - - - } - /> - - ) -} - -export default ResourceCard; diff --git a/app/components/resource/ResourceList.tsx b/app/components/resource/ResourceList.tsx deleted file mode 100644 index 398e7e7..0000000 --- a/app/components/resource/ResourceList.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { ScrollView } from 'react-native'; - -import ResourceCard from './ResourceCard' -import { ResourceData } from "../../types/ResourceData"; - -const ResourceList = (props: { resourceList: ResourceData[] }) => { - return ( - - {props.resourceList.map(event => { - return - })} - - ) -} - -export default ResourceList; From d5342656974de2d37a96b7853d9b39e5ceec26fd Mon Sep 17 00:00:00 2001 From: trietmchau Date: Sun, 18 Feb 2024 23:18:43 -0600 Subject: [PATCH 22/25] Add back btn --- .../images/{back arrow icon.png => back_btn.png} | Bin app/components/EventCard.tsx | 10 +++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) rename app/assets/images/{back arrow icon.png => back_btn.png} (100%) diff --git a/app/assets/images/back arrow icon.png b/app/assets/images/back_btn.png similarity index 100% rename from app/assets/images/back arrow icon.png rename to app/assets/images/back_btn.png diff --git a/app/components/EventCard.tsx b/app/components/EventCard.tsx index 3841f73..6390645 100644 --- a/app/components/EventCard.tsx +++ b/app/components/EventCard.tsx @@ -1,5 +1,6 @@ import React, { useState } from 'react'; import { Dimensions, Image, Pressable, ScrollView, StyleSheet, Text, View } from 'react-native'; +import BACK_BTN from "../assets/images/back_btn.png"; import CHALLENGE_ICON from "../assets/images/challenge_icon.png"; import { EventData } from '../types/EventData'; @@ -12,7 +13,7 @@ export default function EventCard(props: {container: object, eventData: EventDat return ( - + {props.eventData.title} @@ -162,6 +163,13 @@ const styles = StyleSheet.create({ fontWeight: "600", color: "#00426D", + }, + back_btn: { + position: "absolute", + height: "auto", + width: "auto", + left: "3%", + top: "6%" } }); \ No newline at end of file From f542c29741c4d9165557a31e9b0d56feee25fcd0 Mon Sep 17 00:00:00 2001 From: trietmchau Date: Sat, 24 Feb 2024 15:55:59 -0600 Subject: [PATCH 23/25] Link event to marker --- app/App.tsx | 15 ++- app/assets/images/Vector.png | Bin 0 -> 466 bytes app/components/MapDisplay.tsx | 182 +++++++++++++++++++++++------- app/components/ShortEventCard.tsx | 73 ++++++++++++ 4 files changed, 220 insertions(+), 50 deletions(-) create mode 100644 app/assets/images/Vector.png create mode 100644 app/components/ShortEventCard.tsx diff --git a/app/App.tsx b/app/App.tsx index 6ffef26..21a97ea 100644 --- a/app/App.tsx +++ b/app/App.tsx @@ -1,9 +1,9 @@ import React from 'react'; import { StyleSheet, View } from 'react-native'; -import EventCard from './components/EventCard'; -// import EventSearchBar from './components/EventSearchBar'; -// import MapDisplay from "./components/MapDisplay"; -// import TabNavigation from './components/TabNavigation'; +// import EventCard from './components/EventCard'; +import EventSearchBar from './components/EventSearchBar'; +import MapDisplay from "./components/MapDisplay"; +import TabNavigation from './components/TabNavigation'; const dummy_event = { "id": "65cfe6e096a2d6a316f46e70", @@ -27,10 +27,10 @@ const dummy_event = { export default function App() { return ( - {/* + - */} - + + {/* */} ); } @@ -46,7 +46,6 @@ const styles = StyleSheet.create({ mapContainer: { width: '100%', height: '72%', - flexDirection: "column" }, searchBarContainer: { width: '100%', diff --git a/app/assets/images/Vector.png b/app/assets/images/Vector.png new file mode 100644 index 0000000000000000000000000000000000000000..8f2272b1e5bb1641a51fb73e5ab5a8d4a57c8278 GIT binary patch literal 466 zcmV;@0WJQCP)K~#7Fjgrl6 zgFq04VU1+Vm$(E{L6Qzg2ks#Fg2bN`Dj-w<76Oit3Y-q?4j>(n4mfc@2=c}PL=dqV z36@>GZ|2P`95)kj9Pgqi61jhZA8#PEo2HTRIRHG*Uj#w06h+DYK$I2Y6Fzrs+a6b| z)z@aTDax`Gv402n#u)ohRn-}wAP7<{`F6WKAd0D-E@=wb(KOBD0gxRVz{?!ahwu9m zs-3E;dSp}@&+!&OVVdTJ+^pAYnZdIJDB~6cbl=d6tlQ^HAOHm{J`j|nNofg$N>9-K zFuXpguX_MZkXk{dgw=KJVe=e@;rfcF9mru?uiQ-h0wM;y>&w3oa{vGU07*qo IM6N<$g4B1rFaQ7m literal 0 HcmV?d00001 diff --git a/app/components/MapDisplay.tsx b/app/components/MapDisplay.tsx index 498abe6..50f07e3 100644 --- a/app/components/MapDisplay.tsx +++ b/app/components/MapDisplay.tsx @@ -1,9 +1,10 @@ import * as Location from 'expo-location'; import React, { useEffect, useRef, useState } from 'react'; -import { Dimensions, Image } from 'react-native'; +import { Dimensions, Image, StyleSheet, View } from 'react-native'; import MapView, { Marker, PROVIDER_GOOGLE } from 'react-native-maps'; import MARKERICON from "../assets/images/event-icon.png"; import { EventData } from "../types/EventData"; +import ShortEventCard from './ShortEventCard'; const EVENTS_ROUTE = "http://localhost:3000/api/event/events"; const {width, height} = Dimensions.get("window"); @@ -14,17 +15,90 @@ const LATITUDE_DELTA = 0.02; const LONGITUDE_DELTA = LATITUDE_DELTA * ASPECT_RATIO; let dummy_event = [ - {location: {latitude:29.720628,longitude:-95.393827}}, - {location: {latitude:29.7159701,longitude:-95.3975183}}, - {location: {latitude:29.71943631523983,longitude:-95.3991920282503}}, - {location: {latitude:29.718169113482062,longitude:-95.40369813918241}}, + { + id: "65cfe6e096a2d6a316f46e70", + title: "Spring Walk", + description: "Join us for a walking event in the Spring! We will be walking around 5 miles in total.", + featureImage: "https://studio5.ksl.com/wp-content/uploads/2020/05/walkfeet520-740x493.jpg", + startTime: "2024-10-17T12:34:03.874Z", + endTime: "2024-10-17T21:34:03.874Z", + link: "https://example.com", + date: "2024-03-15T18:00:00.000Z", + duration: 180, + location: { + latitude: 29.720628, + longitude: -95.393827, + address: "6100 Main St, Houston, TX 77005", + _id: "65cfe6e001bce9780f9897df" + }, + organization: "65cfda3383058492e13dba01", + __v: 0 + }, + { + id: "65cfe6e096a2d6a316f46e70", + title: "Marathon", + description: "32km marathon run", + featureImage: "https://studio5.ksl.com/wp-content/uploads/2020/05/walkfeet520-740x493.jpg", + startTime: "2024-10-17T12:34:03.874Z", + endTime: "2024-10-17T21:34:03.874Z", + link: "https://example.com", + date: "2024-03-15T18:00:00.000Z", + duration: 180, + location: { + latitude:29.7159701, + longitude:-95.3975183, + address: "6100 Main St, Houston, TX 77005", + _id: "65cfe6e001bce9780f9897df" + }, + organization: "65cfda3383058492e13dba01", + __v: 0 + }, + { + id: "65cfe6e096a2d6a316f46e70", + title: "400m sprints", + description: "400m sprints tournament", + featureImage: "https://studio5.ksl.com/wp-content/uploads/2020/05/walkfeet520-740x493.jpg", + startTime: "2024-10-17T12:34:03.874Z", + endTime: "2024-10-17T21:34:03.874Z", + link: "https://example.com", + date: "2024-03-15T18:00:00.000Z", + duration: 180, + location: { + latitude:29.71943631523983, + longitude:-95.3991920282503, + address: "6100 Main St, Houston, TX 77005", + _id: "65cfe6e001bce9780f9897df" + }, + organization: "65cfda3383058492e13dba01", + __v: 0 + }, + { + id: "65cfe6e096a2d6a316f46e70", + title: "Stretching Yoga", + description: "Yoga event for everyone", + featureImage: "https://studio5.ksl.com/wp-content/uploads/2020/05/walkfeet520-740x493.jpg", + startTime: "2024-10-17T12:34:03.874Z", + endTime: "2024-10-17T21:34:03.874Z", + link: "https://example.com", + date: "2024-03-15T18:00:00.000Z", + duration: 180, + location: { + latitude:29.718169113482062, + longitude:-95.40369813918241, + address: "6100 Main St, Houston, TX 77005", + _id: "65cfe6e001bce9780f9897df" + }, + organization: "65cfda3383058492e13dba01", + __v: 0 + }, ] export default function MapDisplay(props: {container: object}) { const mapRef = useRef(); const [eventData, setEventData] = useState([]); + const [selectedEvent, selectEvent] = useState(dummy_event[0]); const [location, setLocation] = useState(); - const [errorMsg, setErrorMsg] = useState(null); + const [heightVal, setHeight] = useState("0%"); useEffect(() => { const fetchEventData = async () => { @@ -38,43 +112,67 @@ export default function MapDisplay(props: {container: object}) { fetchEventData() }, []) - useEffect(() => { - (async () => { - - let { status } = await Location.requestForegroundPermissionsAsync(); - if (status !== 'granted') { - return; - } - - let location = await Location.getCurrentPositionAsync({}); - let INITIAL_POS = { - latitude: location.coords.latitude, - longitude: location.coords.longitude, - latitudeDelta: LATITUDE_DELTA, - longitudeDelta: LONGITUDE_DELTA - } - setLocation(INITIAL_POS); - - })(); - }, []); - return ( - { + (async () => { + + let { status } = await Location.requestForegroundPermissionsAsync(); + if (status !== 'granted') { + return; + } + + let location = await Location.getCurrentPositionAsync({}); + let INITIAL_POS = { + latitude: location.coords.latitude, + longitude: location.coords.longitude, + latitudeDelta: LATITUDE_DELTA, + longitudeDelta: LONGITUDE_DELTA + } + setLocation(INITIAL_POS); - ref={mapRef}> - {dummy_event.map((event,index) => { - return ( - - - - ) - })} - + })(); + }, []); + + + return ( + + {setHeight("0%")}}> + {dummy_event.map((event,index) => { + return ( + { + selectEvent(event); + console.log(selectEvent) + console.log(event); + setHeight("35%"); + e.stopPropagation(); + }}> + + + ) + })} + + + + + ); } + +const styles = StyleSheet.create({ + callout_container: { + width: "100%", + backgroundColor: "#FFFFFF", + position: "absolute", + bottom: 0 + } +}); \ No newline at end of file diff --git a/app/components/ShortEventCard.tsx b/app/components/ShortEventCard.tsx new file mode 100644 index 0000000..aad03c2 --- /dev/null +++ b/app/components/ShortEventCard.tsx @@ -0,0 +1,73 @@ +import React, { useState } from 'react'; +import { Dimensions, Image, Pressable, ScrollView, StyleSheet, Text, View } from 'react-native'; +import VECTORICON from "../assets/images/Vector.png"; +import { EventData } from '../types/EventData'; + + + + +export default function ShortEventCard(props: { container: object; eventData: EventData; navigation}) { + const [eventData, setEventData] = useState([]); + const {width, height} = Dimensions.get("window"); + const date = new Date(props.eventData.date) + + return ( + {navigation.navigate("EventCard")}}> + + + + {props.eventData.title} + {date.getMonth()}/{date.getDate()} + + + + + Rice University + + {date.getMonth()}/{date.getDate()} + + + Register + + + + ); +} + +const styles = StyleSheet.create({ + img_style: { + width: "100%", + height: 150 + }, + h1: { + fontWeight: "600", + fontSize: 20, + + }, + h2: { + color: "#959595", + fontWeight: "400", + fontSize: 16 + }, + btn_style: { + width: 200, + height: 50, + backgroundColor: "white", + marginTop: 15, + justifyContent: "center", + alignItems: "center", + borderRadius: 20, + borderWidth: 1, + borderColor: "#464646" + + } + }); \ No newline at end of file From 84e053fc183ef0aa0ec5ab796560f15707705515 Mon Sep 17 00:00:00 2001 From: trietmchau Date: Sat, 2 Mar 2024 17:00:18 -0600 Subject: [PATCH 24/25] Add navigation between different screens --- app/App.tsx | 41 ++--- app/assets/images/announcements_selected.png | Bin 0 -> 1224 bytes app/assets/images/events_selected.png | Bin 0 -> 981 bytes app/assets/images/home_selected.png | Bin 0 -> 886 bytes app/assets/images/resource_selected.png | Bin 0 -> 1485 bytes app/components/EventCard.tsx | 4 +- app/components/MapDisplay.tsx | 4 +- app/components/ShortEventCard.tsx | 2 +- app/components/tabs.tsx | 75 +++++++++ app/package-lock.json | 110 ++++++++++--- app/package.json | 13 +- app/screens/announcements.tsx | 10 ++ app/screens/events.tsx | 162 +++++++++++++++++++ app/screens/home.tsx | 10 ++ app/screens/index.tsx | 11 ++ app/screens/resources.tsx | 10 ++ 16 files changed, 396 insertions(+), 56 deletions(-) create mode 100644 app/assets/images/announcements_selected.png create mode 100644 app/assets/images/events_selected.png create mode 100644 app/assets/images/home_selected.png create mode 100644 app/assets/images/resource_selected.png create mode 100644 app/components/tabs.tsx create mode 100644 app/screens/announcements.tsx create mode 100644 app/screens/events.tsx create mode 100644 app/screens/home.tsx create mode 100644 app/screens/index.tsx create mode 100644 app/screens/resources.tsx diff --git a/app/App.tsx b/app/App.tsx index 21a97ea..20e0b27 100644 --- a/app/App.tsx +++ b/app/App.tsx @@ -1,9 +1,10 @@ import React from 'react'; -import { StyleSheet, View } from 'react-native'; +import { StyleSheet } from 'react-native'; // import EventCard from './components/EventCard'; -import EventSearchBar from './components/EventSearchBar'; -import MapDisplay from "./components/MapDisplay"; -import TabNavigation from './components/TabNavigation'; +import { createBottomTabNavigator } from "@react-navigation/bottom-tabs"; +import { NavigationContainer } from '@react-navigation/native'; +import { createNativeStackNavigator } from '@react-navigation/native-stack'; +import Tabs from "./components/tabs"; const dummy_event = { "id": "65cfe6e096a2d6a316f46e70", @@ -24,14 +25,16 @@ const dummy_event = { "organization": "65cfda3383058492e13dba01", "__v": 0 } + +const Stack = createNativeStackNavigator(); +const Tab = createBottomTabNavigator(); + + export default function App() { return ( - - - - - {/* */} - + + + ); } @@ -43,10 +46,6 @@ const styles = StyleSheet.create({ alignItems: 'center', justifyContent: 'center', }, - mapContainer: { - width: '100%', - height: '72%', - }, searchBarContainer: { width: '100%', height: "19%", @@ -54,20 +53,6 @@ const styles = StyleSheet.create({ backgroundColor: "#00426E", alignItems: "center" }, - tabNavigationContainer: { - width: '100%', - height: "9%", - flexDirection: "row", - backgroundColor: "white", - justifyContent: "space-around", - marginHorizontal: 10, - }, - FullEventContainer: { - - flexDirection: "column", - flexGrow: 1, - alignItems: "center", - }, PartialEventContainer: { width: '100%', height: "35%", diff --git a/app/assets/images/announcements_selected.png b/app/assets/images/announcements_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..445f521b7f8a61cf3c227dab6a6fc674fa2c0dd6 GIT binary patch literal 1224 zcmV;(1ULJMP)AYsX>VaKlh2Ms$|aoMq8!q9T`V5{}T%5YtgP2De**=~*GxK`JV~@vKn2krFNWr1-5SE^p z>Hlx6vu5-DPIhR0hmT<(S(r(2z}ZqB+2x^sWDJ8FcH{HA7w*^g`vp388wSw_Gw}x2 zZS6ATMtAb&01U%40bL4{6i#Nc16?OF*&J^?3eytL2r@8-NfNC*IJOsq8}}kCAVXak z?bkK5U)6ZOLZfDU z#Y*XX`GhwQuJe|M={gc7%~5!QA5G$j$M8Lq2Ogq~6i8D*FZcgWtOh)46Q_{^X$hFm z4mobz)~DcBNWS;D&7!xaCOss%0u>!^<4FUO`wM3sPv6_g#lK4-Iq$gCDr|*|%pf~NqYSO=UlxH`` z>GS6aI=oC_5ebl_fPr``n7)q!&rl~VVn33jOcl&?C8>h=Q?P%|hw|VF)(ZYGNeWn} zO3l7|d=m*#hsAtM`mnB39NvEDXl}!t(07yN-`6$C9o`EP3eD^eC!p0c(-t>rt7prM4*&V}lt>a0X8X!*_|v{t(&nW_q@!dB&6 zUe0$UVMVhS#GV&XlnAb5R>1ECENk)Aen;ZCQo-U+{CiTKrj%hSROxWp9L;~YE=4WA zi|!Vv8W@yTYDQW`R*oT#6!$3bQrfHNrXI38lG!~ur-FyyGo|@cep>J^Alr}0z9;dg z5wt9|sHhbx&#WA)vYnRwD_UAFRF|q2Kg>n=y@D_14o;)qg-eq8Q3>qqBm%XYh)zqK zhize^+?X8+oW3CCYDqYw#bJAt`*wrEf)=-zv`iKL#o-Ia-P}Z@uEEpg4Fp{zgP_Y?l!9^Gvyzs5bJre{^X&7s z_+LQquA31b52c{|@x&27S0z5DKO(-)A^82Pq3!EFm$b6+VsuZ^p4IC0qq@vXnb(UJ m{Fz`g{6D6+Y!_g$q{=rqSVk;d5#yl%0000#00009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yP z@Z}dk9hZIY1%A@>X~`Oek(^JZv&FuF5x}RDkxKVFk{Qj>+?s(7(APigc08Ih@lmDp z!A=wGgI_d1OF?Z?5?%8+EXAQqxBe2;2_y)+8*iZfZS4uZmi^^2lFhT%?;GN)y8$A) z_4YXp`8j`?%yGI(kia8m1eGay_y0nVWKuX4BtwJw@AeNzbc38U%uz#0V%&ng&+jZu zTA&Z+;KgZkaC}-?A!=D9EI~kkO%P?2$6*zEj*}Elzjr5qJc|Vp+p#d{vZRSp#r3$} ze|~Baw`H^?YeIyB$e_!TRexBac)R`aWf`Aapm?^?VaXZV(E8&Z1?%A}cPOcBO&uij znUP#zLHdkAWW|vrHgu3|(FRrq`=IUA0R`wFS!sV=3taPmZhoL0cnwYfNwj3UgihkD z{bG}{yHSVTPjw5+AAurtdG`VmYwfJReh7#2Zv|Yhwm=a&gL#GJ*yyd@NkKZ?o-ji5 z>MrPm8C5|>vWDTJfa@+`U^YQ9_^N_dBRl~({RWlG{$Q9WRs2n7riTpBjs5SNu)n=& zVe%dXcz-IQ{VZs3kM=frHj6_KRj_y_( zkQ|60oq3`nODGB`c0hial?%`n$1HG6!L`mFzdu7+<+`h!cau9R zaYy964LGza)v2L;;d#00009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yPiypGR@$xQfw-;p%H^DcJjG)_@=V6e3p6CXWEnaD93 zRhE8}>=SxG(v~-h(U`X$EdR)~hF{-&$-f)9b+RnUn`kSq8(9A0TcEsQQt1jj%I|d~ zS*m9wuijB!H}HdvOi?DH3Hg7Mt-E#eLXzcui1Rn1)(sSZtK1K!wH;7&{H0;p0XP>ty-Q(1rY^ES7Lq~77T_)L5tA+vW0fZz~Atb2^AxTy6|5D}! z_~T3O{xfsHp`-AFU^|D}c7c9xdGO5AD=z_`P_ex+J@`}+0O21;6+)7#5Rz1d&Pz~v z1E`c*xAB&LHwbX8PDk1_++&O;*$Ui|R(P!tA^IA;Ysow6_}IIQ9;4F|#NiIZQOCq5 z&|?Hy%$e|eGW$z|yF56x%KmVeBg`n=w-ys7Dejyn83bw1;GVaqdniw*)3+yf%k%= z?lY`t>=V&G3u|62iFTf6Z_qsZu)qE7W=pg^m-=$RltX+qgy=H<0YucsQgcq8O8@`> M07*qoM6N<$g7`S7!~g&Q literal 0 HcmV?d00001 diff --git a/app/assets/images/resource_selected.png b/app/assets/images/resource_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..41781699a96dcd075629c2004c272259add60e36 GIT binary patch literal 1485 zcmV;;1v2`HP)`Zx4m#eq~g+>_sXg1Utn|O)NtgK^aiJfTRGXi z!6}K1n*3%Q9tztjOG8 zsSTf*3{Jm$kqV<{X{b=t6Hj(qwAcEdpG%sUt>4-D%SiKK%(~xE2Bi8Wqgd`Ri84qG zk5AHzr;n-i?}jd!M3cXV#L_lkLIK(pgJ~*GOlhLeAKixz+FX&g14o5dd2@97vm}_i zo{XKpl<-6ouCKE!(EfMD1>U0w?a&^2&__S$kL%}Yz^Gs%XFmQidGnL65?*ObBBXQ( zSvE><&FFq0vLF>25Xu;^Yw$(t4>h+>-XZiEQqE8;8{;2db%{ij4HhgR^pA1KSjgP4 zbo#xE`iu*anukv4$Z?a?geE@yCK;K$fc}>#CnyXAB5b*Q2U2Y55{Mif<)O1Y^7coX zP}<{miu_UKU9qM#CgU59L{Pp?;~!kr0zc!4h3zMQG~u6kcl5ZFF%*klEm$7%J6>%) zN0g^t4adyc9j|xCcV|L4Ie2e)ZSwclF&W2fCHB-?gyRJ;E_wPMUow~Bt>M)<6lqZY zUK+=&fmjal9me-j@+AY`qRBAUX)svdeb(d<=^Z`3kAg25h2Rk{KVyyjfn{BCB#qx# z!_G+5t$Y-G$pm;`_O>;dCi#Q)N)g9j5$i{kj!YBLHO8fk4S+@p^Xljni7jAHx-ida z;7i7=(y;$3WdK|k^xcO%PlGR+81IW%7O$5v18Adz_l7*Jr!SdxSTYy^#w-m6v$({i zF*?3v#OCYka7g(dHO22(2r_)F#`8TNC0{Zt(kYeBy^msn@Oto_bV zjvttw9Wm)y1fMpY`~2_wDByqY+X?c$)>B=Yq-oe=Uog&#MQ_!S-Vb*DT4iis0cL>@^)twcI zoH}=x>_S9zG#Lwb($v-79{p8EXHn*016vw)lxBojU5ME9&JXe#t7N_QHR|kuH6DM` z{=9(O-Um%bU&&lnq#koL!_$UUmpH<+(0{ zoR_*4>g@6o9Zm4IObXx6$|RSizACzxrLQY82lRhWbeaX}Xp1`O9Q - + {}}> + + {props.eventData.title} diff --git a/app/components/MapDisplay.tsx b/app/components/MapDisplay.tsx index 50f07e3..78774da 100644 --- a/app/components/MapDisplay.tsx +++ b/app/components/MapDisplay.tsx @@ -148,9 +148,7 @@ export default function MapDisplay(props: {container: object}) { coordinate={{latitude: event.location.latitude, longitude: event.location.longitude}} onPress={(e) => { selectEvent(event); - console.log(selectEvent) - console.log(event); - setHeight("35%"); + setHeight("40%"); e.stopPropagation(); }}> diff --git a/app/components/ShortEventCard.tsx b/app/components/ShortEventCard.tsx index aad03c2..963f4cd 100644 --- a/app/components/ShortEventCard.tsx +++ b/app/components/ShortEventCard.tsx @@ -6,7 +6,7 @@ import { EventData } from '../types/EventData'; -export default function ShortEventCard(props: { container: object; eventData: EventData; navigation}) { +export default function ShortEventCard(props: { container: object; eventData: EventData}) { const [eventData, setEventData] = useState([]); const {width, height} = Dimensions.get("window"); const date = new Date(props.eventData.date) diff --git a/app/components/tabs.tsx b/app/components/tabs.tsx new file mode 100644 index 0000000..c82a39b --- /dev/null +++ b/app/components/tabs.tsx @@ -0,0 +1,75 @@ +import React from 'react'; +// import EventCard from './components/EventCard'; +import { createBottomTabNavigator } from "@react-navigation/bottom-tabs"; +import { Image, View } from 'react-native'; +import ANNOUNCEMENTS from "../assets/images/announcements.png"; +import ANNOUNCEMENTS_SELECTED from "../assets/images/announcements_selected.png"; +import EVENTS from "../assets/images/events.png"; +import EVENTS_SELECTED from "../assets/images/events_selected.png"; +import HOME from "../assets/images/home.png"; +import HOME_SELECTED from "../assets/images/home_selected.png"; +import RESOURCE from "../assets/images/resource.png"; +import RESOURCE_SELECTED from "../assets/images/resource_selected.png"; +import { Announcement, Events, Home, Resources } from "../screens"; + +const Tab = createBottomTabNavigator(); + +const Tabs = () => { + return ( + + { + return ( + + + + ) + } + }}/> + { + return ( + + + + ) + } + }}/> + { + return ( + + + + ) + } + }}/> + { + return ( + + + + ) + } + }}/> + + ); +} + +export default Tabs; \ No newline at end of file diff --git a/app/package-lock.json b/app/package-lock.json index 087628d..7280db9 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -8,6 +8,10 @@ "name": "app", "version": "1.0.0", "dependencies": { + "@react-navigation/bottom-tabs": "^6.5.16", + "@react-navigation/material-top-tabs": "^6.6.10", + "@react-navigation/native": "^6.1.14", + "@react-navigation/native-stack": "^6.9.22", "@rneui/base": "^4.0.0-rc.7", "@rneui/themed": "^4.0.0-rc.8", "expo": "~49.0.13", @@ -23,8 +27,9 @@ "react-native-get-location": "^4.0.1", "react-native-maps": "1.7.1", "react-native-paper": "^5.11.1", - "react-native-safe-area-context": "4.6.3", + "react-native-safe-area-context": "^4.6.3", "react-native-screens": "~3.22.0", + "react-native-tab-view": "^3.5.2", "react-native-vector-icons": "^10.0.1" }, "devDependencies": { @@ -5888,11 +5893,11 @@ } }, "node_modules/@react-navigation/bottom-tabs": { - "version": "6.5.12", - "resolved": "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-6.5.12.tgz", - "integrity": "sha512-8gBHHvgmJSRGfQ5fcFUgDFcXj1MzDzEZJ/llDYvcSb6ZxgN5xVq+4oVkwPMxOM6v+Qm2nKvXiUKuB/YydhzpLw==", + "version": "6.5.16", + "resolved": "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-6.5.16.tgz", + "integrity": "sha512-zw6hlP1YI4APbOoeJSg1JS9h3OPZIp4O2ccAkiIPgw7T6wyKs8dGJyrkkUtTryXoRUqL1D14xp6K1Etgqm7F2A==", "dependencies": { - "@react-navigation/elements": "^1.3.22", + "@react-navigation/elements": "^1.3.26", "color": "^4.2.3", "warn-once": "^0.1.0" }, @@ -5933,9 +5938,9 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "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==", + "version": "6.4.13", + "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.4.13.tgz", + "integrity": "sha512-RBUpNG11SEYfvvWefJPxz8Xu/feWuPxln7ddRSY92aKs7u6fj/Z694Jun76Gmmw/RIHW6xcu3PH2v3Wm8nbumg==", "dependencies": { "@react-navigation/routers": "^6.1.9", "escape-string-regexp": "^4.0.0", @@ -5965,9 +5970,9 @@ "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==", + "version": "1.3.26", + "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.26.tgz", + "integrity": "sha512-9rSY7MD6etU3M3j/OYUvtg4eBqABlkS39iJwwQheE89pSa9QyvXbJSsz/bUBEjFWwsOYxTVzj27bc7ulrDVWgw==", "peerDependencies": { "@react-navigation/native": "^6.0.0", "react": "*", @@ -5975,12 +5980,56 @@ "react-native-safe-area-context": ">= 3.0.0" } }, + "node_modules/@react-navigation/material-top-tabs": { + "version": "6.6.10", + "resolved": "https://registry.npmjs.org/@react-navigation/material-top-tabs/-/material-top-tabs-6.6.10.tgz", + "integrity": "sha512-OlwgIXFaVJrifmiVfAadZnBJ7wbW8h/bQfWYYU3oK14h3L5Kk7Pix2taXfb3+s7ys2ljIx5RIdPHwVlsT4JGNg==", + "dependencies": { + "color": "^4.2.3", + "warn-once": "^0.1.0" + }, + "peerDependencies": { + "@react-navigation/native": "^6.0.0", + "react": "*", + "react-native": "*", + "react-native-pager-view": ">= 4.0.0", + "react-native-tab-view": ">= 3.0.0" + } + }, + "node_modules/@react-navigation/material-top-tabs/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/@react-navigation/material-top-tabs/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/@react-navigation/material-top-tabs/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/@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==", + "version": "6.1.14", + "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-6.1.14.tgz", + "integrity": "sha512-nCrVi4cHXx6VnXV8fj+lLb8zjLt1LZkpxudhfV/i1KstgaoGzh9FgFDIvbWONGE8f403FIsYUnZxKHvN7asp1w==", "dependencies": { - "@react-navigation/core": "^6.4.10", + "@react-navigation/core": "^6.4.13", "escape-string-regexp": "^4.0.0", "fast-deep-equal": "^3.1.3", "nanoid": "^3.1.23" @@ -5991,11 +6040,11 @@ } }, "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==", + "version": "6.9.22", + "resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.9.22.tgz", + "integrity": "sha512-1GGztUWXY+lbsIYkGV3HCYBF7qIOHnx663csgXArzunk8CcWNsUYwM7k1/Ql8e2LyvJtdjE3OS4fjLh+d72/YA==", "dependencies": { - "@react-navigation/elements": "^1.3.22", + "@react-navigation/elements": "^1.3.26", "warn-once": "^0.1.0" }, "peerDependencies": { @@ -12277,6 +12326,16 @@ } } }, + "node_modules/react-native-pager-view": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/react-native-pager-view/-/react-native-pager-view-6.2.3.tgz", + "integrity": "sha512-dqVpXWFtPNfD3D2QQQr8BP+ullS5MhjRJuF8Z/qml4QTILcrWaW8F5iAxKkQR3Jl0ikcEryG/+SQlNcwlo0Ggg==", + "peer": true, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, "node_modules/react-native-paper": { "version": "5.12.3", "resolved": "https://registry.npmjs.org/react-native-paper/-/react-native-paper-5.12.3.tgz", @@ -12335,6 +12394,19 @@ "react-native": "*" } }, + "node_modules/react-native-tab-view": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-3.5.2.tgz", + "integrity": "sha512-nE5WqjbeEPsWQx4mtz81QGVvgHRhujTNIIZiMCx3Bj6CBFDafbk7XZp9ocmtzXUQaZ4bhtVS43R4FIiR4LboJw==", + "dependencies": { + "use-latest-callback": "^0.1.5" + }, + "peerDependencies": { + "react": "*", + "react-native": "*", + "react-native-pager-view": "*" + } + }, "node_modules/react-native-vector-icons": { "version": "10.0.3", "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-10.0.3.tgz", diff --git a/app/package.json b/app/package.json index 6b46c65..06d5b24 100644 --- a/app/package.json +++ b/app/package.json @@ -9,12 +9,18 @@ "web": "expo start --web" }, "dependencies": { + "@react-navigation/bottom-tabs": "^6.5.16", + "@react-navigation/material-top-tabs": "^6.6.10", + "@react-navigation/native": "^6.1.14", + "@react-navigation/native-stack": "^6.9.22", "@rneui/base": "^4.0.0-rc.7", "@rneui/themed": "^4.0.0-rc.8", "expo": "~49.0.13", "expo-constants": "~14.4.2", "expo-linking": "~5.0.2", + "expo-location": "~16.1.0", "expo-router": "^2.0.0", + "expo-splash-screen": "~0.20.5", "expo-status-bar": "~1.6.0", "react": "18.2.0", "react-native": "0.72.10", @@ -22,11 +28,10 @@ "react-native-get-location": "^4.0.1", "react-native-maps": "1.7.1", "react-native-paper": "^5.11.1", - "react-native-safe-area-context": "4.6.3", + "react-native-safe-area-context": "^4.6.3", "react-native-screens": "~3.22.0", - "react-native-vector-icons": "^10.0.1", - "expo-location": "~16.1.0", - "expo-splash-screen": "~0.20.5" + "react-native-tab-view": "^3.5.2", + "react-native-vector-icons": "^10.0.1" }, "devDependencies": { "@babel/core": "^7.20.0", diff --git a/app/screens/announcements.tsx b/app/screens/announcements.tsx new file mode 100644 index 0000000..23aa5b6 --- /dev/null +++ b/app/screens/announcements.tsx @@ -0,0 +1,10 @@ +import * as React from 'react'; +import { Text, View } from 'react-native'; + +export default function Announcement() { + return ( + + Announcement Screen + + ) +} \ No newline at end of file diff --git a/app/screens/events.tsx b/app/screens/events.tsx new file mode 100644 index 0000000..66c4d6d --- /dev/null +++ b/app/screens/events.tsx @@ -0,0 +1,162 @@ +import React from 'react'; +import { StyleSheet, Text, View } from 'react-native'; +// import EventCard from './components/EventCard'; +import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'; +import { createNativeStackNavigator } from '@react-navigation/native-stack'; +import MapDisplay from "../components/MapDisplay"; + + + +const dummy_event = { + "id": "65cfe6e096a2d6a316f46e70", + "title": "Spring Walk", + "description": "Join us for a walking event in the Spring! We will be walking around 5 miles in total.", + "featureImage": "https://studio5.ksl.com/wp-content/uploads/2020/05/walkfeet520-740x493.jpg", + "startTime": "2024-10-17T12:34:03.874Z", + "endTime": "2024-10-17T21:34:03.874Z", + "link": "https://example.com", + "date": "2024-03-15T18:00:00.000Z", + "duration": 180, + "location": { + "latitude": 0, + "longitude": 0, + "address": "6100 Main St, Houston, TX 77005", + "_id": "65cfe6e001bce9780f9897df" + }, + "organization": "65cfda3383058492e13dba01", + "__v": 0 +} +const Stack = createNativeStackNavigator(); +function CalendarView() { + return ( + + Calendar View + + ) +} +function ListView() { + return ( + + List View + + ) +} +function MapView() { + return ( + + + + ); +} +const Tabs = createBottomTabNavigator(); +export default function Events() { + return ( + + { + return ( + + Calendar + + ) + } + }}/> + { + return ( + + List + + ) + } + }}/> + { + return ( + + Map + + ) + } + }}/> + + ) +} + +const styles = StyleSheet.create({ + container: { + flexDirection: "column", + backgroundColor: "#F5F7FE", + flex: 1, + alignItems: 'center', + height: "auto", + justifyContent: 'center', + }, + mapContainer: { + width: '100%', + height: '80%', + }, + searchBarContainer: { + width: '100%', + height: "20%", + flexDirection: "column", + backgroundColor: "#00426E", + alignItems: "center" + }, + searchBarStyle: { + backgroundColor: '#00426E', + width: "90%", + marginTop: "12%", + borderRadius: 0, + borderTopColor: "#00426E", + borderBottomColor: "#00426E" + +}, + tabNavigationContainer: { + width: '100%', + height: "9%", + flexDirection: "row", + backgroundColor: "white", + justifyContent: "space-around", + marginHorizontal: 10, + }, + FullEventContainer: { + + flexDirection: "column", + flexGrow: 1, + alignItems: "center", + }, + PartialEventContainer: { + width: '100%', + height: "45%", + }, + displayMode: { + alignItems: "center", + justifyContent: "center", + height: 40, + width: 130, + borderRadius: 6, + borderWidth: 2, + borderColor: "#D9D9D9" +}, +textMode: { + fontWeight: "500", + fontSize: 18, + fontFamily: "System", + textTransform: "capitalize" + + +} +}); \ No newline at end of file diff --git a/app/screens/home.tsx b/app/screens/home.tsx new file mode 100644 index 0000000..280e61a --- /dev/null +++ b/app/screens/home.tsx @@ -0,0 +1,10 @@ +import * as React from 'react'; +import { Text, View } from 'react-native'; + +export default function Home() { + return ( + + Home Screen + + ) +} \ No newline at end of file diff --git a/app/screens/index.tsx b/app/screens/index.tsx new file mode 100644 index 0000000..387373c --- /dev/null +++ b/app/screens/index.tsx @@ -0,0 +1,11 @@ +import Announcement from './announcements'; +import Events from './events'; +import Home from './home'; +import Resources from './resources'; + +export { + Announcement, + Events, + Home, + Resources +}; diff --git a/app/screens/resources.tsx b/app/screens/resources.tsx new file mode 100644 index 0000000..2c196fc --- /dev/null +++ b/app/screens/resources.tsx @@ -0,0 +1,10 @@ +import * as React from 'react'; +import { Text, View } from 'react-native'; + +export default function Resources() { + return ( + + Resource Screen + + ) +} \ No newline at end of file From c3e6d27723d0d3b264bfae826af424ab0eeca5cb Mon Sep 17 00:00:00 2001 From: trietmchau Date: Sat, 13 Apr 2024 14:58:18 -0500 Subject: [PATCH 25/25] Finish linking screens together --- app/App.tsx | 49 +---- app/assets/images/marker-icon-selected.png | Bin 0 -> 1257 bytes app/assets/images/searchicon.png | Bin 0 -> 7348 bytes app/components/EventCard.tsx | 21 +- app/components/EventSearchBar.tsx | 20 +- app/components/MapDisplay.tsx | 26 ++- app/components/ShortEventCard.tsx | 17 +- app/components/profile/ActivityCard.tsx | 56 ----- app/components/tabs.tsx | 123 ++++++----- app/screens/events.tsx | 225 +++++++++++---------- 10 files changed, 248 insertions(+), 289 deletions(-) create mode 100644 app/assets/images/marker-icon-selected.png create mode 100644 app/assets/images/searchicon.png delete mode 100644 app/components/profile/ActivityCard.tsx diff --git a/app/App.tsx b/app/App.tsx index 20e0b27..5bd0019 100644 --- a/app/App.tsx +++ b/app/App.tsx @@ -1,60 +1,15 @@ import React from 'react'; -import { StyleSheet } from 'react-native'; // import EventCard from './components/EventCard'; -import { createBottomTabNavigator } from "@react-navigation/bottom-tabs"; import { NavigationContainer } from '@react-navigation/native'; import { createNativeStackNavigator } from '@react-navigation/native-stack'; -import Tabs from "./components/tabs"; - -const dummy_event = { - "id": "65cfe6e096a2d6a316f46e70", - "title": "Spring Walk", - "description": "Join us for a walking event in the Spring! We will be walking around 5 miles in total.", - "featureImage": "https://studio5.ksl.com/wp-content/uploads/2020/05/walkfeet520-740x493.jpg", - "startTime": "2024-10-17T12:34:03.874Z", - "endTime": "2024-10-17T21:34:03.874Z", - "link": "https://example.com", - "date": "2024-03-15T18:00:00.000Z", - "duration": 180, - "location": { - "latitude": 0, - "longitude": 0, - "address": "6100 Main St, Houston, TX 77005", - "_id": "65cfe6e001bce9780f9897df" - }, - "organization": "65cfda3383058492e13dba01", - "__v": 0 -} +import AppStack from "./components/Tabs"; const Stack = createNativeStackNavigator(); -const Tab = createBottomTabNavigator(); - export default function App() { return ( - + ); } - -const styles = StyleSheet.create({ - container: { - flexDirection: "column", - backgroundColor: "#F5F7FE", - flex: 1, - alignItems: 'center', - justifyContent: 'center', - }, - searchBarContainer: { - width: '100%', - height: "19%", - flexDirection: "column", - backgroundColor: "#00426E", - alignItems: "center" - }, - PartialEventContainer: { - width: '100%', - height: "35%", - } -}); diff --git a/app/assets/images/marker-icon-selected.png b/app/assets/images/marker-icon-selected.png new file mode 100644 index 0000000000000000000000000000000000000000..fa1054be52d0244c42f770e03080a05c2da1868f GIT binary patch literal 1257 zcmV=P)OWsGA z0bd)ynk&TdpD?99e){$bfiTeWL$3xhUn8bHOcgv+F$P?cKEI!6#pM?yLWVfvqZ&eD zIC6+t*iIKY$S&xqgv`KEqf#Ab-wZO{mHL|pzpmrvZx&(>@T`~)DqkL>^XfX)x6^zH z&0nf8!{4|uSFse*M{BX5H=Mc3F^kFD;Dd3^*|WYVY1qd;#P=7wEano+7Xw!Y;<8AY z9$|ijd}JQoncL>XUl*;~`!bQiJF4k@j(P_*M zCjGUK?$tbR!<5^6yo(T6Z1dl~&vN@0pTo2tbBNRLI+5km1Z&yS$7G$c>65k#}OC^$tW2#BqTnsiW|GFE{ zAkjH%44_341}US&nOf3z6&i>>Ar#K}Q9WSYsH~*YNiya<83op@FeP`y__5;kEv_2fEqazSlP$lXk2s~PD^|JrU zt=?Ns25p3ZJLbUiA^5RfTsmH8tb2z^rVQH%!xhhmw)~9M&^r#7z77jgbxgE})yX1Z;q&55mj5FIL$rHTWsDYwG!+O%? zWI;bSxM!zB6cvh(=lKth?^7sbXKVWG($?pF`nab+w+)|3iUOC#m1#bUcak)DKxxWF z*nGjxYP7Y;>RRmj$OFhNQZ1J#s;BYo(%D$D%1pGp%qRcbC91__+b<^z%f{&agDi-c zv-Fz*vu^-=bH0gk`8jr)T)V11u?Hay`L<}fL{VZBtBZQ=OJyvkcNN4LfQyK zSV4jxS+w~`jQ4rMypS(=LYcHdLqT{!BSaWVY>(Mp&RTbKE4Rt~lk+bE3mNf03ZJ9P TAg{>400000NkvXXu0mjfFo`^ALIGonLGQeb=KPZoPB5RnYlOF(%gWRiJyszii*|9P}iD@ikdQ{ zredI>grO>lF-o8b02$q5U|^UdSS(W@qo3h}04geW!ufq6l||-|Lh>Q>>=0mIH$;%L zzbjQxP>`&Lk5_<;v!AQ1ufKc2Z#8~O)r47>2)zddHG%_|ZH8Z!cw6X@@v$4Hz2eE(X==8|>u?y7I z%^l|9>E#Xg@%4M+AAkr%1_g(NhJ{B&Mn%WO#-ZX95|fgj{+E)PmY$KB^(^~&PVS4m z{DQ)w;*!#`@`}orRn;}Mb@dI6P0cN>uU@ycqdPjgx_f%x^u6sL7#tcNc{e)t{=>)d ziBFSLm}xBT^URmoulTw7g~g?1!nc*x?>~O7{UVaqH-2xD|7>ml-PzsSKR7%(J~;kP;d@<6sdSfC`#`;z2eTbh=Tm9Va)x|@tg*@+kyt6}SO%7WgNPFM>S}mT*G@iT`r{2ANxDMk>nWltJY~UALwzsbKg;c+~$}l z98Q%ri&zWWDcW9YAoP9RU!T-33DD)tB0vAz8GPK}I#*K``dR$hy^>wSK^$S6bMGcZ z2GH*MD`KgqC5+8T3-5SmClInjC?q)PbH(QTJYM^((%nLcDOT&&y;MTf`s;^W zm(cJ;9v_i`{+0dZHg8@>UmCO|bszQT;Jdcr?tAUGkF#eAQBdJRyZ44R>7cDHpV^^c zbv)gBch7Bx3N%_dYtnBEqTdv1%J#mR&tYQ!7VJN0GyapiWP|GE_l|{IY>MSSdhSX@ zT~|gYeEnmmDiKw&0CM}#6OnQJT!{2SUP(OT_-)_Z3-u211I?w`iJSRWsMYkQCRd<3 zB$k$Uay;}@1nL-hLvcMyMSLZH!nx|rwks6!u{!TbfdwcbaQ~{}=Ccc94MVny&O6`7 zYFw7wtu6G$pB=*8x2``67%TR@Cx7rdEMP1@(#G`kn-FxobuRC?eN!CF7FLp4hn(y2 zy%|RQ^1A9|4z4LX9`P;y%<**yyTF&{V;OAqU!{<}hf}w5ix9erG_5=n_&}08Y&}Y? zBQv!e$)Qm3eRH<1B>EK(J?(vZp7<~03Y2h=%cl6|ByJcf6s6%l^pc`C;4{;G*VLEeZNZ)%MTMy^)IcPlLuQ;@XrC4dm@6ivJcaK51z*mb zpE7HM8*vYR8&+>y|IWRf2h`+*068=7)MO#w4@;6K9~8iHS+oQr^?HD;(Yby5H#ZJj z6d&J?MXK-V1=p?3s6ck+)CTV#GQ#V68W~QBXBv&&bc6zf0*yP|j-<{PK==tYDCi0t zGS682@vJ57%EEvBm*47z5hGtDo*lv~)u-v5k9hE}8#QC6oEbMl8W}`Y5j>4w{aC22 z6iRmIqcd)mD)}OHZa;OK&fh5FXwq(T3kgF(sT)H$25vmiu`h-%`da`m3|xO7B-8`4{>E3E~n#Q?aZI z9P!5wAuUymgBT?J1YDIaQ_9hlxi8*t9uyFG!kKF8inkkyxZ zhnfGT_Sm0w;zTG$>LB`^#u}<~ysRsLBOw!D8zd=)^;AlIlOzHN%YEmggGgJ_aXI0L zt%t35i4D8crmDwNU23eVHFMHU5vpokBrmxFuF-J3oOuptr&|2jSXrB#gi8*C)m;zY zvjFV)a}N_G^AGQa2Whf?E{cXJJuuRlV~bwO-z+Wrl{9vY%mBvpTP|K zL&tde`B;ThUuH6Ah)#4&4a<-*V)?=9i8s6QBrC5TW4*7NJxnw8cpWE6H>6pO)pg~D zeuU<~pgTK`mP`?B zI%rQj6A$|mSyT%Tfdj(-)oencUsZ@+G`MLAnGuopGUpM z_maW}2eE+4>7i+adM4Z#JU2uh3HF>T)IpyV;%x_cUe~~76`Bh1bz9_N1@SzI&<-TG{T6N z==+(E1lt#Ag$2#v?4kn~aY&i)sRF!@c5ForoGIK-vfUwpcBCDr#I4bpfj0+H-?RQA zxW8Zwfz+M~k{w+rgrr zo~Cv~O=4`LvMGc-;DG~PVeGb?iy&*uc^pt zzK>N{P%EM_<7PQpaXCH}hosJG$IV=J49>xS$PBp#au-7HZK4_;z{ z;mkIv@?!a$Z(YdI|T)=Xb{0;Ei-|*T`RW5eW9HR{RGzXzIgIz zJg(ycA5wWIHBPe|tHt-q>*CH%jHbV^^-|zi0~-i#GeRB{B-%e6?=C)!WG-Q;juFqa zX|`OV-Cz9(@MBgWO7ZhDG<%o!8AEZp#Ck8*W;HFEYSCx@q#ECg#|qhWkqM?m0~#

2fb= z{}6nrLvw#fwI23}Pr?0?86qyI3Zv@;HN^(O9^E}wd?8t^_3oiIw+o>J3F00V2X94{ zCO46%nDSpFnsy~g<_s7FVNeKzoL*yYm*onu$7&>WOpE_6ts}&YTgf5w>Lhm9gp6f} zLHQL{5R`YT=2dg?9#s(;p=!pvw8apR__GYoQOub2z9(;L_&nX$+qwGs1NY%|FsOn8 z0i}|kAxoZ7&O{7nd7!`iUJ^9E)}a1kfCRMkr2Xi-&G>OebXzx_~|0Tx5oQ zBq!7uONvZ&z#LuRcsII1FW+fXxP@*b?BYbjhXJn@kF|Kg$H1(FgdyJrR6>H-EHLZ^WHm!=HdWS^h(Mew%JM&v9qKm#67HhbjWQl<+WVWxeEeU%VGkj* zB8IaF=j&$b_9$Kl6R?~JZ4h?0F=^_F4Iq#cG!?>b_Ibwu0im3v?RpG@79Q&-X-N}N z)3dxN!W2KheWAg_1ng|u48!nE%E?_m?WLT$5NCtRJZ~9brrQ=0K(lN0IdPzeZWnG(M64lcQc}as`l>i-RUhR+sps5yZ z=w{``?+hkU5P7ZvQeXU)-a?&6j^(UdX0%O+tML6Bpa7x9S*)ZQtU=IU33j+8(Qb0C~uJNS)HBZkVU(?D|QNUK7#A!HuCIKELm#HZf$d-58B+H$e;-NWw#1c#k?1g znBtC5QL0V5Nh_YR`!8U#1CX~%=!=4w$*rk-a zhWU6>FNHT|Ax~7l{gHy(AJ_!HT=9mWx3q>UCLoYKErZ|+*eVi&KDa$x8Kl%WhjidP z_9HUkZL#c6_;lzaqnOmDBCDply*TpbsZ~T2=PEM4C&FJwU^$D>q_x2u=MX>@cMdjY z#Ehc^?6o%h;p5XOyR-s(1NuduMBa$pv|jZF-c-Wh(O<)(2I9tDqiY`$swbQ%`Q z#7}ya_%|l*==pg%R;egVJ>t8hZoLKT!dLk&aehOr%&C^UoA_h#wdvm_f{Ao~@tgAVat6t}6e^hyHJC!7*E4C-@_Gz6adYXx!Gv01qYCOBUfNb#c zGC+)}mACCV-`1b5{b&Dw65;S+JopH9{J`U4Y7*#X{-X4F!pH`h=bspJCy4p=qfqYS z_J3j+A|wV=-$fTy-4?5_E6Q&s$+&{<5Jxf7=7g5J7)T%o|v6(5`}>)f`w z#6Ikpjmef8u6VEOT)23bCd@|PrJN)4g0OUvYP=JUsS^e7PcaeW9u3^Hr!4Y3`X`!V^epcgB zNn=V*66m3d`WRU~kU_(M56&4s_BSlf**;2-t)x0-CJ6-1U;N8BwDU(ZcX|6cM#w73 zEH{y_CjS?`i&Hj6%qrCsv{w}12u?QS;Qz1|Eu~w(M;%)8V}QG?Iz=`K)Ejyl zE^zY7^|AXJ@dkqO$dUcmn7!6gZHCxU7p_r=awK`|{u)h)|06cH?5T@ZNe}muNwb}+ zBLc?G=8O&;@w4AQb?&(UuRKtxV_vre@#u<1(&uP8e$*#VujxEW=js+=dNB3mugoA_ zyZ5+gi^;ji8>SqLzX8nn?$R@;ab88C;{3aVitSwz(Z^5cTypc5%HNnBM1{`?&O~)c z^q=U5$@JGHRMo ztUkv3zs{}TK?^X&TEg|)fx-m L=DJOwN3s78KBiD{ literal 0 HcmV?d00001 diff --git a/app/components/EventCard.tsx b/app/components/EventCard.tsx index 70041a3..68e7f49 100644 --- a/app/components/EventCard.tsx +++ b/app/components/EventCard.tsx @@ -2,30 +2,29 @@ import React, { useState } from 'react'; import { Dimensions, Image, Pressable, ScrollView, StyleSheet, Text, View } from 'react-native'; import BACK_BTN from "../assets/images/back_btn.png"; import CHALLENGE_ICON from "../assets/images/challenge_icon.png"; -import { EventData } from '../types/EventData'; const window = Dimensions.get("window"); -export default function EventCard(props: {container: object, eventData: EventData}) { +export default function EventCard(props: {route: any}) { const [challengeData, setEventData] = useState([]); return ( - - - {}}> + + + {props.route.params.navigator.navigation.navigate("Tabs")}}> - {props.eventData.title} + {props.route.params.eventData.title} Hosted by Rice University - {(new Date(props.eventData.date)).toLocaleDateString()} + {(new Date(props.route.params.eventData.date)).toLocaleDateString()} Rice University - {props.eventData.link} + {props.route.params.eventData.link} Register @@ -65,12 +64,16 @@ export default function EventCard(props: {container: object, eventData: EventDat Event Description - {props.eventData.description} + {props.route.params.description} ); } const styles = StyleSheet.create({ + container: { + alignContent: "center", + alignItems: "center" + }, img_container: { height: window.height * 0.23, width: window.width diff --git a/app/components/EventSearchBar.tsx b/app/components/EventSearchBar.tsx index 696f7d4..e5afcad 100644 --- a/app/components/EventSearchBar.tsx +++ b/app/components/EventSearchBar.tsx @@ -1,8 +1,10 @@ +import { useNavigation } from '@react-navigation/native'; import { SearchBar } from "@rneui/themed"; import React from 'react'; -import { StyleSheet, Text, View } from 'react-native'; +import { Pressable, StyleSheet, Text, View } from 'react-native'; export default function EventSearchBar(props: {container: object}) { + const navigation = useNavigation() return( - Calendar - List - Map + {}}>Calendar + {}}>List + {}}>Map ) @@ -57,5 +59,13 @@ const styles = StyleSheet.create({ color: "#D9D9D9", - } + }, + tabNavigationContainer: { + width: '100%', + height: "9%", + flexDirection: "row", + backgroundColor: "white", + justifyContent: "space-around", + marginHorizontal: 10, + } }); \ No newline at end of file diff --git a/app/components/MapDisplay.tsx b/app/components/MapDisplay.tsx index 78774da..46afc3c 100644 --- a/app/components/MapDisplay.tsx +++ b/app/components/MapDisplay.tsx @@ -2,7 +2,8 @@ import * as Location from 'expo-location'; import React, { useEffect, useRef, useState } from 'react'; import { Dimensions, Image, StyleSheet, View } from 'react-native'; import MapView, { Marker, PROVIDER_GOOGLE } from 'react-native-maps'; -import MARKERICON from "../assets/images/event-icon.png"; +import location_icon from "../assets/images/event-icon.png"; +import selected_location_icon from "../assets/images/marker-icon-selected.png"; import { EventData } from "../types/EventData"; import ShortEventCard from './ShortEventCard'; @@ -93,12 +94,13 @@ let dummy_event = [ }, ] -export default function MapDisplay(props: {container: object}) { +export default function MapDisplay(props: {container: object, navigator: any}) { const mapRef = useRef(); const [eventData, setEventData] = useState([]); const [selectedEvent, selectEvent] = useState(dummy_event[0]); const [location, setLocation] = useState(); - const [heightVal, setHeight] = useState("0%"); + const [heightVal, setEventCardHeight] = useState("0%"); + const [eventClicked, clickEvent] = useState(false); useEffect(() => { const fetchEventData = async () => { @@ -140,7 +142,10 @@ export default function MapDisplay(props: {container: object}) { provider={PROVIDER_GOOGLE} initialRegion={location} ref={mapRef} - onPress={() => {setHeight("0%")}}> + onPress={() => { + setEventCardHeight("0%") + clickEvent(false) + }}> {dummy_event.map((event,index) => { return ( { selectEvent(event); - setHeight("40%"); + setEventCardHeight("40%"); e.stopPropagation(); + clickEvent(true) }}> - + ) })} - + + container={{...styles.callout_container, height: heightVal}} + navigator={props.navigator} + eventData={selectedEvent}> + diff --git a/app/components/ShortEventCard.tsx b/app/components/ShortEventCard.tsx index 963f4cd..8700891 100644 --- a/app/components/ShortEventCard.tsx +++ b/app/components/ShortEventCard.tsx @@ -1,4 +1,4 @@ -import React, { useState } from 'react'; +import React from 'react'; import { Dimensions, Image, Pressable, ScrollView, StyleSheet, Text, View } from 'react-native'; import VECTORICON from "../assets/images/Vector.png"; import { EventData } from '../types/EventData'; @@ -6,16 +6,14 @@ import { EventData } from '../types/EventData'; -export default function ShortEventCard(props: { container: object; eventData: EventData}) { - const [eventData, setEventData] = useState([]); +export default function ShortEventCard(props: { container: object; eventData: EventData; navigator: any}) { const {width, height} = Dimensions.get("window"); const date = new Date(props.eventData.date) return ( {navigation.navigate("EventCard")}}> + contentContainerStyle={{alignItems: "center"}}> {date.getMonth()}/{date.getDate()} - + { + props.navigator.navigation.navigate("EventCard", { + container: props.container, + eventData: props.eventData, + navigator: props.navigator + }); + }}> Register diff --git a/app/components/profile/ActivityCard.tsx b/app/components/profile/ActivityCard.tsx deleted file mode 100644 index 2ea3ddf..0000000 --- a/app/components/profile/ActivityCard.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import React, { useState } from 'react'; -import { StyleSheet, View } from 'react-native'; -import { Text } from 'react-native-paper'; - - -export default function Dashboard() { - const [dashInfo, setDashInfo] = useState({ Steps: 10, Distance: "10km", Time: "3:00" }); - - return ( - - My Activity - - - Steps - - - Distance - - - Time - - - - ) -} - -const styles = StyleSheet.create({ - container: { - flex: 1, - flexDirection: "row", - backgroundColor: "#00426D", - borderRadius: 10, - justifyContent: "space-around", - margin: 10, - fontSize: 20 - }, - subcontainer: { - padding: 15, - justifyContent: "space-between", - fontSize: 20 - }, - tab: { - fontSize: 18, - color: "#FFF", - fontWeight: "500", - - }, - text: { - flex: 1, - marginLeft: 15, - fontWeight: "600" - }, - userInfo: { - fontWeight: "bold" - } -}) \ No newline at end of file diff --git a/app/components/tabs.tsx b/app/components/tabs.tsx index c82a39b..2693c54 100644 --- a/app/components/tabs.tsx +++ b/app/components/tabs.tsx @@ -1,6 +1,9 @@ import React from 'react'; // import EventCard from './components/EventCard'; import { createBottomTabNavigator } from "@react-navigation/bottom-tabs"; +import { createNativeStackNavigator } from '@react-navigation/native-stack'; +import EventCard from './EventCard'; +// import EventCard from './components/EventCard'; import { Image, View } from 'react-native'; import ANNOUNCEMENTS from "../assets/images/announcements.png"; import ANNOUNCEMENTS_SELECTED from "../assets/images/announcements_selected.png"; @@ -13,63 +16,73 @@ import RESOURCE_SELECTED from "../assets/images/resource_selected.png"; import { Announcement, Events, Home, Resources } from "../screens"; const Tab = createBottomTabNavigator(); +const Stack = createNativeStackNavigator(); -const Tabs = () => { +const AppStack = () => { + return ( + + + + + ); +} +function Tabs() { return ( - { - return ( - - - - ) - } - }}/> - { - return ( - - - - ) - } - }}/> - { - return ( - - - - ) - } - }}/> - { - return ( - - - - ) - } - }}/> - - ); + { + return ( + + + + ) + } + }}/> + } + options={{ + tabBarIcon: ({focused})=>{ + return ( + + + + ) + } + }}/> + { + return ( + + + + ) + } + }}/> + { + return ( + + + + ) + } + }}/> + + ) } - -export default Tabs; \ No newline at end of file +export default AppStack; \ No newline at end of file diff --git a/app/screens/events.tsx b/app/screens/events.tsx index 66c4d6d..de560a6 100644 --- a/app/screens/events.tsx +++ b/app/screens/events.tsx @@ -1,32 +1,9 @@ -import React from 'react'; -import { StyleSheet, Text, View } from 'react-native'; -// import EventCard from './components/EventCard'; import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'; -import { createNativeStackNavigator } from '@react-navigation/native-stack'; +import React from 'react'; +import { StyleSheet, Text, TouchableOpacity, View } from 'react-native'; import MapDisplay from "../components/MapDisplay"; - -const dummy_event = { - "id": "65cfe6e096a2d6a316f46e70", - "title": "Spring Walk", - "description": "Join us for a walking event in the Spring! We will be walking around 5 miles in total.", - "featureImage": "https://studio5.ksl.com/wp-content/uploads/2020/05/walkfeet520-740x493.jpg", - "startTime": "2024-10-17T12:34:03.874Z", - "endTime": "2024-10-17T21:34:03.874Z", - "link": "https://example.com", - "date": "2024-03-15T18:00:00.000Z", - "duration": 180, - "location": { - "latitude": 0, - "longitude": 0, - "address": "6100 Main St, Houston, TX 77005", - "_id": "65cfe6e001bce9780f9897df" - }, - "organization": "65cfda3383058492e13dba01", - "__v": 0 -} -const Stack = createNativeStackNavigator(); function CalendarView() { return ( @@ -41,58 +18,83 @@ function ListView() { ) } -function MapView() { +function MapView(props: { navigator: any }) { return ( - + ); } -const Tabs = createBottomTabNavigator(); -export default function Events() { - return ( - - { - return ( - - Calendar - - ) - } - }}/> - { - return ( - - List - - ) - } - }}/> - { + +function CustomTabBar({state, descriptors, navigation}) { + return ( + + Search Bar Goes Here + + {state.routes.map((route, index) => { + const isFocused = state.index === index; + const {options} = descriptors[route.key]; + const onPress = () => { + const event = navigation.emit({ + type: "tabPress", + target: route.key, + }) + if (!isFocused && !event.defaultPrevented) { + navigation.navigate(route.name); + } + } return ( - - Map - + {onPress()}} + > + {index === 0 && ( + + Calendar + + )} + {index === 1 && ( + + List + + )} + {index === 2 && ( + + Map + + )} + ) - } - }}/> - - ) + })} + + + + ) +} +const Tabs = createBottomTabNavigator(); +export default function Events(props: {navigator: any}) { + return ( + } + screenOptions={{ + tabBarShowLabel: false, + headerShown: false, + }}> + + + }/> + + ) } const styles = StyleSheet.create({ @@ -113,7 +115,9 @@ const styles = StyleSheet.create({ height: "20%", flexDirection: "column", backgroundColor: "#00426E", - alignItems: "center" + alignItems: "center", + marginTop: 15, + borderColor: "white" }, searchBarStyle: { backgroundColor: '#00426E', @@ -123,40 +127,57 @@ const styles = StyleSheet.create({ borderTopColor: "#00426E", borderBottomColor: "#00426E" -}, - tabNavigationContainer: { - width: '100%', - height: "9%", - flexDirection: "row", - backgroundColor: "white", - justifyContent: "space-around", - marginHorizontal: 10, }, - FullEventContainer: { + tabNavigationContainer: { + width: '100%', + height: "9%", + flexDirection: "row", + backgroundColor: "white", + justifyContent: "space-around", + marginHorizontal: 10, + }, + FullEventContainer: { - flexDirection: "column", - flexGrow: 1, - alignItems: "center", + flexDirection: "column", + flexGrow: 1, + alignItems: "center", + }, + PartialEventContainer: { + width: '100%', + height: "45%", + }, + displayMode: { + alignItems: "center", + justifyContent: "center", + height: 40, + width: 130, + borderRadius: 6, + borderWidth: 2, + borderColor: "#D9D9D9" }, - PartialEventContainer: { - width: '100%', - height: "45%", + textMode: { + fontWeight: "500", + fontSize: 18, + fontFamily: "System", + textTransform: "capitalize" }, - displayMode: { - alignItems: "center", - justifyContent: "center", + searchContainer: { + flexDirection: 'row', + alignItems: 'center', + margin: 10, + borderWidth: 1, + padding: 10, + borderRadius: 20, + borderColor: '#ccc', + backgroundColor: '#fff', + }, + searchIcon: { + marginRight: 10, + width: 24, + height: 24, + }, + searchInput: { + flex: 1, height: 40, - width: 130, - borderRadius: 6, - borderWidth: 2, - borderColor: "#D9D9D9" -}, -textMode: { - fontWeight: "500", - fontSize: 18, - fontFamily: "System", - textTransform: "capitalize" - - -} + }, }); \ No newline at end of file