feat: tracking upgrade and discovery (#66)

This commit is contained in:
leangseu-edx
2022-11-10 13:27:04 -05:00
committed by GitHub
parent e92a571cac
commit 48b157fdd0
16 changed files with 129 additions and 28 deletions

View File

@@ -2,10 +2,13 @@ import React from 'react';
import { StrictDict } from 'utils';
import { RequestStates } from 'data/constants/requests';
import { handleEvent } from 'data/services/segment/utils';
import * as module from './hooks';
import api from './api';
export const searchCourseEventName = 'learner_home.widget.search_course';
export const state = StrictDict({
requestState: (val) => React.useState(val), // eslint-disable-line
data: (val) => React.useState(val), // eslint-disable-line
@@ -34,12 +37,18 @@ export const useRecommendationPanelData = () => {
const [data, setData] = module.state.data({});
module.useFetchCourses(setRequestState, setData);
const courses = data.data?.courses || [];
const courseSearchClickTracker = () => handleEvent(searchCourseEventName, {
pageName: 'learner_home',
linkType: 'button',
linkCategory: 'search_button',
});
return {
courses,
isLoaded: requestState === RequestStates.completed && courses.length > 0,
isFailed: requestState === RequestStates.failed
|| (requestState === RequestStates.completed && courses.length === 0),
isLoading: requestState === RequestStates.pending,
courseSearchClickTracker,
};
};