+
);
};
diff --git a/packages/shared/src/graphql/actions.ts b/packages/shared/src/graphql/actions.ts
index 1e4a28c6a3..d774f40a8e 100644
--- a/packages/shared/src/graphql/actions.ts
+++ b/packages/shared/src/graphql/actions.ts
@@ -56,6 +56,7 @@ export enum ActionType {
ProfileCompleted = 'profile_completed',
ClickedOpportunityNavigation = 'click_opportunity_navigation',
ProfileCompletionCard = 'profile_completion_card',
+ DismissProfileCompletionIndicator = 'dismiss_profile_completion_indicator',
}
export const cvActions = [
diff --git a/packages/shared/src/hooks/profile/useProfileCompletionIndicator.ts b/packages/shared/src/hooks/profile/useProfileCompletionIndicator.ts
index 2932c52c87..dd5dda09dd 100644
--- a/packages/shared/src/hooks/profile/useProfileCompletionIndicator.ts
+++ b/packages/shared/src/hooks/profile/useProfileCompletionIndicator.ts
@@ -1,21 +1,31 @@
+import { useCallback } from 'react';
import { useAuthContext } from '../../contexts/AuthContext';
-import { useFeature } from '../../components/GrowthBookProvider';
-import { featureProfileCompletionIndicator } from '../../lib/featureManagement';
+import { useActions } from '../useActions';
+import { ActionType } from '../../graphql/actions';
interface UseProfileCompletionIndicator {
showIndicator: boolean;
+ dismissIndicator: () => void;
}
export const useProfileCompletionIndicator =
(): UseProfileCompletionIndicator => {
const { user } = useAuthContext();
+ const { checkHasCompleted, completeAction, isActionsFetched } =
+ useActions();
const profileCompletionPercentage =
user?.profileCompletion?.percentage ?? 100;
- const profileCompletionThreshold = useFeature(
- featureProfileCompletionIndicator,
- );
+
+ const isDismissed =
+ isActionsFetched &&
+ checkHasCompleted(ActionType.DismissProfileCompletionIndicator);
+
+ const dismissIndicator = useCallback(() => {
+ completeAction(ActionType.DismissProfileCompletionIndicator);
+ }, [completeAction]);
return {
- showIndicator: profileCompletionPercentage < profileCompletionThreshold,
+ showIndicator: profileCompletionPercentage < 100 && !isDismissed,
+ dismissIndicator,
};
};