import React, { useContext, useEffect } from "react"; import { EnvironmentContext } from "../utils/environment"; import styles from "../css/environment.module.css"; import Interpolate from "@docusaurus/Interpolate"; import CodeBlock from "@theme/CodeBlock"; export function SetEnvironment() { const { instance: [instance, setInstance], clientId: [clientId, setClientId], } = useContext(EnvironmentContext); useEffect(() => { const params = new URLSearchParams(window.location.search); // id=123 const clientId = params.get("clientId"); const instance = params.get("instance"); const localClientId = localStorage.getItem("clientId"); const localInstance = localStorage.getItem("instance"); setClientId(clientId ?? localClientId ?? ""); setInstance(instance ?? localInstance ?? ""); }, []); function setAndSaveInstance(value) { if (instance !== value) { localStorage.setItem("instance", value); setInstance(value); } } function setAndSaveClientId(value) { if (clientId !== value) { localStorage.setItem("clientId", value); setClientId(value); } } return (
{ const value = event.target.value; if (value) { setAndSaveInstance(value); } else { localStorage.removeItem("instance"); } }} />

{ const value = event.target.value; if (value) { setAndSaveClientId(value); } else { localStorage.removeItem("clientId"); } }} />
); } export function Env({ name }) { const env = useContext(EnvironmentContext); const variable = env[name]; return
{variable}
; } export function EnvInterpolate({ children }) { const { instance: [instance], clientId: [clientId], } = useContext(EnvironmentContext); return ( {children} ); } export function EnvCode({ language, title, code, showLineNumbers = false, children, }) { const { instance: [instance], clientId: [clientId], } = useContext(EnvironmentContext); return ( {children} ); }