Skip to content

Commit

Permalink
fixed merge conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
foloy committed Nov 9, 2023
1 parent e1f46f8 commit 0b9f7f5
Show file tree
Hide file tree
Showing 8 changed files with 73 additions and 67 deletions.
19 changes: 5 additions & 14 deletions src/app/(BottomTabNavigation)/Profile/DeleteAccount/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,34 +7,25 @@ import {
getCurrentUserInfo,
signOutUser,
} from '../../../../supabase/queries/auth';
import { userInstance, User } from '../../../../types/types';
import styles from '../styles';

function DeleteAccountScreen() {
const [currSession, setCurrSession] = useState<any>(null);
const [currSession, setCurrSession] = useState<User>(userInstance);
useEffect(() => {
getCurrentUserInfo().then(result => {
if (result) {
const userInfo = {
email: result.email,
fullName: result.user_metadata.fullName,
mailingAddress: result.user_metadata.mailingAddress,
id: result.id,
};
setCurrSession(userInfo);
} else {
setCurrSession(null);
}
setCurrSession(result);
});
}, []);
return (
<View>
<Text>
Are you sure you want to delete your account {currSession?.firstName}?
Are you sure you want to delete your account {currSession.firstName}?
</Text>
<TouchableOpacity
style={styles.button}
onPress={() => {
deleteCurrentUser(currSession?.id);
deleteCurrentUser(currSession.id);
signOutUser();
}}
>
Expand Down
15 changes: 4 additions & 11 deletions src/app/(BottomTabNavigation)/Profile/DeleteAccount/styles.ts
Original file line number Diff line number Diff line change
@@ -1,25 +1,18 @@
import { StyleSheet } from 'react-native';

import { colors } from '../../../../styles/colors';

export default StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
backgroundColor: colors.white,
alignItems: 'center',
justifyContent: 'center',
},
button: {
margin: 10,
alignItems: 'center',
backgroundColor: '#339FFF',
padding: 10,
},
input: {
height: 40,
margin: 12,
borderWidth: 1,
backgroundColor: colors.midGrey,
padding: 10,
width: 310,
borderRadius: 5,
borderColor: '#C5C5C5',
},
});
20 changes: 5 additions & 15 deletions src/app/(BottomTabNavigation)/Profile/EditAddress/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,30 +7,20 @@ import {
getCurrentUserInfo,
updateCurrUserAddress,
} from '../../../../supabase/queries/auth';
import { User, userInstance } from '../../../../types/types';

