* Add usabill feedback button

* Hide usabilla when not in home screen
This commit is contained in:
Richard Knoll 2022-06-08 14:31:15 -07:00 коммит произвёл GitHub
Родитель 7537276615
Коммит c85fde504b
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
1 изменённых файлов: 43 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,43 @@
<script type="text/javascript" src="/blb/pxtweb.js"></script>
<!-- begin usabilla live embed code -->
<script type="text/javascript">window.lightningjs||function(n){var e="lightningjs";function t(e,t){var r,i,a,o,d,c;return t&&(t+=(/\?/.test(t)?"&":"?")+"lv=1"),n[e]||(r=window,i=document,a=e,o=i.location.protocol,d="load",c=0,function(){n[a]=function(){var t=arguments,i=this,o=++c,d=i&&i!=r&&i.id||0;function s(){return s.id=o,n[a].apply(s,arguments)}return(e.s=e.s||[]).push([o,d,t]),s.then=function(n,t,r){var i=e.fh[o]=e.fh[o]||[],a=e.eh[o]=e.eh[o]||[],d=e.ph[o]=e.ph[o]||[];return n&&i.push(n),t&&a.push(t),r&&d.push(r),s},s};var e=n[a]._={};function s(){e.P(d),e.w=1,n[a]("_load")}e.fh={},e.eh={},e.ph={},e.l=t?t.replace(/^\/\//,("https:"==o?o:"http:")+"//"):t,e.p={0:+new Date},e.P=function(n){e.p[n]=new Date-e.p[0]},e.w&&s(),r.addEventListener?r.addEventListener(d,s,!1):r.attachEvent("onload",s);var l=function(){function n(){return["<!DOCTYPE ",o,"><",o,"><head></head><",t,"><",r,' src="',e.l,'"></',r,"></",t,"></",o,">"].join("")}var t="body",r="script",o="html",d=i[t];if(!d)return setTimeout(l,100);e.P(1);var c,s=i.createElement("div"),h=s.appendChild(i.createElement("div")),u=i.createElement("iframe");s.style.display="none",d.insertBefore(s,d.firstChild).id="lightningjs-"+a,u.frameBorder="0",u.id="lightningjs-frame-"+a,/MSIE[ ]+6/.test(navigator.userAgent)&&(u.src="javascript:false"),u.allowTransparency="true",h.appendChild(u);try{u.contentWindow.document.open()}catch(n){e.domain=i.domain,c="javascript:var d=document.open();d.domain='"+i.domain+"';",u.src=c+"void(0);"}try{var p=u.contentWindow.document;p.write(n()),p.close()}catch(e){u.src=c+'d.write("'+n().replace(/"/g,String.fromCharCode(92)+'"')+'");d.close();'}e.P(2)};e.l&&l()}()),n[e].lv="1",n[e]}var r=window.lightningjs=t(e);r.require=t,r.modules=n}({});window.usabilla_live = lightningjs.require("usabilla_live", "//w.usabilla.com/fe98398a199e.js");</script>
<!-- end usabilla live embed code -->
<script type="text/javascript">
window.addEventListener("DOMContentLoaded", () => {
let hidden = false;
// Observe the rootdir to see if we are in the homescreen or not. If
// we leave the home screen, hide the usabilla overlay
const observer = new MutationObserver((mutationList) => {
for (const mutation of mutationList) {
if (mutation.type === "attributes") {
const root = document.getElementById("root");
if (root.classList.contains("inHome")) {
if (hidden) {
hidden = false;
const el = document.querySelector("div.usabilla__overlay");
if (el) el.style.display = "";
}
}
else if (!hidden) {
hidden = true;
const el = document.querySelector("div.usabilla__overlay");
if (el) el.style.display = "none";
}
}
}
});
// Just poll until react has had time to render the root div
let interval = setInterval(() => {
const root = document.getElementById("root");
if (root) {
clearInterval(interval);
observer.observe(root, { attributes: true, attributeFilter: ["class"] });
}
}, 500);
});
</script>