@logsnag/next
Version:
LogSnag client for Next applications
68 lines (60 loc) • 2.07 kB
JavaScript
;
var React = require('react');
var Script = require('next/script');
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
var React__default = /*#__PURE__*/_interopDefault(React);
var Script__default = /*#__PURE__*/_interopDefault(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__default.default.createElement(React__default.default.Fragment, null, /* @__PURE__ */ React__default.default.createElement(Script__default.default, { id: "logsnag-script", async: true, defer: true, src: CDN_URL }), /* @__PURE__ */ React__default.default.createElement(
Script__default.default,
{
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__default.default.createElement(Script__default.default, { type: "text/javascript", strategy: "afterInteractive" }, `window.ls('setUserId', ${userId ? `'${userId}'` : null});`);
};
exports.LogSnagProvider = LogSnagProvider;
exports.SetUserIdServerComponent = SetUserIdServerComponent;
exports.useLogSnag = useLogSnag;
//# sourceMappingURL=out.js.map
//# sourceMappingURL=index.js.map