UNPKG

@kiwicom/smart-faq

Version:

Smart FAQ

43 lines (34 loc) 1.05 kB
// @noflow import * as React from 'react'; import type { Subcategory, CuckooAction, CuckooProps, } from '../../../shared/cuckoo/cuckooTypes'; import { track } from '../../../shared/cuckoo/tracker'; /* @deprecated in favor of LogUnmount */ const LogladyTimeTracker = <TargetProps>( TargetComponent: React.ComponentType<TargetProps>, subcategory: Subcategory, action: CuckooAction, payloadBuilder?: (props: TargetProps) => CuckooProps, ): React.ComponentType<TargetProps> => { class LogladyTimeTracked extends React.Component<TargetProps> { openedAt: number; componentDidMount() { this.openedAt = Date.now(); } componentWillUnmount() { const timeOpen = Math.round((Date.now() - this.openedAt) / 1000); const payload = payloadBuilder ? { ...payloadBuilder(this.props), timeOpen } : {}; track(subcategory, action, payload); } render() { return <TargetComponent {...this.props} />; } } return LogladyTimeTracked; }; export default LogladyTimeTracker;