From 3978bd82db12a4606ebb9a60c15352fb14ee0055 Mon Sep 17 00:00:00 2001 From: Ivan Chen Date: Tue, 23 Feb 2021 16:21:40 -0500 Subject: added sp image to store for profile preview, using React.memo to prevent UI updates --- src/store/actions/user.ts | 16 ++++++++++------ src/store/initialStates.ts | 1 + src/store/reducers/userReducer.ts | 5 +++++ 3 files changed, 16 insertions(+), 6 deletions(-) (limited to 'src/store') diff --git a/src/store/actions/user.ts b/src/store/actions/user.ts index 3511dcf3..a9f9d945 100644 --- a/src/store/actions/user.ts +++ b/src/store/actions/user.ts @@ -13,6 +13,7 @@ import { setNewNotificationReceived, setNewVersionAvailable, setReplyPosted, + setSuggestedPeopleImage, setSuggestedPeopleLinked, socialEdited, userDetailsFetched, @@ -163,13 +164,16 @@ export const logout = (): ThunkAction< } }; -export const uploadedSuggestedPeoplePhoto = (): ThunkAction< - Promise, - RootState, - unknown, - Action -> => async (dispatch) => { +export const uploadedSuggestedPeoplePhoto = ( + imageUri: string, +): ThunkAction, RootState, unknown, Action> => async ( + dispatch, +) => { try { + await dispatch({ + type: setSuggestedPeopleImage.type, + payload: {suggestedPeopleImage: imageUri}, + }); dispatch({ type: setSuggestedPeopleLinked.type, payload: {suggested_people_linked: 1}, diff --git a/src/store/initialStates.ts b/src/store/initialStates.ts index 408de39e..4b61a2b1 100644 --- a/src/store/initialStates.ts +++ b/src/store/initialStates.ts @@ -47,6 +47,7 @@ export const NO_USER_DATA = { isOnboardedUser: false, newVersionAvailable: false, newNotificationReceived: false, + suggestedPeopleImage: '', replyPosted: undefined, }; diff --git a/src/store/reducers/userReducer.ts b/src/store/reducers/userReducer.ts index ea9294ec..587aa374 100644 --- a/src/store/reducers/userReducer.ts +++ b/src/store/reducers/userReducer.ts @@ -66,6 +66,10 @@ const userDataSlice = createSlice({ setNewVersionAvailable: (state, action) => { state.newVersionAvailable = action.payload.newVersionAvailable; }, + + setSuggestedPeopleImage: (state, action) => { + state.suggestedPeopleImage = action.payload.suggestedPeopleImage; + }, }, }); @@ -79,5 +83,6 @@ export const { setNewVersionAvailable, setNewNotificationReceived, setReplyPosted, + setSuggestedPeopleImage, } = userDataSlice.actions; export const userDataReducer = userDataSlice.reducer; -- cgit v1.2.3-70-g09d2