diff options
author | Ivan Chen <ivan@tagg.id> | 2021-05-07 16:04:01 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-07 16:04:01 -0400 |
commit | 85dbf012ad864a1149939c7eaf43c3ebb56a1853 (patch) | |
tree | b94d9570439ebfa42e6664144f124abe5d4113e3 /src/utils/users.ts | |
parent | c9d32e68fbb9d1bc175722bfda49454a6f627eae (diff) | |
parent | 76bc8c5825f39257be6e7648d12b858f1e805569 (diff) |
Merge pull request #397 from shravyaramesh/tma821-load-badges-faster-ft
[TMA-821] load badges faster
Diffstat (limited to 'src/utils/users.ts')
-rw-r--r-- | src/utils/users.ts | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/utils/users.ts b/src/utils/users.ts index 754382b3..334cb3c0 100644 --- a/src/utils/users.ts +++ b/src/utils/users.ts @@ -1,6 +1,6 @@ import AsyncStorage from '@react-native-community/async-storage'; import {INTEGRATED_SOCIAL_LIST} from '../constants'; -import {isUserBlocked, loadSocialPosts} from '../services'; +import {isUserBlocked, loadSocialPosts, removeBadgesService} from '../services'; import { loadAllSocials, loadBlockedList, @@ -10,6 +10,7 @@ import { loadUserMoments, loadUserNotifications, logout, + updateUserBadges, } from '../store/actions'; import {NO_SOCIAL_ACCOUNTS} from '../store/initialStates'; import {loadUserMomentCategories} from './../store/actions/momentCategories'; @@ -21,6 +22,7 @@ import { ProfilePreviewType, ScreenType, UserType, + UniversityBadge, } from './../types/types'; const loadData = async (dispatch: AppDispatch, user: UserType) => { @@ -200,6 +202,23 @@ export const canViewProfile = ( return false; }; +/* Function to call remove badge service, + * remove selected badge from list passed in and + * dispatch thunk action to update store + */ +export const removeUserBadge = async ( + badges: UniversityBadge[], + badgeName: string, + userId: string, + dispatch: AppDispatch, +) => { + const success = await removeBadgesService([badgeName], userId); + if (success === true) { + badges = badges.filter((badge) => badge.name !== badgeName); + dispatch(updateUserBadges(badges)); + } +}; + export const navigateToProfile = async ( state: RootState, dispatch: any, |