feedbackspark
Version:
Simple in-product surveys for SaaS product teams. Get contextual feedback from the right users with precise targeting.
58 lines (47 loc) • 1.33 kB
JavaScript
("use strict");
function loadSparkSDK(src) {
return new Promise((resolve, reject) => {
try {
const el = document.createElement("script");
const container = document.getElementsByTagName("head")[0];
el.type = "text/javascript";
el.id = "_shq";
el.async = 1;
el.src = src;
el.addEventListener("load", () => {
resolve({ status: true });
window["loaded-sparkjs"] = true;
});
el.addEventListener("error", () => {
reject({
status: false,
message: `Failed to load FeedbackSpark javascript sdk`,
});
});
container.appendChild(el);
} catch (err) {
reject(err);
}
});
}
window["loaded-sparkjs"] = false;
window.spark = function () {
if (typeof window === "undefined") {
console.error(
"Client Error: Please install FeedbackSpark js sdk on the browser."
);
}
if (!window["loaded-sparkjs"]) {
loadSparkSDK("https://static.feedbackspark.com/spark.js").catch((error) => {
console.error(error);
});
}
(window.spark.q = window.spark.q || []).push(arguments);
};
export default window.spark;
export const FSEVENTS = {
SURVEY_SHOWN: "SURVEY_SHOWN",
SURVEY_CLOSED: "SURVEY_CLOSED",
SURVEY_COMPLETED: "SURVEY_COMPLETED",
SURVEY_STARTED: "SURVEY_STARTED",
};