diff options
Diffstat (limited to 'assets/js/app.js')
-rw-r--r-- | assets/js/app.js | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/assets/js/app.js b/assets/js/app.js new file mode 100644 index 0000000..79ccf06 --- /dev/null +++ b/assets/js/app.js @@ -0,0 +1,49 @@ +if ("serviceWorker" in navigator) { + navigator.serviceWorker.register("/sw.js") + .then(() => { }) + .catch((err) => console.log("Service worker registration failed", err)); +} + +// Listen to messages from service workers. +if (navigator.serviceWorker) { + navigator.serviceWorker.addEventListener('message', (event) => { + if (event.data.msg === "install") { + window.location.replace("/index.html"); + } + }); +} + +/** + * Displays a user-friendly text to the user and + * detailed text to developer (console) + * @param {string} usermsg User-friendly message + * @param {string} devmsg Developer-friendly message + */ +async function UIAlert(usermsg, devmsg) { + if (true) { // če bo kakšen dev switch? + M.toast( { html: usermsg } ); + console.log(`[BežiApp UIAlert] ${usermsg} ${devmsg}`); + } else { + M.toast( { html: `${usermsg} ${devmsg}` } ); + } +} + +/** + * Handles GSEC error - notifies the user and prints a console message + * @param {Object} err GSEC error object + */ +function gsecErrorHandlerUI(err) { + console.log(`gsecErrorHanderUI: handling ${err}`); + if(err == GSEC_ERR_NET || err == GSEC_ERR_NET_POSTBACK_GET || + err == GSEC_ERR_NET_POSTBACK_POST) { + + UIAlert( D("gsecErrNet") ); + } else if(err == GSEC_ERR_LOGIN) { + UIAlert( D("gsecErrLogin") ); + localforage.setItem("logged_in", false).then( () => { + window.location.replace("/index.html"); + }); + } else { + UIAlert( D("gsecErrOther") ); + } +} |