UNPKG

@logsnag/next

Version:

LogSnag client for Next applications

59 lines (54 loc) 1.65 kB
import React from 'react'; import Script from 'next/script'; // src/client/provider.tsx // ../../utilities/constants/src/cdn.ts var CDN_URL = "https://cdn.logsnag.com/web/ls.js"; var LogSnagProvider = ({ project, token, children }) => { return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Script, { id: "logsnag-script", async: true, defer: true, src: CDN_URL }), /* @__PURE__ */ React.createElement( Script, { id: "logsnag-init", dangerouslySetInnerHTML: { __html: ` window.lsq = window.lsq || []; window.ls = window.ls || ((...args) => window.lsq.push(args)); window.ls('setConfig', '${token}', '${project}'); ` } } ), children); }; // ../../utilities/hooks/src/funcs.ts var setUserId = (userId) => { window.ls("setUserId", userId); }; var clearUserId = () => { window.ls("clearUserId"); }; var setDebug = (flag = true) => { window.ls("setDebug", flag); }; var track = (options) => { window.ls("track", options); }; var identify = (options) => { window.ls("identify", options); }; // ../../utilities/hooks/src/hooks.ts var useLogSnag = () => { return { setDebug, setUserId, clearUserId, track, identify }; }; var SetUserIdServerComponent = ({ userId }) => { return /* @__PURE__ */ React.createElement(Script, { type: "text/javascript", strategy: "afterInteractive" }, `window.ls('setUserId', ${userId ? `'${userId}'` : null});`); }; export { LogSnagProvider, SetUserIdServerComponent, useLogSnag }; //# sourceMappingURL=out.js.map //# sourceMappingURL=index.mjs.map