From 508ad213b7d8dc19b9e059f1fcf259005c7625bd Mon Sep 17 00:00:00 2001
From: jqiu0601 <116924547+jqiu0601@users.noreply.github.com>
Date: Sat, 26 Oct 2024 23:25:33 -0400
Subject: [PATCH 1/7] Update AuthNavigator.tsx
Added Digit Verification to navigator
---
client/app/navigation/AuthNavigator.tsx | 2 ++
1 file changed, 2 insertions(+)
diff --git a/client/app/navigation/AuthNavigator.tsx b/client/app/navigation/AuthNavigator.tsx
index f6c3b1033..57f5f11d2 100644
--- a/client/app/navigation/AuthNavigator.tsx
+++ b/client/app/navigation/AuthNavigator.tsx
@@ -4,6 +4,7 @@ import * as React from "react";
import LoginScreen from "../screens/auth/LoginScreen";
import SignUpScreen from "../screens/auth/SignUpScreen";
import WelcomeScreen from "../screens/auth/WelcomeScreen";
+import DigitVerificationScreen from "../screens/auth/DigitVerificationScreen";
const Stack = createStackNavigator();
@@ -16,6 +17,7 @@ const AuthNavigator = () => {
+
);
};
From cc248c3a33cbc22666efbd1159101e936669faf0 Mon Sep 17 00:00:00 2001
From: jqiu0601 <116924547+jqiu0601@users.noreply.github.com>
Date: Sat, 26 Oct 2024 23:26:38 -0400
Subject: [PATCH 2/7] Added digit verification screen
---
.../screens/auth/DigitVerificationScreen.tsx | 168 ++++++++++++++++++
1 file changed, 168 insertions(+)
create mode 100644 client/app/screens/auth/DigitVerificationScreen.tsx
diff --git a/client/app/screens/auth/DigitVerificationScreen.tsx b/client/app/screens/auth/DigitVerificationScreen.tsx
new file mode 100644
index 000000000..2398b3c9b
--- /dev/null
+++ b/client/app/screens/auth/DigitVerificationScreen.tsx
@@ -0,0 +1,168 @@
+import React, { useState, useRef } from "react";
+import {
+ View,
+ Text,
+ StyleSheet,
+ Dimensions,
+ TouchableWithoutFeedback,
+ Keyboard,
+ TextInput,
+ TouchableOpacity,
+} from "react-native";
+import SubmitButton from "../../components/auth/SubmitButton";
+
+const DigitVerificationScreen = ({ navigation }: any) => {
+ const maxCodeLength = 6;
+ const [code, setCode] = useState("");
+ const [errorMessage, setErrorMessage] = useState("");
+ const hiddenInputRef = useRef(null);
+
+ const handlePress = () => {
+ hiddenInputRef.current?.focus();
+ };
+
+ const handleChangeText = (text: string) => {
+ if (text.length <= maxCodeLength) {
+ setCode(text);
+ setErrorMessage("");
+ }
+ };
+
+ const handleSubmit = () => {
+ if (!code || code.length < maxCodeLength) {
+ setErrorMessage("Please enter a complete 6-digit code.");
+ return;
+ }
+
+ const validCode = "123456"; // <<<<<< Placeholder for actual verification logic HERE
+ if (code !== validCode) {
+ setErrorMessage("The code you entered is incorrect, please try again.");
+ return;
+ }
+
+ navigation.navigate("Sign Up"); // <<<<<< Replace with actual navigation target HERE
+ };
+
+ return (
+
+
+
+ Just one more step!
+
+ Verify your email with the code we just sent you!
+
+
+
+
+
+ {Array.from({ length: maxCodeLength }).map((_, index) => (
+
+ {code[index] || ""}
+
+ ))}
+
+
+
+
+
+
+
+
+
+ {errorMessage ? (
+ {errorMessage}
+ ) : null}
+
+ {/* REMOVE THIS AFTERWARDS */}
+
+ Try "123456"!
+
+ {/* REMOVE THIS AFTERWARDS */}
+
+
+ );
+};
+
+const styles = StyleSheet.create({
+ main_container: {
+ display: "flex",
+ height: "100%",
+ width: "100%",
+ justifyContent: "flex-start",
+ alignItems: "center",
+ paddingHorizontal: Dimensions.get("window").width * 0.11,
+ paddingVertical: Dimensions.get("window").height * 0.01,
+ backgroundColor: "white",
+ gap: Dimensions.get("window").height * 0.029,
+ },
+ input_container: {
+ display: "flex",
+ width: "100%",
+ justifyContent: "center",
+ alignItems: "center",
+ },
+ boxContainer: {
+ flexDirection: "row",
+ justifyContent: "space-between",
+ width: "80%",
+ },
+ box: {
+ width: 40,
+ height: 50,
+ borderWidth: 1,
+ borderColor: "#000",
+ justifyContent: "center",
+ alignItems: "center",
+ borderRadius: 5,
+ },
+ boxText: {
+ fontSize: 24,
+ fontWeight: "bold",
+ },
+ hiddenInput: {
+ position: "absolute",
+ opacity: 0,
+ },
+ button_container: {
+ display: "flex",
+ justifyContent: "space-around",
+ alignItems: "center",
+ width: "100%",
+ },
+ header_container: {
+ display: "flex",
+ justifyContent: "center",
+ alignItems: "flex-start",
+ width: "100%",
+ marginBottom: Dimensions.get("window").height * 0.019,
+ marginTop: Dimensions.get("window").height * 0.17,
+ },
+ header_text: {
+ fontFamily: "Quicksand-Bold",
+ fontSize: 37,
+ marginBottom: Dimensions.get("window").height * 0.01,
+ },
+ subheader_text: {
+ fontFamily: "Quicksand-Medium",
+ fontSize: 20,
+ },
+ errorText: {
+ color: "red",
+ marginTop: 10,
+ fontSize: 13,
+ },
+});
+
+export default DigitVerificationScreen;
\ No newline at end of file
From 33286b9d6eb8b6cbc74fc3264b14de862b447560 Mon Sep 17 00:00:00 2001
From: jqiu0601 <116924547+jqiu0601@users.noreply.github.com>
Date: Sat, 26 Oct 2024 23:29:59 -0400
Subject: [PATCH 3/7] Update SignUpScreen.tsx
Made the Sign Up page's Sign Up button navigate to Digit Verification page
---
client/app/screens/auth/SignUpScreen.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/client/app/screens/auth/SignUpScreen.tsx b/client/app/screens/auth/SignUpScreen.tsx
index 82be10b66..e4aa6bb33 100644
--- a/client/app/screens/auth/SignUpScreen.tsx
+++ b/client/app/screens/auth/SignUpScreen.tsx
@@ -118,7 +118,7 @@ const SignUpScreen = ({ navigation }: any) => {
/>
-
+
From 11aeae2c7453be1c8bd9a5334f2f53d0f6d32650 Mon Sep 17 00:00:00 2001
From: jqiu0601 <116924547+jqiu0601@users.noreply.github.com>
Date: Sat, 26 Oct 2024 23:31:31 -0400
Subject: [PATCH 4/7] Update DigitVerificationScreen.tsx
Changed placeholder code from 123456 -> 111111
---
client/app/screens/auth/DigitVerificationScreen.tsx | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/client/app/screens/auth/DigitVerificationScreen.tsx b/client/app/screens/auth/DigitVerificationScreen.tsx
index 2398b3c9b..c3501614c 100644
--- a/client/app/screens/auth/DigitVerificationScreen.tsx
+++ b/client/app/screens/auth/DigitVerificationScreen.tsx
@@ -34,7 +34,7 @@ const DigitVerificationScreen = ({ navigation }: any) => {
return;
}
- const validCode = "123456"; // <<<<<< Placeholder for actual verification logic HERE
+ const validCode = "111111"; // <<<<<< Placeholder for actual verification code HERE
if (code !== validCode) {
setErrorMessage("The code you entered is incorrect, please try again.");
return;
@@ -85,11 +85,11 @@ const DigitVerificationScreen = ({ navigation }: any) => {
{errorMessage}
) : null}
- {/* REMOVE THIS AFTERWARDS */}
+ {/* REMOVE THIS AFTERWARDS vv*/}
- Try "123456"!
+ Try "111111"!
- {/* REMOVE THIS AFTERWARDS */}
+ {/* REMOVE THIS AFTERWARDS ^^*/}
);
@@ -165,4 +165,4 @@ const styles = StyleSheet.create({
},
});
-export default DigitVerificationScreen;
\ No newline at end of file
+export default DigitVerificationScreen;
From bbf6269eceb1d79778f07ebc3bf3b6e5e60b1ad9 Mon Sep 17 00:00:00 2001
From: jqiu0601 <116924547+jqiu0601@users.noreply.github.com>
Date: Sat, 26 Oct 2024 23:33:28 -0400
Subject: [PATCH 5/7] Added submit button
Submit button used in Digit Verification page
---
client/app/components/auth/SubmitButton.tsx | 32 +++++++++++++++++++++
1 file changed, 32 insertions(+)
create mode 100644 client/app/components/auth/SubmitButton.tsx
diff --git a/client/app/components/auth/SubmitButton.tsx b/client/app/components/auth/SubmitButton.tsx
new file mode 100644
index 000000000..2b613f2d0
--- /dev/null
+++ b/client/app/components/auth/SubmitButton.tsx
@@ -0,0 +1,32 @@
+import React from "react";
+import { StyleSheet, Text, TouchableOpacity, Dimensions } from "react-native";
+
+import { SubmitButtonProps } from "../../types/Props";
+
+const SubmitButton: React.FC = ({ onPress }) => {
+ return (
+
+ Submit
+
+ );
+};
+
+const styles = StyleSheet.create({
+ button: {
+ backgroundColor: "#5dbea3",
+ width: Dimensions.get("window").width * 0.5,
+ height: Dimensions.get("window").height * 0.05,
+ display: "flex",
+ justifyContent: "center",
+ alignItems: "center",
+ borderRadius: 100,
+ },
+
+ button_text: {
+ color: "white",
+ fontFamily: "Quicksand-Medium",
+ fontSize: Dimensions.get("window").height * 0.027,
+ },
+});
+
+export default SubmitButton;
\ No newline at end of file
From 836273f25aa3789c775babc9c01f99d66cb07416 Mon Sep 17 00:00:00 2001
From: Dylan
Date: Sun, 27 Oct 2024 12:15:47 -0400
Subject: [PATCH 6/7] Renamed component to email verification screen for
clarity and changed back sign up screen text.
---
client/app/navigation/AuthNavigator.tsx | 7 +-
...Screen.tsx => EmailVerificationScreen.tsx} | 333 +++++++++---------
client/app/screens/auth/SignUpScreen.tsx | 8 +-
3 files changed, 173 insertions(+), 175 deletions(-)
rename client/app/screens/auth/{DigitVerificationScreen.tsx => EmailVerificationScreen.tsx} (91%)
diff --git a/client/app/navigation/AuthNavigator.tsx b/client/app/navigation/AuthNavigator.tsx
index 57f5f11d2..db1a988ae 100644
--- a/client/app/navigation/AuthNavigator.tsx
+++ b/client/app/navigation/AuthNavigator.tsx
@@ -4,7 +4,7 @@ import * as React from "react";
import LoginScreen from "../screens/auth/LoginScreen";
import SignUpScreen from "../screens/auth/SignUpScreen";
import WelcomeScreen from "../screens/auth/WelcomeScreen";
-import DigitVerificationScreen from "../screens/auth/DigitVerificationScreen";
+import EmailVerificationScreen from "../screens/auth/EmailVerificationScreen";
const Stack = createStackNavigator();
@@ -17,7 +17,10 @@ const AuthNavigator = () => {
-
+
);
};
diff --git a/client/app/screens/auth/DigitVerificationScreen.tsx b/client/app/screens/auth/EmailVerificationScreen.tsx
similarity index 91%
rename from client/app/screens/auth/DigitVerificationScreen.tsx
rename to client/app/screens/auth/EmailVerificationScreen.tsx
index c3501614c..bce9de31f 100644
--- a/client/app/screens/auth/DigitVerificationScreen.tsx
+++ b/client/app/screens/auth/EmailVerificationScreen.tsx
@@ -1,168 +1,165 @@
-import React, { useState, useRef } from "react";
-import {
- View,
- Text,
- StyleSheet,
- Dimensions,
- TouchableWithoutFeedback,
- Keyboard,
- TextInput,
- TouchableOpacity,
-} from "react-native";
-import SubmitButton from "../../components/auth/SubmitButton";
-
-const DigitVerificationScreen = ({ navigation }: any) => {
- const maxCodeLength = 6;
- const [code, setCode] = useState("");
- const [errorMessage, setErrorMessage] = useState("");
- const hiddenInputRef = useRef(null);
-
- const handlePress = () => {
- hiddenInputRef.current?.focus();
- };
-
- const handleChangeText = (text: string) => {
- if (text.length <= maxCodeLength) {
- setCode(text);
- setErrorMessage("");
- }
- };
-
- const handleSubmit = () => {
- if (!code || code.length < maxCodeLength) {
- setErrorMessage("Please enter a complete 6-digit code.");
- return;
- }
-
- const validCode = "111111"; // <<<<<< Placeholder for actual verification code HERE
- if (code !== validCode) {
- setErrorMessage("The code you entered is incorrect, please try again.");
- return;
- }
-
- navigation.navigate("Sign Up"); // <<<<<< Replace with actual navigation target HERE
- };
-
- return (
-
-
-
- Just one more step!
-
- Verify your email with the code we just sent you!
-
-
-
-
-
- {Array.from({ length: maxCodeLength }).map((_, index) => (
-
- {code[index] || ""}
-
- ))}
-
-
-
-
-
-
-
-
-
- {errorMessage ? (
- {errorMessage}
- ) : null}
-
- {/* REMOVE THIS AFTERWARDS vv*/}
-
- Try "111111"!
-
- {/* REMOVE THIS AFTERWARDS ^^*/}
-
-
- );
-};
-
-const styles = StyleSheet.create({
- main_container: {
- display: "flex",
- height: "100%",
- width: "100%",
- justifyContent: "flex-start",
- alignItems: "center",
- paddingHorizontal: Dimensions.get("window").width * 0.11,
- paddingVertical: Dimensions.get("window").height * 0.01,
- backgroundColor: "white",
- gap: Dimensions.get("window").height * 0.029,
- },
- input_container: {
- display: "flex",
- width: "100%",
- justifyContent: "center",
- alignItems: "center",
- },
- boxContainer: {
- flexDirection: "row",
- justifyContent: "space-between",
- width: "80%",
- },
- box: {
- width: 40,
- height: 50,
- borderWidth: 1,
- borderColor: "#000",
- justifyContent: "center",
- alignItems: "center",
- borderRadius: 5,
- },
- boxText: {
- fontSize: 24,
- fontWeight: "bold",
- },
- hiddenInput: {
- position: "absolute",
- opacity: 0,
- },
- button_container: {
- display: "flex",
- justifyContent: "space-around",
- alignItems: "center",
- width: "100%",
- },
- header_container: {
- display: "flex",
- justifyContent: "center",
- alignItems: "flex-start",
- width: "100%",
- marginBottom: Dimensions.get("window").height * 0.019,
- marginTop: Dimensions.get("window").height * 0.17,
- },
- header_text: {
- fontFamily: "Quicksand-Bold",
- fontSize: 37,
- marginBottom: Dimensions.get("window").height * 0.01,
- },
- subheader_text: {
- fontFamily: "Quicksand-Medium",
- fontSize: 20,
- },
- errorText: {
- color: "red",
- marginTop: 10,
- fontSize: 13,
- },
-});
-
-export default DigitVerificationScreen;
+import React, { useState, useRef } from "react";
+import {
+ View,
+ Text,
+ StyleSheet,
+ Dimensions,
+ TouchableWithoutFeedback,
+ Keyboard,
+ TextInput,
+ TouchableOpacity,
+} from "react-native";
+import SubmitButton from "../../components/auth/SubmitButton";
+
+const EmailVerificationScreen = ({ navigation }: any) => {
+ const maxCodeLength = 6;
+ const [code, setCode] = useState("");
+ const [errorMessage, setErrorMessage] = useState("");
+ const hiddenInputRef = useRef(null);
+
+ const handlePress = () => {
+ hiddenInputRef.current?.focus();
+ };
+
+ const handleChangeText = (text: string) => {
+ if (text.length <= maxCodeLength) {
+ setCode(text);
+ setErrorMessage("");
+ }
+ };
+
+ const handleSubmit = () => {
+ if (!code || code.length < maxCodeLength) {
+ setErrorMessage("Please enter a complete 6-digit code.");
+ return;
+ }
+
+ const validCode = "111111"; // <<<<<< Placeholder for actual verification code HERE
+ if (code !== validCode) {
+ setErrorMessage("The code you entered is incorrect, please try again.");
+ return;
+ }
+
+ navigation.navigate("Sign Up"); // <<<<<< Replace with actual navigation target HERE
+ };
+
+ return (
+
+
+
+ Just one more step!
+
+ Verify your email with the code we just sent you!
+
+
+
+
+
+ {Array.from({ length: maxCodeLength }).map((_, index) => (
+
+ {code[index] || ""}
+
+ ))}
+
+
+
+
+
+
+
+
+
+ {errorMessage ? (
+ {errorMessage}
+ ) : null}
+
+ {/* REMOVE THIS AFTERWARDS vv*/}
+ Try "111111"!
+ {/* REMOVE THIS AFTERWARDS ^^*/}
+
+
+ );
+};
+
+const styles = StyleSheet.create({
+ main_container: {
+ display: "flex",
+ height: "100%",
+ width: "100%",
+ justifyContent: "flex-start",
+ alignItems: "center",
+ paddingHorizontal: Dimensions.get("window").width * 0.11,
+ paddingVertical: Dimensions.get("window").height * 0.01,
+ backgroundColor: "white",
+ gap: Dimensions.get("window").height * 0.029,
+ },
+ input_container: {
+ display: "flex",
+ width: "100%",
+ justifyContent: "center",
+ alignItems: "center",
+ },
+ boxContainer: {
+ flexDirection: "row",
+ justifyContent: "space-between",
+ width: "80%",
+ },
+ box: {
+ width: 40,
+ height: 50,
+ borderWidth: 1,
+ borderColor: "#000",
+ justifyContent: "center",
+ alignItems: "center",
+ borderRadius: 5,
+ },
+ boxText: {
+ fontSize: 24,
+ fontWeight: "bold",
+ },
+ hiddenInput: {
+ position: "absolute",
+ opacity: 0,
+ },
+ button_container: {
+ display: "flex",
+ justifyContent: "space-around",
+ alignItems: "center",
+ width: "100%",
+ },
+ header_container: {
+ display: "flex",
+ justifyContent: "center",
+ alignItems: "flex-start",
+ width: "100%",
+ marginBottom: Dimensions.get("window").height * 0.019,
+ marginTop: Dimensions.get("window").height * 0.17,
+ },
+ header_text: {
+ fontFamily: "Quicksand-Bold",
+ fontSize: 37,
+ marginBottom: Dimensions.get("window").height * 0.01,
+ },
+ subheader_text: {
+ fontFamily: "Quicksand-Medium",
+ fontSize: 20,
+ },
+ errorText: {
+ color: "red",
+ marginTop: 10,
+ fontSize: 13,
+ },
+});
+
+export default EmailVerificationScreen;
diff --git a/client/app/screens/auth/SignUpScreen.tsx b/client/app/screens/auth/SignUpScreen.tsx
index e4aa6bb33..5828434f0 100644
--- a/client/app/screens/auth/SignUpScreen.tsx
+++ b/client/app/screens/auth/SignUpScreen.tsx
@@ -10,11 +10,9 @@ import {
} from "react-native";
import { ArrowLeftCircle } from "react-native-feather";
-import LargeTextButton from "../../components/auth/LargeTextButton"
+import LargeTextButton from "../../components/auth/LargeTextButton";
-import {
- ExternalAuthButton,
-} from "../../components/auth/AuthButtons";
+import { ExternalAuthButton } from "../../components/auth/AuthButtons";
import {
AuthenticationErrorMessage,
AuthenticationResponse,
@@ -118,7 +116,7 @@ const SignUpScreen = ({ navigation }: any) => {
/>
-
+
From ecc4821bdf2b00e4178d9f13f53fa92af9a169b6 Mon Sep 17 00:00:00 2001
From: Dylan
Date: Sun, 27 Oct 2024 12:22:07 -0400
Subject: [PATCH 7/7] Updated the pack lock file
---
client/package-lock.json | 101 ++++++++++++++++++++++-----------------
1 file changed, 57 insertions(+), 44 deletions(-)
diff --git a/client/package-lock.json b/client/package-lock.json
index 080fb7ba6..63544e0e2 100644
--- a/client/package-lock.json
+++ b/client/package-lock.json
@@ -23,6 +23,7 @@
"expo-linking": "^6.3.1",
"expo-location": "^17.0.1",
"expo-router": "^3.5.23",
+ "expo-splash-screen": "~0.27.6",
"expo-status-bar": "^1.12.1",
"expo-system-ui": "^3.0.7",
"pullstate": "^1.25.0",
@@ -33,11 +34,13 @@
"react-native-gesture-handler": "~2.16.1",
"react-native-safe-area-context": "4.10.5",
"react-native-screens": "3.31.1",
+ "react-native-svg": "^15.7.1",
"socket.io-client": "^4.7.5",
"typescript": "~5.3.3"
},
"devDependencies": {
"@types/react": "~18.2.45",
+ "@types/react-native": "^0.73.0",
"eslint": "^8.57.0",
"eslint-config-expo": "^7.0.0",
"jest": "^29.2.1",
@@ -7343,6 +7346,16 @@
"csstype": "^3.0.2"
}
},
+ "node_modules/@types/react-native": {
+ "version": "0.73.0",
+ "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.73.0.tgz",
+ "integrity": "sha512-6ZRPQrYM72qYKGWidEttRe6M5DZBEV5F+MHMHqd4TTYx0tfkcdrUFGdef6CCxY0jXU7wldvd/zA/b0A/kTeJmA==",
+ "deprecated": "This is a stub types definition. react-native provides its own type definitions, so you do not need this installed.",
+ "dev": true,
+ "dependencies": {
+ "react-native": "*"
+ }
+ },
"node_modules/@types/stack-utils": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz",
@@ -8409,8 +8422,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
"integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
- "license": "ISC",
- "peer": true
+ "license": "ISC"
},
"node_modules/bplist-creator": {
"version": "0.0.7",
@@ -9214,7 +9226,6 @@
"resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz",
"integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==",
"license": "BSD-2-Clause",
- "peer": true,
"dependencies": {
"boolbase": "^1.0.0",
"css-what": "^6.1.0",
@@ -9231,7 +9242,6 @@
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
"integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
"license": "MIT",
- "peer": true,
"dependencies": {
"mdn-data": "2.0.14",
"source-map": "^0.6.1"
@@ -9245,7 +9255,6 @@
"resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
"integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
"license": "BSD-2-Clause",
- "peer": true,
"engines": {
"node": ">= 6"
},
@@ -9641,7 +9650,6 @@
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
"integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
"license": "MIT",
- "peer": true,
"dependencies": {
"domelementtype": "^2.3.0",
"domhandler": "^5.0.2",
@@ -9661,8 +9669,7 @@
"url": "https://github.com/sponsors/fb55"
}
],
- "license": "BSD-2-Clause",
- "peer": true
+ "license": "BSD-2-Clause"
},
"node_modules/domexception": {
"version": "4.0.0",
@@ -9691,7 +9698,6 @@
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
"integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
"license": "BSD-2-Clause",
- "peer": true,
"dependencies": {
"domelementtype": "^2.3.0"
},
@@ -9707,7 +9713,6 @@
"resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz",
"integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==",
"license": "BSD-2-Clause",
- "peer": true,
"dependencies": {
"dom-serializer": "^2.0.0",
"domelementtype": "^2.3.0",
@@ -11045,6 +11050,32 @@
}
}
},
+ "node_modules/expo-router/node_modules/@expo/prebuild-config": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-7.0.6.tgz",
+ "integrity": "sha512-Hts+iGBaG6OQ+N8IEMMgwQElzJeSTb7iUJ26xADEHkaexsucAK+V52dM8M4ceicvbZR9q8M+ebJEGj0MCNA3dQ==",
+ "dependencies": {
+ "@expo/config": "~9.0.0-beta.0",
+ "@expo/config-plugins": "~8.0.0-beta.0",
+ "@expo/config-types": "^51.0.0-unreleased",
+ "@expo/image-utils": "^0.5.0",
+ "@expo/json-file": "^8.3.0",
+ "@react-native/normalize-colors": "0.74.84",
+ "debug": "^4.3.1",
+ "fs-extra": "^9.0.0",
+ "resolve-from": "^5.0.0",
+ "semver": "^7.6.0",
+ "xml2js": "0.6.0"
+ },
+ "peerDependencies": {
+ "expo-modules-autolinking": ">=0.8.1"
+ }
+ },
+ "node_modules/expo-router/node_modules/@react-native/normalize-colors": {
+ "version": "0.74.84",
+ "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.74.84.tgz",
+ "integrity": "sha512-Y5W6x8cC5RuakUcTVUFNAIhUZ/tYpuqHZlRBoAuakrTwVuoNHXfQki8lj1KsYU7rW6e3VWgdEx33AfOQpdNp6A=="
+ },
"node_modules/expo-router/node_modules/@react-navigation/bottom-tabs": {
"version": "6.5.20",
"resolved": "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-6.5.20.tgz",
@@ -11062,7 +11093,7 @@
"react-native-screens": ">= 3.0.0"
}
},
- "node_modules/expo-splash-screen": {
+ "node_modules/expo-router/node_modules/expo-splash-screen": {
"version": "0.27.5",
"resolved": "https://registry.npmjs.org/expo-splash-screen/-/expo-splash-screen-0.27.5.tgz",
"integrity": "sha512-9rdZuLkFCfgJBxrheUsOEOIW6Rp+9NVlpSE0hgXQwbTCLTncf00IHSE8/L2NbFyeDLNjof1yZBppaV7tXHRUzA==",
@@ -11073,33 +11104,7 @@
"expo": "*"
}
},
- "node_modules/expo-splash-screen/node_modules/@expo/prebuild-config": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-7.0.6.tgz",
- "integrity": "sha512-Hts+iGBaG6OQ+N8IEMMgwQElzJeSTb7iUJ26xADEHkaexsucAK+V52dM8M4ceicvbZR9q8M+ebJEGj0MCNA3dQ==",
- "dependencies": {
- "@expo/config": "~9.0.0-beta.0",
- "@expo/config-plugins": "~8.0.0-beta.0",
- "@expo/config-types": "^51.0.0-unreleased",
- "@expo/image-utils": "^0.5.0",
- "@expo/json-file": "^8.3.0",
- "@react-native/normalize-colors": "0.74.84",
- "debug": "^4.3.1",
- "fs-extra": "^9.0.0",
- "resolve-from": "^5.0.0",
- "semver": "^7.6.0",
- "xml2js": "0.6.0"
- },
- "peerDependencies": {
- "expo-modules-autolinking": ">=0.8.1"
- }
- },
- "node_modules/expo-splash-screen/node_modules/@react-native/normalize-colors": {
- "version": "0.74.84",
- "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.74.84.tgz",
- "integrity": "sha512-Y5W6x8cC5RuakUcTVUFNAIhUZ/tYpuqHZlRBoAuakrTwVuoNHXfQki8lj1KsYU7rW6e3VWgdEx33AfOQpdNp6A=="
- },
- "node_modules/expo-splash-screen/node_modules/fs-extra": {
+ "node_modules/expo-router/node_modules/fs-extra": {
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
"integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
@@ -11113,7 +11118,7 @@
"node": ">=10"
}
},
- "node_modules/expo-splash-screen/node_modules/semver": {
+ "node_modules/expo-router/node_modules/semver": {
"version": "7.6.3",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
@@ -11124,7 +11129,7 @@
"node": ">=10"
}
},
- "node_modules/expo-splash-screen/node_modules/universalify": {
+ "node_modules/expo-router/node_modules/universalify": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
"integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
@@ -11132,6 +11137,17 @@
"node": ">= 10.0.0"
}
},
+ "node_modules/expo-splash-screen": {
+ "version": "0.27.6",
+ "resolved": "https://registry.npmjs.org/expo-splash-screen/-/expo-splash-screen-0.27.6.tgz",
+ "integrity": "sha512-joUwZQS48k3VMnucQ0Y8Dle1t1FyIvluQA4kjuPx2x7l2dRrfctbo34ahTnC0p1o2go5oN2iEnSTOElY4wRQHw==",
+ "dependencies": {
+ "@expo/prebuild-config": "7.0.8"
+ },
+ "peerDependencies": {
+ "expo": "*"
+ }
+ },
"node_modules/expo-status-bar": {
"version": "1.12.1",
"resolved": "https://registry.npmjs.org/expo-status-bar/-/expo-status-bar-1.12.1.tgz",
@@ -15775,8 +15791,7 @@
"version": "2.0.14",
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
"integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
- "license": "CC0-1.0",
- "peer": true
+ "license": "CC0-1.0"
},
"node_modules/memoize-one": {
"version": "5.2.1",
@@ -16612,7 +16627,6 @@
"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
"integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
"license": "BSD-2-Clause",
- "peer": true,
"dependencies": {
"boolbase": "^1.0.0"
},
@@ -17697,7 +17711,6 @@
"resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-15.7.1.tgz",
"integrity": "sha512-Xc11L4t6/DtmUwrQqHR7S45Qy3cIWpcfGlmEatVeZ9c1N8eAK79heJmGRgCOVrXESrrLEHfP/AYGf0BGyrvV6A==",
"license": "MIT",
- "peer": true,
"dependencies": {
"css-select": "^5.1.0",
"css-tree": "^1.1.3",