function EditNameScreen() {
const [currSession, setCurrSession] = useState<any>(null);
const [currSession, setCurrSession] = useState<User>(userInstance);
const [address, setAddress] = useState<string>();
useEffect(() => {
getCurrentUserInfo().then(result => {
if (result) {
const userInfo = {
email: result.email,
firstName: result.user_metadata.firstName,
lastName: result.user_metadata.lastName,
address: result.user_metadata.address,
id: result.id,
};
setCurrSession(userInfo);
setAddress(userInfo.address);
} else {
setCurrSession(null);
}
setCurrSession(result);
setAddress(result.address);
});
}, []);
return (
<View>
<Text>Edit Address {currSession?.mailingAddress}</Text>
<Text>Edit Address {currSession.address}</Text>
<TextInput
style={styles.input}
value={address}
Expand Down
8 changes: 5 additions & 3 deletions src/app/(BottomTabNavigation)/Profile/EditAddress/styles.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
import { StyleSheet } from 'react-native';

import { colors } from '../../../../styles/colors';

export default StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
backgroundColor: colors.white,
alignItems: 'center',
justifyContent: 'center',
},
button: {
margin: 10,
alignItems: 'center',
backgroundColor: '#339FFF',
backgroundColor: colors.midGrey,
padding: 10,
},
input: {
Expand All @@ -20,6 +22,6 @@ export default StyleSheet.create({
padding: 10,
width: 310,
borderRadius: 5,
borderColor: '#C5C5C5',
borderColor: colors.midGrey,
},
});
32 changes: 15 additions & 17 deletions src/app/(BottomTabNavigation)/Profile/EditName/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,38 +7,36 @@ import {
getCurrentUserInfo,
updateCurrUserName,
} from '../../../../supabase/queries/auth';
import { User, userInstance } from '../../../../types/types';

function EditNameScreen() {
const [currSession, setCurrSession] = useState<any>(null);
const [currSession, setCurrSession] = useState<User>(userInstance);
const [firstName, setFirstName] = useState<string>();
const [middleName, setMiddleName] = useState<string | null>();
const [lastName, setLastName] = useState<string>();
useEffect(() => {
getCurrentUserInfo().then(result => {
if (result) {
const userInfo = {
email: result.email,
firstName: result.user_metadata.firstName,
lastName: result.user_metadata.lastName,
address: result.user_metadata.address,
id: result.id,
};
setCurrSession(userInfo);
setFirstName(userInfo.firstName);
setLastName(userInfo.lastName);
} else {
setCurrSession(null);
}
setCurrSession(result);
setFirstName(result.firstName);
setMiddleName(result.middleName);
setLastName(result.lastName);
});
}, []);
return (
<View>
<Text>Edit Name {currSession?.firstName}</Text>
<Text>Edit Name {currSession.firstName}</Text>
<TextInput
style={styles.input}
value={firstName}
onChangeText={setFirstName}
placeholder="First Name"
/>
<TextInput
style={styles.input}
value={middleName ? middleName : ''}
onChangeText={setMiddleName}
placeholder="Middle Name"
/>
<TextInput
style={styles.input}
value={lastName}
Expand All @@ -49,7 +47,7 @@ function EditNameScreen() {
style={styles.button}
onPress={() => {
if (firstName && lastName) {
updateCurrUserName(firstName, lastName);
updateCurrUserName(firstName, middleName, lastName);
router.push('/Profile/');
} else {
router.push('/Profile/');
Expand Down
8 changes: 5 additions & 3 deletions src/app/(BottomTabNavigation)/Profile/EditName/styles.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
import { StyleSheet } from 'react-native';

import { colors } from '../../../../styles/colors';

export default StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
backgroundColor: colors.white,
alignItems: 'center',
justifyContent: 'center',
},
button: {
margin: 10,
alignItems: 'center',
backgroundColor: '#339FFF',
backgroundColor: colors.midGrey,
padding: 10,
},
input: {
Expand All @@ -20,6 +22,6 @@ export default StyleSheet.create({
padding: 10,
width: 310,
borderRadius: 5,
borderColor: '#C5C5C5',
borderColor: colors.midGrey,
},
});
28 changes: 25 additions & 3 deletions src/supabase/queries/auth.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { User } from '../../types/types';
import supabaseAdmin from '../createAdminClient';
import supabase from '../createClient';

Expand Down Expand Up @@ -56,30 +57,50 @@ export const deleteCurrentUser = async (userId: string) => {
try {
await supabaseAdmin.auth.admin.deleteUser(userId);
} catch (error) {
console.error('(deleteCurrentUser)', error);
throw error;
}
};

export const getCurrentUserInfo = async () => {
export const getCurrentUserInfo = async (): Promise<User> => {
try {
const {
data: { user },
} = await supabase.auth.getUser();
return user;
if (user) {
const userInfo = {
email: user.user_metadata.email,
firstName: user.user_metadata.firstName,
middleName: user.user_metadata.middleName,
lastName: user.user_metadata.lastName,
address: user.user_metadata.address,
id: user.id,
};
return userInfo;
} else {
throw new Error('User not found');
}
} catch (error) {
console.error('(getCurrentUserInfo)', error);
throw error;
}
};

export const updateCurrUserName = async (
newFirstName: string,
newMiddleName: string | undefined | null,
newLastName: string,
) => {
try {
await supabase.auth.updateUser({
data: { firstName: newFirstName, lastName: newLastName },
data: {
firstName: newFirstName,
middleName: newMiddleName,
lastName: newLastName,
},
});
} catch (error) {
console.error('(updateCurrUserName)', error);
throw error;
}
};
Expand All @@ -90,6 +111,7 @@ export const updateCurrUserAddress = async (newAddress: string) => {
data: { address: newAddress },
});
} catch (error) {
console.error('(updateCurrUserAddress)', error);
throw error;
}
};
10 changes: 9 additions & 1 deletion src/types/types.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ export type User = {
middleName: string | null;
lastName: string;
email: string;
addresss: string;
address: string;
};

export type Status = {
Expand All @@ -36,3 +36,11 @@ export enum Eligibility {
INELIGIBLE = 'INELIGIBLE',
UNDETERMINED = 'UNDETERMINED',
}
export const userInstance: User = {
id: '',
firstName: '',
middleName: null,
lastName: '',
email: '',
address: '',
};

0 comments on commit 0b9f7f5

Please sign in to comment.