diff --git a/App.tsx b/App.tsx
index 8ab50a5..80e3d00 100644
--- a/App.tsx
+++ b/App.tsx
@@ -16,6 +16,7 @@ import Register from "./src/routes/Register/Register";
import Onboarding from "./src/routes/Onboarding/Onboarding";
import Revalidation from "./src/routes/Revalidation/Revalidation";
import Activation from "./src/routes/Activation/Activation";
+import UserInfo from "./src/routes/UserInfo/UserInfo";
import { useState, useEffect } from "react";
const Drawer = createDrawerNavigator();
@@ -62,6 +63,7 @@ export default function App() {
+
diff --git a/package-lock.json b/package-lock.json
index bc946b2..342d471 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -12,6 +12,7 @@
"@react-navigation/drawer": "^6.6.3",
"@react-navigation/native": "^6.1.7",
"@react-navigation/native-stack": "^6.9.13",
+ "@redmin_delishaj/react-native-select": "^1.0.6",
"@reduxjs/toolkit": "^1.9.5",
"axios": "^1.4.0",
"expo": "~48.0.18",
@@ -20,10 +21,14 @@
"moti": "^0.25.3",
"react": "18.2.0",
"react-native": "0.71.8",
+ "react-native-dropdown-picker": "^5.4.6",
"react-native-gesture-handler": "~2.9.0",
+ "react-native-image-picker": "^5.6.0",
+ "react-native-modal": "^13.0.1",
"react-native-reanimated": "~2.14.4",
"react-native-safe-area-context": "4.5.0",
"react-native-screens": "~3.20.0",
+ "react-native-select-dropdown": "^3.3.4",
"react-native-svg": "13.4.0",
"react-redux": "^8.1.1",
"redux": "^4.2.1"
@@ -5130,6 +5135,11 @@
"nanoid": "^3.1.23"
}
},
+ "node_modules/@redmin_delishaj/react-native-select": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@redmin_delishaj/react-native-select/-/react-native-select-1.0.6.tgz",
+ "integrity": "sha512-YEpA8wEaOWTjkF5VkNXB7k+yuqxzlqQczlL8kaKtV30AS2uURV+0gk7ZPrKrSOEroc8xoWsTv5V4nJcYYiBfZw=="
+ },
"node_modules/@reduxjs/toolkit": {
"version": "1.9.5",
"resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.5.tgz",
@@ -12149,6 +12159,14 @@
"react": "18.2.0"
}
},
+ "node_modules/react-native-animatable": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/react-native-animatable/-/react-native-animatable-1.3.3.tgz",
+ "integrity": "sha512-2ckIxZQAsvWn25Ho+DK3d1mXIgj7tITkrS4pYDvx96WyOttSvzzFeQnM2od0+FUMzILbdHDsDEqZvnz1DYNQ1w==",
+ "dependencies": {
+ "prop-types": "^15.7.2"
+ }
+ },
"node_modules/react-native-codegen": {
"version": "0.71.5",
"resolved": "https://registry.npmjs.org/react-native-codegen/-/react-native-codegen-0.71.5.tgz",
@@ -12160,6 +12178,15 @@
"nullthrows": "^1.1.1"
}
},
+ "node_modules/react-native-dropdown-picker": {
+ "version": "5.4.6",
+ "resolved": "https://registry.npmjs.org/react-native-dropdown-picker/-/react-native-dropdown-picker-5.4.6.tgz",
+ "integrity": "sha512-T1XBHbE++M6aRU3wFYw3MvcOuabhWZ29RK/Ivdls2r1ZkZ62iEBZknLUPeVLMX3x6iUxj4Zgr3X2DGlEGXeHsA==",
+ "peerDependencies": {
+ "react": "*",
+ "react-native": "*"
+ }
+ },
"node_modules/react-native-gesture-handler": {
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.9.0.tgz",
@@ -12181,6 +12208,28 @@
"resolved": "https://registry.npmjs.org/react-native-gradle-plugin/-/react-native-gradle-plugin-0.71.19.tgz",
"integrity": "sha512-1dVk9NwhoyKHCSxcrM6vY6cxmojeATsBobDicX0ZKr7DgUF2cBQRTKsimQFvzH8XhOVXyH8p4HyDSZNIFI8OlQ=="
},
+ "node_modules/react-native-image-picker": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/react-native-image-picker/-/react-native-image-picker-5.6.0.tgz",
+ "integrity": "sha512-QHHb0qw3VXDedllrfS6SjxNG1SubnjUjIR2OH1HVbjv/IRVa3v4fI1MHbQaSNXlGopT9kL9jcnh7tbcX1z74Vg==",
+ "peerDependencies": {
+ "react": "*",
+ "react-native": "*"
+ }
+ },
+ "node_modules/react-native-modal": {
+ "version": "13.0.1",
+ "resolved": "https://registry.npmjs.org/react-native-modal/-/react-native-modal-13.0.1.tgz",
+ "integrity": "sha512-UB+mjmUtf+miaG/sDhOikRfBOv0gJdBU2ZE1HtFWp6UixW9jCk/bhGdHUgmZljbPpp0RaO/6YiMmQSSK3kkMaw==",
+ "dependencies": {
+ "prop-types": "^15.6.2",
+ "react-native-animatable": "1.3.3"
+ },
+ "peerDependencies": {
+ "react": "*",
+ "react-native": ">=0.65.0"
+ }
+ },
"node_modules/react-native-reanimated": {
"version": "2.14.4",
"resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-2.14.4.tgz",
@@ -12222,6 +12271,11 @@
"react-native": "*"
}
},
+ "node_modules/react-native-select-dropdown": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/react-native-select-dropdown/-/react-native-select-dropdown-3.3.4.tgz",
+ "integrity": "sha512-Ld6BGGgCnbiv7uORAP+KnvDQiqeuqdlasKk9woJH9XtFMD44rwjKwelGzsDxFUM9hIAwZdac4UAFmOmXRaMeRg=="
+ },
"node_modules/react-native-svg": {
"version": "13.4.0",
"resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-13.4.0.tgz",
diff --git a/package.json b/package.json
index 5c2ccd0..b7a8e76 100644
--- a/package.json
+++ b/package.json
@@ -13,21 +13,26 @@
"@react-navigation/drawer": "^6.6.3",
"@react-navigation/native": "^6.1.7",
"@react-navigation/native-stack": "^6.9.13",
+ "@redmin_delishaj/react-native-select": "^1.0.6",
"@reduxjs/toolkit": "^1.9.5",
"axios": "^1.4.0",
"expo": "~48.0.18",
+ "expo-linking": "~4.0.1",
"expo-status-bar": "~1.4.4",
"moti": "^0.25.3",
"react": "18.2.0",
"react-native": "0.71.8",
+ "react-native-dropdown-picker": "^5.4.6",
"react-native-gesture-handler": "~2.9.0",
+ "react-native-image-picker": "^5.6.0",
+ "react-native-modal": "^13.0.1",
"react-native-reanimated": "~2.14.4",
"react-native-safe-area-context": "4.5.0",
"react-native-screens": "~3.20.0",
+ "react-native-select-dropdown": "^3.3.4",
"react-native-svg": "13.4.0",
"react-redux": "^8.1.1",
- "redux": "^4.2.1",
- "expo-linking": "~4.0.1"
+ "redux": "^4.2.1"
},
"devDependencies": {
"@babel/core": "^7.20.0",
diff --git a/src/components/DrawerSettings/CustomDrawerContent.tsx b/src/components/DrawerSettings/CustomDrawerContent.tsx
index 9ae1acc..dccc2cb 100644
--- a/src/components/DrawerSettings/CustomDrawerContent.tsx
+++ b/src/components/DrawerSettings/CustomDrawerContent.tsx
@@ -97,6 +97,15 @@ export default function CustomDrawerContent(props: {}) {
Register
+ {
+ navigation.navigate("UserInfo");
+ }}
+ >
+
+ UserInfo
+
{/*
Debug buttons for accessing revalidation and activation page
();
+ const [isEditable, setIsEditable] = useState(false);
+ const options = ["Prog1", "Prog2", "Networking", "Database"];
+
+ //const dispatch = useDispatch();
+ // const creds = useSelector((state: RootState) => state.auth.creds);
+ const [user, setUser] = useState({
+ first_name: "",
+ last_name: "",
+ year_level: "",
+ semester: "",
+ course: "",
+ });
+ return (
+
+
+
+
+ Kurt Toledo
+ Student
+
+
+
+
+
+ First Name
+
+
+
+ ): void => {
+ setUser ({...user, first_name: e.nativeEvent.text});
+ }}
+ />
+
+
+
+
+ Last Name
+
+
+
+ ): void => {
+ setUser ({...user, first_name: e.nativeEvent.text});
+ }}
+ />
+
+
+
+
+
+ Year Level
+
+
+
+ ): void => {
+ setUser ({...user, first_name: e.nativeEvent.text});
+ }}
+ />
+
+
+
+
+ Semester
+
+
+
+ ): void => {
+ setUser ({...user, first_name: e.nativeEvent.text});
+ }}
+ />
+
+
+
+
+ Course
+
+
+
+ ): void => {
+ setUser ({...user, first_name: e.nativeEvent.text});
+ }}
+ />
+
+
+
+
+
+ Subject
+
+
+ {
+ console.log(selectedItem, index)
+ }}
+ renderDropdownIcon={() =>
+
+ }
+ buttonTextStyle={{
+ color: "white"
+ }}
+ dropdownStyle={{
+ backgroundColor: "#E3963E",
+ }}
+ data={options}
+ buttonStyle={{
+ width: "90%",
+ marginLeft: 10,
+ backgroundColor: "#E3963E",
+ borderRadius: 8
+ }}
+
+/>
+
+
+ setIsEditable(!isEditable)}
+ >
+ {isEditable ? "Save" : "Edit Profile"}
+
+
+
+ );
+}
diff --git a/src/routes/UserInfo/image/3135715.png b/src/routes/UserInfo/image/3135715.png
new file mode 100644
index 0000000..1c927a4
Binary files /dev/null and b/src/routes/UserInfo/image/3135715.png differ
diff --git a/src/styles.tsx b/src/styles.tsx
index 81d876e..d8d7c67 100644
--- a/src/styles.tsx
+++ b/src/styles.tsx
@@ -1,3 +1,4 @@
+import { createErrorHandler } from "expo/build/errors/ExpoErrorManager";
import { StyleSheet } from "react-native";
export const colors = {
@@ -101,6 +102,35 @@ const styles = StyleSheet.create({
padding: 10,
borderRadius: 8,
},
+ profile: {
+ height: 80,
+ width: 80,
+ marginLeft: 10,
+ },
+ input: {
+ height: 40,
+ margin: 12,
+ marginRight: 30,
+ borderWidth: 1,
+ color: colors.text_default,
+ backgroundColor: colors.blue_1,
+ borderRadius: 8,
+ borderColor: '#FFAC1C',
+ padding: 8,
+ },
+ formGroup: {
+ display: "flex",
+ flexDirection: "row",
+ alignItems: "center",
+ },
+ text: {
+ marginLeft: 5,
+ color: colors.text_default,
+ fontSize: font_sizes.small,
+ fontWeight: "bold",
+ },
+
+
});
export default styles;