diff --git a/src/screens/SplashScreen.tsx b/src/screens/SplashScreen.tsx
index e424cac..ff214e1 100644
--- a/src/screens/SplashScreen.tsx
+++ b/src/screens/SplashScreen.tsx
@@ -21,7 +21,7 @@ const SplashScreen = () => {
try {
const credentials = await Keychain.getGenericPassword();
if (!credentials) {
- Alert.alert("Error", "You are not logged in");
+ // Alert.alert("Error", "You are not logged in");
return;
}
const token = credentials.password;
diff --git a/src/screens/home/UserProfileStatus.tsx b/src/screens/home/UserProfileStatus.tsx
index 9349c05..f031f9b 100644
--- a/src/screens/home/UserProfileStatus.tsx
+++ b/src/screens/home/UserProfileStatus.tsx
@@ -11,6 +11,7 @@ import {
import * as Keychain from "react-native-keychain";
import { useFocusEffect, useNavigation } from "@react-navigation/native";
import { BASE_URL } from "../../utils/ApiUrls";
+import colors from "../../components/colors";
export type ApiResponse = {
message: string;
@@ -136,13 +137,14 @@ const UserProfileStatus: React.FC = () => {
{ if (intervalId) {
- clearInterval(intervalId);
- setIntervalId(null);
- }
+ onPress={() => {
+ if (intervalId) {
+ clearInterval(intervalId);
+ setIntervalId(null);
+ }
- setShowModal(false);
- }}
+ setShowModal(false);
+ }}
>
Close
@@ -221,7 +223,7 @@ const styles = StyleSheet.create({
fontSize: 20,
fontWeight: "700",
marginBottom: 10,
- color: "#FF9500",
+ color: colors.primary,
},
modalText: {
fontSize: 14,
diff --git a/src/screens/profile/BecomeOrg.tsx b/src/screens/profile/BecomeOrg.tsx
index cbe6225..1ac795c 100644
--- a/src/screens/profile/BecomeOrg.tsx
+++ b/src/screens/profile/BecomeOrg.tsx
@@ -9,12 +9,17 @@ import {
KeyboardAvoidingView,
Platform,
SafeAreaView,
+ TouchableOpacity,
} from "react-native";
import * as Keychain from "react-native-keychain";
import { CustomInput, CustomButton } from "../../components/common/Custom";
import colors from "../../components/colors";
+import { useNavigation } from "@react-navigation/native";
+import AppView from "../../components/AppView";
+import Ionicons from "@react-native-vector-icons/ionicons";
const BecomeOrg = () => {
+ const navigation = useNavigation();
const [bankAccountNumber, setBankAccountNumber] = useState("");
const [bankName, setBankName] = useState("");
const [branchCode, setBranchCode] = useState("");
@@ -58,6 +63,7 @@ const BecomeOrg = () => {
setBankAccountNumber("");
setBankName("");
setBranchCode("");
+ navigation.navigate("Home" as never);
} else {
Alert.alert("Error", result.message || "Failed to apply");
}
@@ -70,7 +76,14 @@ const BecomeOrg = () => {
};
return (
-
+
+
+ navigation.replace("Home" as never)} >
+
+
+ User Profile
+
+
{
)}
-
+
);
};
@@ -140,4 +153,17 @@ const styles = StyleSheet.create({
textAlign: "center",
color: colors.textDark,
},
+ header: {
+ flexDirection: "row",
+ justifyContent: "space-between",
+ alignItems: "center",
+ padding: 16,
+ borderBottomLeftRadius: 20,
+ borderBottomRightRadius: 20,
+ },
+ headerTitle: {
+ fontSize: 22,
+ fontWeight: "700",
+ color: "#000"
+ },
});
diff --git a/src/screens/profile/Profile.tsx b/src/screens/profile/Profile.tsx
index 36ef8f5..4b9147e 100644
--- a/src/screens/profile/Profile.tsx
+++ b/src/screens/profile/Profile.tsx
@@ -1,4 +1,4 @@
-import React, { useState, useEffect, useCallback} from "react";
+import React, { useState, useEffect, useCallback } from "react";
import {
StyleSheet,
View,
@@ -243,35 +243,35 @@ const Profile = () => {
}
};
- const logout = async (navigation: any) => {
- try {
- const credentials = await Keychain.getGenericPassword();
+ const logout = async (navigation: any) => {
+ try {
+ const credentials = await Keychain.getGenericPassword();
- if (!credentials) {
- Alert.alert("Info", "No user is currently logged in");
- return;
+ if (!credentials) {
+ Alert.alert("Info", "No user is currently logged in");
+ return;
+ }
+
+ // Clear stored credentials
+ await Keychain.resetGenericPassword();
+ Alert.alert("Success", "You have been logged out");
+ navigation.replace("Login");
+ } catch (error) {
+ console.error("Logout error:", error);
+ Alert.alert("Error", "Failed to log out. Please try again.");
}
+ };
- // Clear stored credentials
- await Keychain.resetGenericPassword();
- Alert.alert("Success", "You have been logged out");
- navigation.replace("Login");
- } catch (error) {
- console.error("Logout error:", error);
- Alert.alert("Error", "Failed to log out. Please try again.");
- }
-};
-
- const confirmLogout = (navigation: any) => {
- Alert.alert(
- "Logout",
- "Are you sure you want to log out?",
- [
- { text: "Cancel", style: "cancel" },
- { text: "Yes, Logout", style: "destructive", onPress: () => logout(navigation) },
- ]
- );
-};
+ const confirmLogout = (navigation: any) => {
+ Alert.alert(
+ "Logout",
+ "Are you sure you want to log out?",
+ [
+ { text: "Cancel", style: "cancel" },
+ { text: "Yes, Logout", style: "destructive", onPress: () => logout(navigation) },
+ ]
+ );
+ };
useFocusEffect(
@@ -281,7 +281,7 @@ const Profile = () => {
);
useEffect(() => {
- userStatus();
+ userStatus();
fetchUserProfile();
}, []);
@@ -316,7 +316,7 @@ const Profile = () => {
{
{/* Profile Card */}
{/* Profile Image Section */}
- {/* {
- statusData?.role && statusData?.organizerStatus ?
- Your Role: {statusData.role} | Organizer Status: {statusData.organizerStatus}
- :
- } */}
+ { user?.role === "ORGANIZER" && user?.organizerStatus === "NOT_APPLIED" || "PENDING" ? (
+ Your Role: {user.role} | Organizer Status: {user.organizerStatus}
+ ) : (
+
+ )}
{
<>
{/* Profile Details */}
- Personal Information
-
+
+
+ Personal Information
+ Become Organizer
+ {/*
- Become Organizer
+
+ */}
+
+
+ setEditing(true)}
+ icon="create"
+ style={styles.editButton}
+ buttonBackground={colors.pastelBlue}
+ />
+
-
@@ -419,15 +432,11 @@ const Profile = () => {
{user.role || "User"}
-
- setEditing(true)}
- icon="create"
- style={styles.editButton}
- buttonBackground={colors.pastelBlue}
- />
+
+
+
+
>
) : (
<>
@@ -482,22 +491,24 @@ const Profile = () => {
onChangeText={(text) => setUser({ ...user, gender: text })}
icon="male-female"
/>
-
-
-
- setEditing(false)}
- icon="close"
- style={styles.cancelButton}
- buttonBackground="#f38080ff"
- />
+
+
+
+ setEditing(false)}
+ icon="close"
+ style={styles.cancelButton}
+ buttonBackground=""
+ />
+
+
>
)}
@@ -530,15 +541,8 @@ const styles = StyleSheet.create({
justifyContent: "space-between",
alignItems: "center",
padding: 16,
- // paddingTop: 50,
- // backgroundColor: "#6366f1",
borderBottomLeftRadius: 20,
borderBottomRightRadius: 20,
- // elevation: 4,
- // shadowColor: "#000",
- // shadowOffset: { width: 0, height: 2 },
- // shadowOpacity: 0.2,
- // shadowRadius: 4,
},
headerTitle: {
fontSize: 22,
@@ -598,13 +602,13 @@ const styles = StyleSheet.create({
borderRadius: 25,
},
detailsSection: {
- marginBottom: 24,
+ marginBottom: "40%",
},
sectionTitle: {
fontSize: 18,
fontWeight: "700",
color: "#1e293b",
- marginBottom: 16,
+ // marginBottom: 16,
paddingBottom: 8,
borderBottomWidth: 1,
borderBottomColor: "#f1f5f9",
@@ -629,10 +633,10 @@ const styles = StyleSheet.create({
fontWeight: "500",
},
editButton: {
- marginTop: 8,
+ paddingHorizontal: 8,
},
editSection: {
- marginBottom: 20,
+ marginBottom: '40%',
flex: 1,
},
editButtons: {
@@ -643,6 +647,8 @@ const styles = StyleSheet.create({
},
cancelButton: {
marginTop: 4,
+ borderWidth: 1,
+ borderColor: "#cbd5e1",
},
inputContainer: {
marginBottom: 16,
diff --git a/src/screens/profile/SwitchNavigator.tsx b/src/screens/profile/SwitchNavigator.tsx
index 5a26a3a..bee3379 100644
--- a/src/screens/profile/SwitchNavigator.tsx
+++ b/src/screens/profile/SwitchNavigator.tsx
@@ -2,6 +2,7 @@ import React, { useState } from "react";
import { View, Text, StyleSheet, Switch } from "react-native";
import { useNavigation } from "@react-navigation/native";
import type { NativeStackNavigationProp } from "@react-navigation/native-stack";
+import colors from "../../components/colors";
type RootStackParamList = {
BecomeOrg: undefined;
@@ -24,6 +25,10 @@ const SwitchNavigator: React.FC = ({ role, status }) => {
if (newValue) {
navigation.navigate("BecomeOrg"); // Navigate when ON
+ setTimeout(() => {
+ setIsEnabled(false);
+ }, 2000);
+ // Reset switch to OFF after navigation
} else {
navigation.navigate("Profile"); // Navigate when OFF
}
@@ -40,8 +45,8 @@ const SwitchNavigator: React.FC = ({ role, status }) => {
: `Request Organizer Role ${status}`}