Alt-Tab-Page/src/scripts/altTabPageSettings.js

69 lines
2.3 KiB
JavaScript

// Declare variables.
const browserStorage = browser.storage.local;
const tabPgInput = document.querySelector("#tabPageToLoad");
const saveBttn = document.querySelector("#saveButtonAction");
const delBttn = document.querySelector("#delButtonAction");
const messageDiv = document.querySelector("#alertMessage");
/* Asign signal handaling in settings page. */
// Save desired url....
saveBttn.addEventListener('click', () => {
let urlLink = tabPgInput.value;
let bannerTag = document.createElement("P");
let text = document.createTextNode("Saved Alt Tab Page to: " + urlLink);
urlLink = (urlLink.match(/(localhost)\b/)) ? urlLink.replace("localhost", "127.0.0.1") : urlLink;
urlLink = (urlLink.match(/^(http:\/\/|https:\/\/)/)) ? urlLink : "http://" + urlLink;
browserStorage.clear();
tabPgInput.value = urlLink;
bannerTag.style.padding = "0.5em";
bannerTag.style.background = "#80e03d";
bannerTag.style.color = "#ffffff";
bannerTag.append(text);
messageDiv.append(bannerTag);
browserStorage.set({ userSelectedTabPage : urlLink });
console.log("Saved Alt Tab Page to: " + urlLink);
clearMessages();
});
// Delete desired url and set Default marker....
delBttn.addEventListener('click', () => {
let bannerTag = document.createElement("P");
let text = document.createTextNode("Deleted " + tabPgInput.value +
" as setting and defaulting to Google...");
bannerTag.style.padding = "0.5em";
bannerTag.style.background = "#80e03d";
bannerTag.style.color = "#ffffff";
bannerTag.append(text);
messageDiv.append(bannerTag);
tabPgInput.value = "Default";
browserStorage.clear();
console.log("Deleted Alt Tab Page...");
clearMessages();
});
// On start load from settings
const loadOnStart = (restoredSettings) => {
let homeTabURL = restoredSettings.userSelectedTabPage;
console.log("Trying to load settings if any...");
if (homeTabURL !== "Default" && homeTabURL !== undefined) {
tabPgInput.value = homeTabURL
} else {
tabPgInput.value = "Default";
}
}
const clearMessages = () => {
setTimeout(function () {
messageDiv.innerHTML = "";
}, 4000);
}
const onError = (e) => { console.error(e); }
browserStorage.get().then(loadOnStart, onError);