aboutsummaryrefslogtreecommitdiff
path: root/src/store
diff options
context:
space:
mode:
Diffstat (limited to 'src/store')
-rw-r--r--src/store/actions/user.ts34
-rw-r--r--src/store/initialStates.ts2
-rw-r--r--src/store/reducers/userReducer.ts6
3 files changed, 29 insertions, 13 deletions
diff --git a/src/store/actions/user.ts b/src/store/actions/user.ts
index 990f9260..ef134dc5 100644
--- a/src/store/actions/user.ts
+++ b/src/store/actions/user.ts
@@ -1,9 +1,9 @@
import {Action, ThunkAction} from '@reduxjs/toolkit';
import {
- editSPSwipeTutorial,
loadAvatar,
loadCover,
loadProfileInfo,
+ sendSuggestedPeopleLinked,
} from '../../services';
import {UserType} from '../../types/types';
import {getTokenOrLogout} from '../../utils';
@@ -13,11 +13,11 @@ import {
setNewNotificationReceived,
setNewVersionAvailable,
setReplyPosted,
+ setSuggestedPeopleLinked,
socialEdited,
userDetailsFetched,
userLoggedIn,
} from '../reducers';
-import {spSwipeTutorialUpdated} from '../reducers/userReducer';
import {RootState} from '../rootReducer';
import {CommentThreadType} from './../../types/types';
@@ -163,9 +163,24 @@ export const logout = (): ThunkAction<
}
};
-export const updateSPSwipeTutorial = (
- user: UserType,
- data: number,
+export const uploadedSuggestedPeoplePhoto = (): ThunkAction<
+ Promise<void>,
+ RootState,
+ unknown,
+ Action<string>
+> => async (dispatch) => {
+ try {
+ dispatch({
+ type: setSuggestedPeopleLinked.type,
+ payload: {stage: 1},
+ });
+ } catch (error) {
+ console.log(error);
+ }
+};
+
+export const suggestedPeopleAnimatedTutorialFinished = (
+ userId: string,
): ThunkAction<
Promise<boolean | undefined>,
RootState,
@@ -173,12 +188,13 @@ export const updateSPSwipeTutorial = (
Action<string>
> => async (dispatch) => {
try {
- // update store first, assume success
+ // update store first, assume request is successful
dispatch({
- type: spSwipeTutorialUpdated.type,
- payload: {sp_swipe_tutorial: data},
+ type: setSuggestedPeopleLinked.type,
+ payload: {stage: 2},
});
- return await editSPSwipeTutorial(user);
+ // need to tell the server that the stage is now 2
+ return await sendSuggestedPeopleLinked(userId, 2);
} catch (error) {
console.log('Error while updating suggested people linked state: ', error);
}
diff --git a/src/store/initialStates.ts b/src/store/initialStates.ts
index 93b1bc6e..10fdad25 100644
--- a/src/store/initialStates.ts
+++ b/src/store/initialStates.ts
@@ -21,7 +21,7 @@ export const NO_PROFILE: ProfileType = {
//Default to an invalid value and ignore it gracefully while showing tutorials / popups.
profile_completion_stage: -1,
- sp_swipe_tutorial: 0,
+ suggested_people_linked: -1,
snapchat: '',
tiktok: '',
friendship_status: 'no_record',
diff --git a/src/store/reducers/userReducer.ts b/src/store/reducers/userReducer.ts
index 773977db..5203fa3c 100644
--- a/src/store/reducers/userReducer.ts
+++ b/src/store/reducers/userReducer.ts
@@ -46,8 +46,8 @@ const userDataSlice = createSlice({
state.profile.profile_completion_stage = action.payload.stage;
},
- spSwipeTutorialUpdated: (state, action) => {
- state.profile.sp_swipe_tutorial = action.payload.sp_swipe_tutorial;
+ setSuggestedPeopleLinked: (state, action) => {
+ state.profile.suggested_people_linked = action.payload.stage;
},
setIsOnboardedUser: (state, action) => {
@@ -73,10 +73,10 @@ export const {
userDetailsFetched,
socialEdited,
profileCompletionStageUpdated,
+ setSuggestedPeopleLinked,
setIsOnboardedUser,
setNewVersionAvailable,
setNewNotificationReceived,
setReplyPosted,
- spSwipeTutorialUpdated,
} = userDataSlice.actions;
export const userDataReducer = userDataSlice.reducer;