diff --git a/data/icons/lightbeam_icon_unblock.png b/data/icons/lightbeam_icon_unblock.png new file mode 100644 index 0000000..8dae32c Binary files /dev/null and b/data/icons/lightbeam_icon_unblock.png differ diff --git a/data/index.html b/data/index.html index 6fba134..35e2336 100644 --- a/data/index.html +++ b/data/index.html @@ -86,6 +86,18 @@ This site is currently . +
+ +
+
+
+ + + Block Site + +
Server Location
diff --git a/data/infobar.js b/data/infobar.js index 75c1ca6..6f91473 100644 --- a/data/infobar.js +++ b/data/infobar.js @@ -96,6 +96,26 @@ function updateMap(countryCode){ setZoom(newViewBox, mapcanvas); } +document.querySelector(".pref-action .block").addEventListener('click', function(evt) { + var site = this.dataset.siteName; + confirmBlockSitesDialog(function(confirmed) { + if (confirmed) { + userSettings[site] = 'block'; + global.self.port.emit('updateBlocklist', site, true); + showSitePref(site); + } + }); + evt.preventDefault(); +}); + +document.querySelector(".pref-action .unblock").addEventListener('click', function(evt) { + var site = this.dataset.siteName; + userSettings[site] = ''; + global.self.port.emit('updateBlocklist', site, false); + showSitePref(site); + evt.preventDefault(); +}); + // updates info on the info panel function updateInfo(nodeName){ @@ -132,6 +152,8 @@ function showFirstAndLastAccess(site){ function showSitePref(nodeName){ var prefTag = document.querySelector(".pref-tag"); + var blockButton = document.querySelector(".pref-action .block"); + var unblockButton = document.querySelector(".pref-action .unblock"); var sitePref = userSettings[nodeName]; if ( sitePref ){ prefTag.querySelector("img").src = "icons/lightbeam_icon_"+sitePref+".png"; @@ -139,9 +161,20 @@ function showSitePref(nodeName){ prefTag.querySelector("span").classList.add(sitePref + "-text"); prefTag.querySelector("span").textContent = (sitePref=="hide") ? "hidden" : sitePref + "ed"; prefTag.classList.remove("hidden"); + if (sitePref == "block") { + unblockButton.classList.remove("hidden"); + blockButton.classList.add("hidden"); + } else { + unblockButton.classList.add("hidden"); + blockButton.classList.remove("hidden"); + } }else{ prefTag.classList.add("hidden"); + unblockButton.classList.add("hidden"); + blockButton.classList.remove("hidden"); } + unblockButton.dataset.siteName = nodeName; + blockButton.dataset.siteName = nodeName; } function showConnectionsList(nodeName,nodeList){