fix: no window thing (#4900)

This commit is contained in:
jose-donato
2023-04-25 19:53:51 +01:00
committed by GitHub
parent 76134c7b0a
commit 130942bde8

View File

@@ -8,30 +8,9 @@ export const iFrameContext = createContext({
export const useIFrameContext = () => useContext(iFrameContext);
posthog.init("phc_EqU3YjnV8OYmBlKanwWq222B8OHQksfmQBUtcVeteHR", {
api_host: "https://app.posthog.com",
autocapture: {
css_selector_allowlist: [".ph-capture"],
},
loaded: () => {
posthog.onFeatureFlags(function () {
if (!posthog.isFeatureEnabled("record-web", { send_event: false })) {
posthog.stopSessionRecording();
console.log("Stopped session recording");
}
if (!posthog.isFeatureEnabled("collect-logs-web", { send_event: false })) {
posthog.opt_out_capturing();
console.log("Opted out of capturing");
} else if (posthog.has_opted_out_capturing()) {
posthog.opt_in_capturing();
console.log("Opted in to capturing");
}
});
},
});
export default function Root({ children }) {
const [isIFrame, setIsIFrame] = useState(false);
const [posthogLoaded, setPosthogLoaded] = useState(false);
useEffect(() => {
setIsIFrame(window.self !== window.top);
if (window.self !== window.top) {
@@ -42,13 +21,36 @@ export default function Root({ children }) {
}
});
}
posthog.init("phc_EqU3YjnV8OYmBlKanwWq222B8OHQksfmQBUtcVeteHR", {
api_host: "https://app.posthog.com",
autocapture: {
css_selector_allowlist: [".ph-capture"],
},
loaded: () => {
setPosthogLoaded(true);
posthog.onFeatureFlags(function () {
if (!posthog.isFeatureEnabled("record-web", { send_event: false })) {
posthog.stopSessionRecording();
console.log("Stopped session recording");
}
if (!posthog.isFeatureEnabled("collect-logs-web", { send_event: false })) {
posthog.opt_out_capturing();
console.log("Opted out of capturing");
} else if (posthog.has_opted_out_capturing()) {
posthog.opt_in_capturing();
console.log("Opted in to capturing");
}
});
},
});
}, []);
const location = useLocation();
useEffect(() => {
posthog.capture("$pageview");
}, [location]);
if (posthogLoaded)
posthog.capture("$pageview");
}, [location.pathname, posthogLoaded]);
return (
<iFrameContext.Provider