aboutsummaryrefslogtreecommitdiff
path: root/src/routes
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes')
-rw-r--r--src/routes/authentication/AuthProvider.tsx13
-rw-r--r--src/routes/profile/Profile.tsx12
-rw-r--r--src/routes/profile/ProfileStack.tsx4
3 files changed, 28 insertions, 1 deletions
diff --git a/src/routes/authentication/AuthProvider.tsx b/src/routes/authentication/AuthProvider.tsx
index 7da47b71..7046d04f 100644
--- a/src/routes/authentication/AuthProvider.tsx
+++ b/src/routes/authentication/AuthProvider.tsx
@@ -40,6 +40,8 @@ interface AuthContextProps {
blockedUsers: ProfilePreviewType[];
blockedUsersNeedUpdate: boolean;
updateBlockedUsers: (value: boolean) => void;
+ isEditedProfile: boolean;
+ updateIsEditedProfile: (value: boolean) => void;
}
const NO_USER: UserType = {
@@ -51,6 +53,8 @@ const NO_PROFILE: ProfileType = {
biography: '',
website: '',
name: '',
+ gender: '',
+ birthday: undefined,
};
const NO_SOCIAL_ACCOUNTS: Record<string, SocialAccountType> = {
@@ -79,6 +83,8 @@ export const AuthContext = createContext<AuthContextProps>({
blockedUsers: [],
blockedUsersNeedUpdate: true,
updateBlockedUsers: () => {},
+ isEditedProfile: false,
+ updateIsEditedProfile: () => {},
});
/**
@@ -110,6 +116,7 @@ const AuthProvider: React.FC = ({children}) => {
const [blockedUsersNeedUpdate, setBlockedUsersNeedUpdate] = useState<boolean>(
true,
);
+ const [isEditedProfile, setIsEditedProfile] = useState<boolean>(false);
const {userId} = user;
useEffect(() => {
@@ -149,7 +156,7 @@ const AuthProvider: React.FC = ({children}) => {
}
};
loadData();
- }, [userId]);
+ }, [userId, isEditedProfile]);
useEffect(() => {
const loadNewMoments = async () => {
@@ -245,6 +252,7 @@ const AuthProvider: React.FC = ({children}) => {
followersNeedUpdate,
blockedUsers,
blockedUsersNeedUpdate,
+ isEditedProfile,
login: (id, username) => {
setUser({...user, userId: id, username});
},
@@ -274,6 +282,9 @@ const AuthProvider: React.FC = ({children}) => {
updateBlockedUsers: (value) => {
setBlockedUsersNeedUpdate(value);
},
+ updateIsEditedProfile: (value: boolean) => {
+ setIsEditedProfile(value);
+ },
}}>
{children}
</AuthContext.Provider>
diff --git a/src/routes/profile/Profile.tsx b/src/routes/profile/Profile.tsx
index bffa22ce..b6672c85 100644
--- a/src/routes/profile/Profile.tsx
+++ b/src/routes/profile/Profile.tsx
@@ -7,6 +7,7 @@ import {
ProfileScreen,
MomentCommentsScreen,
FollowersListScreen,
+ EditProfile,
} from '../../screens';
import {ProfileStack, ProfileStackParams} from './ProfileStack';
import {RouteProp} from '@react-navigation/native';
@@ -99,6 +100,17 @@ const Profile: React.FC<ProfileStackProps> = ({route}) => {
component={FollowersListScreen}
initialParams={{isProfileView: isProfileView}}
/>
+ <ProfileStack.Screen
+ name="EditProfile"
+ component={EditProfile}
+ options={{
+ headerShown: true,
+ headerTitle: 'Edit Profile',
+ headerTransparent: true,
+ headerBackTitleVisible: false,
+ headerTintColor: 'white',
+ }}
+ />
</ProfileStack.Navigator>
);
};
diff --git a/src/routes/profile/ProfileStack.tsx b/src/routes/profile/ProfileStack.tsx
index b1e86214..5590f78a 100644
--- a/src/routes/profile/ProfileStack.tsx
+++ b/src/routes/profile/ProfileStack.tsx
@@ -33,6 +33,10 @@ export type ProfileStackParams = {
isFollowers: boolean;
list: ProfilePreviewType[];
};
+ EditProfile: {
+ userId: boolean;
+ username: ProfilePreviewType[];
+ };
};
export const ProfileStack = createStackNavigator<ProfileStackParams>();