@kiwicom/smart-faq
Version:
Smart FAQ
37 lines (29 loc) • 923 B
JavaScript
// @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;