aboutsummaryrefslogtreecommitdiff
path: root/src/utils/users.ts
diff options
context:
space:
mode:
authorIvan Chen <ivan@tagg.id>2021-05-07 16:04:01 -0400
committerGitHub <noreply@github.com>2021-05-07 16:04:01 -0400
commit85dbf012ad864a1149939c7eaf43c3ebb56a1853 (patch)
treeb94d9570439ebfa42e6664144f124abe5d4113e3 /src/utils/users.ts
parentc9d32e68fbb9d1bc175722bfda49454a6f627eae (diff)
parent76bc8c5825f39257be6e7648d12b858f1e805569 (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.ts21
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,