UNPKG

1.11 kBJavaScriptView Raw
1import React, { createContext, useMemo, useEffect } from 'react';
2import { useCookies } from 'react-cookie';
3import { useTracker } from '../analytics/Analytics';
4import { trackExperimentEvent } from '../analytics/tracking';
5export const ExperimentsContext = createContext(null);
6const ExperimentsProvider = ({ children }) => {
7 const [cookies] = useCookies(['optimizeExperiment']);
8 const value = useMemo(() => {
9 if (!cookies.optimizeExperiment) {
10 return {
11 experiment: null,
12 variant: null
13 };
14 }
15 const [experiment, variant] = cookies.optimizeExperiment.split('.');
16 return {
17 experiment,
18 variant: parseInt(variant, 10)
19 };
20 }, [cookies]);
21 const track = useTracker();
22 useEffect(() => track(trackExperimentEvent({
23 id: value.experiment,
24 variant: value.variant
25 })), [value, track]);
26 return (React.createElement(ExperimentsContext.Provider, { value: value }, children));
27};
28export default ExperimentsProvider;
29//# sourceMappingURL=ExperimentsProvider.js.map
\No newline at end of file