From 98cbcaa64fb9493212a896c8d88e020416057f01 Mon Sep 17 00:00:00 2001 From: nilshah98 Date: Sun, 15 Jan 2023 15:35:45 +0530 Subject: [PATCH 1/4] [FEAT] Showcase time & counter for blocked website when deferring --- src/block.html | 4 ++++ src/scripts/background.js | 8 +++++--- src/scripts/block.js | 6 ++++++ src/style/block.css | 6 ++++++ 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/block.html b/src/block.html index 1aa162a..e4c2d86 100644 --- a/src/block.html +++ b/src/block.html @@ -17,6 +17,10 @@
You've reached your limit today on
Your current daily limit is
+
You have already been here + times for a total duration of + today ! +
Set aside for 5 minutes

Web Activity Time Tracker

diff --git a/src/scripts/background.js b/src/scripts/background.js index f0758b4..c304d93 100644 --- a/src/scripts/background.js +++ b/src/scripts/background.js @@ -66,7 +66,7 @@ function backgroundCheck() { function mainTRacker(activeUrl, tab, activeTab) { if (activity.isLimitExceeded(activeUrl, tab) && !activity.wasDeferred(activeUrl)) { - setBlockPageToCurrent(activeTab.url); + setBlockPageToCurrent(activeTab.url, tab.summaryTime, tab.counter); } if (!activity.isInBlackList(activeUrl)) { if (activity.isNeedNotifyView(activeUrl, tab)) { @@ -131,8 +131,10 @@ function notificationAction(activeUrl, tab) { }); } -function setBlockPageToCurrent(currentUrl) { - var blockUrl = chrome.runtime.getURL("block.html") + '?url=' + currentUrl; +function setBlockPageToCurrent(currentUrl, summaryTime, counter) { + var blockUrl = chrome.runtime.getURL("block.html") + '?url=' + currentUrl + + '&summaryTime=' + summaryTime + + '&counter=' + counter; chrome.tabs.query({ currentWindow: true, active: true }, function(tab) { chrome.tabs.update(tab.id, { url: blockUrl }); }); diff --git a/src/scripts/block.js b/src/scripts/block.js index 58bd6bb..e2d34d0 100644 --- a/src/scripts/block.js +++ b/src/scripts/block.js @@ -2,12 +2,18 @@ var storage = new LocalStorage(); var blockSiteUrl; +var blockSiteTime; +var blockSiteCounter; var restrictionList = []; document.addEventListener("DOMContentLoaded", function () { var url = new URL(document.URL); blockSiteUrl = url.searchParams.get("url"); + blockSiteTime = url.searchParams.get("summaryTime"); + blockSiteCounter = url.searchParams.get("counter"); document.getElementById("site").innerText = extractHostname(blockSiteUrl); + document.getElementById("deferredTime").innerText = convertShortSummaryTimeToString(blockSiteTime); + document.getElementById("deferredCount").innerText = blockSiteCounter; storage.getValue(STORAGE_RESTRICTION_LIST, function (items) { restrictionList = items; diff --git a/src/style/block.css b/src/style/block.css index af5e762..65fc5f3 100644 --- a/src/style/block.css +++ b/src/style/block.css @@ -41,4 +41,10 @@ body{ color: gray; text-decoration: underline; cursor: pointer; +} + +.deferred-metrics{ + font-weight: 500; + font-size: 1.2rem; + color: rgb(202, 48, 48); } \ No newline at end of file From 13015c395fba491bea657d44e981490095777d3d Mon Sep 17 00:00:00 2001 From: nilshah98 Date: Mon, 16 Jan 2023 15:58:46 +0530 Subject: [PATCH 2/4] [FIX] get only latest day metrics --- src/scripts/background.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/background.js b/src/scripts/background.js index c304d93..cc0af7f 100644 --- a/src/scripts/background.js +++ b/src/scripts/background.js @@ -66,7 +66,7 @@ function backgroundCheck() { function mainTRacker(activeUrl, tab, activeTab) { if (activity.isLimitExceeded(activeUrl, tab) && !activity.wasDeferred(activeUrl)) { - setBlockPageToCurrent(activeTab.url, tab.summaryTime, tab.counter); + setBlockPageToCurrent(activeTab.url, tab.days.at(-1).summaryTime, tab.days.at(-1).counter); } if (!activity.isInBlackList(activeUrl)) { if (activity.isNeedNotifyView(activeUrl, tab)) { From 2f25e34a65d208ea22ac371d3c9daf48b75fb558 Mon Sep 17 00:00:00 2001 From: nilshah98 Date: Mon, 16 Jan 2023 16:00:09 +0530 Subject: [PATCH 3/4] [FIX] typo when accessing time from days --- src/scripts/background.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/background.js b/src/scripts/background.js index cc0af7f..58453c7 100644 --- a/src/scripts/background.js +++ b/src/scripts/background.js @@ -66,7 +66,7 @@ function backgroundCheck() { function mainTRacker(activeUrl, tab, activeTab) { if (activity.isLimitExceeded(activeUrl, tab) && !activity.wasDeferred(activeUrl)) { - setBlockPageToCurrent(activeTab.url, tab.days.at(-1).summaryTime, tab.days.at(-1).counter); + setBlockPageToCurrent(activeTab.url, tab.days.at(-1).summary, tab.days.at(-1).counter); } if (!activity.isInBlackList(activeUrl)) { if (activity.isNeedNotifyView(activeUrl, tab)) { From 24ef0b1fc698db21f94215394494789ffdda6f18 Mon Sep 17 00:00:00 2001 From: nilshah98 Date: Thu, 19 Jan 2023 00:00:31 +0530 Subject: [PATCH 4/4] [FIX] switch e.path to e.composedPath --- src/scripts/settings.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/scripts/settings.js b/src/scripts/settings.js index ae1a7c5..f1eca2b 100644 --- a/src/scripts/settings.js +++ b/src/scripts/settings.js @@ -444,14 +444,14 @@ function addDomainToEditableListBox(entity, elementId, actionEdit, actionDelete, } function deleteBlackSite(e) { - var targetElement = e.path[1]; + var targetElement = e.composedPath()[1]; blackList.splice(blackList.indexOf(targetElement.innerText), 1); document.getElementById('blackList').removeChild(targetElement); updateBlackList(); } function deleteRestrictionSite(e) { - var targetElement = e.path[1]; + var targetElement = e.composedPath()[1]; var itemValue = targetElement.querySelector("[name='domain']").value; var item = restrictionList.find(x => x.domain == itemValue); restrictionList.splice(restrictionList.indexOf(item), 1); @@ -460,7 +460,7 @@ function deleteRestrictionSite(e) { } function deleteNotificationSite(e) { - var targetElement = e.path[1]; + var targetElement = e.composedPath()[1]; var itemValue = targetElement.querySelector("[name='domain']").value; var item = notifyList.find(x => x.domain == itemValue); notifyList.splice(notifyList.indexOf(item), 1); @@ -469,7 +469,7 @@ function deleteNotificationSite(e) { } function actionEditSite(e, actionUpdateTimeFromList, actionUpdateList) { - var targetElement = e.path[1]; + var targetElement = e.composedPath()[1]; var domainElement = targetElement.querySelector('[name="domain"]'); var timeElement = targetElement.querySelector('[name="time"]'); if (timeElement.classList.contains('clock-li-readonly')) {