UNPKG

@kiwicom/smart-faq

Version:

Smart FAQ

62 lines (56 loc) 1.56 kB
// @flow import * as React from 'react'; import FAQArticleRaw from './FAQArticleRaw'; import { SearchState } from '../../SmartFAQ/context/SearchState'; import type { SearchStateType } from '../../SmartFAQ/context/SearchState'; import { simpleTracker } from '../../shared/helpers/analytics/trackers'; import type { FAQArticle_article } from './__generated__/FAQArticle_article.graphql'; import { track } from '../../shared/cuckoo/tracker'; type Props = {| article: FAQArticle_article, categoryId: ?string, isSearchResult: ?boolean, |}; const articleClicked = ( resetQueriesCount: () => void, queriesBeforeClick: number, searchText: string, article: FAQArticle_article, ) => () => { simpleTracker('smartFAQBookingOverview', { action: 'articleClicked', queriesBeforeClick, }); track('FAQs', 'articleClicked', { searchText, queriesBeforeClick, articleId: article.originalId, }); if (searchText) { resetQueriesCount(); } }; const TrackedFAQArticle = (props: Props) => ( <SearchState.Consumer> {({ resetQueriesCount, queriesBeforeClick, searchText, }: SearchStateType) => { return ( <FAQArticleRaw article={props.article} categoryId={props.categoryId} isSearchResult={props.isSearchResult} onClick={articleClicked( resetQueriesCount, queriesBeforeClick, searchText, props.article, )} /> ); }} </SearchState.Consumer> ); export default TrackedFAQArticle;