import { passwordHash } from "./scripts.js"; import { clearData, createBookShelf, importBookShelf } from "./storage.js"; import { loadTemplate, storeFilesToServer, checkForStoredDataOnServer, delStoredDataOnServer, } from "./web.js"; function showMenu() { var x = document.getElementById("navMob"); if (x.className.indexOf("w3-show") == -1) { x.className += " w3-show"; } else { x.className = x.className.replace(" w3-show", ""); } if (screen.width < 993) { let sidebar = document.getElementById("sidebar"); sidebar.style.display = "none"; } } function showSidebar() { let sidebar = document.getElementById("sidebar"); if (getComputedStyle(sidebar).display === "none") { sidebar.style.display = "block"; sidebar.style.marginTop = "35px"; } else { sidebar.style.display = "none"; } if (screen.width < 993) { let navBar = document.getElementById("navMob"); navBar.className = navBar.className.replace(" w3-show", ""); } } function showTextBlocks() { var x = document.getElementById("navTb"); if (x.className.indexOf("w3-show") == -1) { x.className += " w3-show"; } else { x.className = x.className.replace(" w3-show", ""); } if (screen.width < 993) { let sidebar = document.getElementById("sidebar"); sidebar.style.display = "none"; } } function insertTextBlocks(t) { let insert = "!" + t.innerText.split(":")[0] + " "; let id = activeState.lastElement; let element = document.getElementById(id); if (element === null) { return; } element.value += " " + insert; let tB = document.getElementById("navTb"); tB.className.replace(" w3-show", ""); if (element.parentElement != undefined) { if ( element.parentElement.getElementsByClassName("pell-content")[0] != undefined ) { element.parentElement.getElementsByClassName( "pell-content" )[0].innerHTML = element.value; element = element.parentElement.getElementsByClassName("pell-content")[0]; } } element.focus(); } function handleOnBlur(t) { activeState.lastElement = t.id; //createStorageObj(); } function clickClearForm() { //document.activeElement.blur(); //document.getElementById("sidebar").focus(); clearData("userInput"); let lT = activeState.loadedTemplate; loadTemplate(lT); } function hideMenus(evt) { if (evt === undefined) return; if (evt != "force" && evt.target.parentElement != null) { if (evt.target.parentElement.id == "navMob") return; if (evt.target.parentElement.id == "navReg") return; if (evt.target.parentElement.parentElement != null) { if (evt.target.parentElement.parentElement.id == "navMob") return; if (evt.target.parentElement.parentElement.id == "navReg") return; } } let sidebar = document.getElementById("sidebar"); sidebar.style.display = "none"; let navBar = document.getElementById("navMob"); navBar.className = navBar.className.replace(" w3-show", ""); let tbBar = document.getElementById("navTb"); tbBar.className = tbBar.className.replace(" w3-show", ""); } function modalNotifier(msg, timeout = 3, closeable = true) { let modalElement = document.getElementById("modalNotifier"); let modalElementCloseBtn = document.getElementById("modalNotifierClose"); let msgElement = document.getElementById("modalMsg"); modalElement.style.display = "block"; if (!closeable) modalElementCloseBtn.style.display = "none"; msgElement.innerHTML = msg; if (timeout >= 1) { const run = setTimeout( () => (modalElement.style.display = "none"), timeout * 1000 ); } } function printVersion(msg = "") { const scripts = document.getElementsByTagName("script"); const versionSpan = document.getElementById("currentVersion").lastChild; for (var i = 0; i < scripts.length; i++) { if (scripts[i].src) { let source = scripts[i].src; // js/version/main.js let pathVersion = source.split("/"); pathVersion = pathVersion[pathVersion.length - 2]; //add it to document footer currentVersion versionSpan.textContent = msg + " version: " + pathVersion; } } } function clickImportFiles() { if (activeState.settings.localOnly == "true") { createBookShelfDownload(); return; } checkForStoredDataOnServer(); document.getElementById("modalMsg").addEventListener("click", (e) => { if (e.target && e.target.tagName === "BUTTON") { let modal = document.getElementById("modalNotifier"); switch (e.target.innerHTML) { case "Import": modal.replaceWith(modal.cloneNode(true)); document.getElementById("modalMsg").addEventListener("click", (e) => { if (e.target && e.target.tagName === "BUTTON") { let modal = document.getElementById("modalNotifier"); switch (e.target.innerHTML) { case "Yes": importBookShelf(); modal.replaceWith(modal.cloneNode(true)); modalNotifier( "Imported!", activeState.settings.notifierPause ); break; case "Cancel": modal.replaceWith(modal.cloneNode(true)); document.getElementById("modalNotifier").style.display = "none"; break; default: e.preventDefault; } } }); modalNotifier( "