UNPKG

@kiwicom/smart-faq

Version:

Smart FAQ

37 lines (29 loc) 923 B
// @noflow import * as React from 'react'; import type { LogEvent, EventPayload } from './cuckoo'; import { simpleTracker } from './trackers'; /* @deprecated - will be removed */ const TimeTracker = <TargetProps>( TargetComponent: React.ComponentType<TargetProps>, eventName: LogEvent, payloadBuilder?: (props: TargetProps) => EventPayload, ): React.ComponentType<TargetProps> => { class TimeTracked 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 } : {}; simpleTracker(eventName, payload); } render() { return <TargetComponent {...this.props} />; } } return TimeTracked; }; export default TimeTracker;