@kiwicom/smart-faq
Version:
Smart FAQ
62 lines (56 loc) • 1.56 kB
JavaScript
// @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;