Skip to content

Commit 64fbf35

Browse files
committed
Open previous url after defering
1 parent 8141ff3 commit 64fbf35

File tree

4 files changed

+18
-6
lines changed

4 files changed

+18
-6
lines changed

src/compositions/block-page.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@ import Browser from 'webextension-polyfill';
22
import { buildBlockQuery } from '../utils/block-page';
33

44
export async function useBlockPage(
5+
domain: string,
56
url: string,
67
liimitTime: number,
78
summaryCounter: number,
89
): Promise<void> {
910
const blockUrl =
10-
Browser.runtime.getURL('src/block.html') + buildBlockQuery(url, liimitTime, summaryCounter);
11+
Browser.runtime.getURL('src/block.html') +
12+
buildBlockQuery(domain, url, liimitTime, summaryCounter);
1113
const tab = await Browser.tabs.query({ currentWindow: true, active: true });
1214
Browser.tabs.update(tab[0].id, { url: blockUrl });
1315
}

src/pages/Block.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ import { defering, canDefering } from '../compositions/deferList';
3838
const settingsStorage = injecStorage();
3939
4040
const webSite = ref<string>();
41+
const sourceUrl = ref<string>();
4142
const limitTime = ref<number>();
4243
const limitTimeString = ref<string>();
4344
const summaryCounter = ref<number>();
@@ -47,6 +48,7 @@ const haveToShowDeffering = ref<boolean>();
4748
onMounted(async () => {
4849
const queryObj = getValueFromQuery(location.href);
4950
webSite.value = queryObj.domain ?? '';
51+
sourceUrl.value = queryObj.url ?? '';
5052
limitTime.value = queryObj.limitTime;
5153
limitTimeString.value = convertLimitTimeToString(queryObj.limitTime);
5254
summaryCounter.value = queryObj.summaryCounter ?? 0;
@@ -66,7 +68,7 @@ async function deferring() {
6668
haveToShowDeffering.value
6769
) {
6870
await defering(webSite.value, 5);
69-
//window.open(document.referrer);
71+
if (sourceUrl.value != '') window.open(sourceUrl.value);
7072
}
7173
}
7274
</script>

src/tracker.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ async function mainTracker(
8989
const limitExceeded = await isLimitExceeded(activeDomain, tab);
9090
if (limitExceeded.IsLimitExceeded) {
9191
const summaryCounter = tab.days.at(-1)!.counter;
92-
await useBlockPage(activeDomain, limitExceeded.LimitTime!, summaryCounter);
92+
await useBlockPage(activeDomain, activeTab.url!, limitExceeded.LimitTime!, summaryCounter);
9393
return;
9494
}
9595

src/utils/block-page.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,29 @@
11
export enum BlockParams {
2-
Domain = 'url',
2+
Domain = 'domain',
3+
URL = 'url',
34
LimitTime = 'summaryTime',
45
SummaryCounter = 'summaryCounter',
56
}
67

7-
export function buildBlockQuery(url: string, liimitTime: number, summaryCounter: number) {
8-
return `?url=${url}&summaryTime=${liimitTime}&summaryCounter=${summaryCounter}`;
8+
export function buildBlockQuery(
9+
domain: string,
10+
url: string,
11+
liimitTime: number,
12+
summaryCounter: number,
13+
) {
14+
return `?domain=${domain}&url=${url}&summaryTime=${liimitTime}&summaryCounter=${summaryCounter}`;
915
}
1016

1117
export function getValueFromQuery(url: string) {
1218
const urlObj = new URL(url);
1319
const domain = urlObj.searchParams.get(BlockParams.Domain);
20+
const sourceUrl = urlObj.searchParams.get(BlockParams.URL);
1421
const limitTime = Number(urlObj.searchParams.get(BlockParams.LimitTime));
1522
const summaryCounter = Number(urlObj.searchParams.get(BlockParams.SummaryCounter));
1623

1724
return {
1825
domain: domain,
26+
url: sourceUrl,
1927
limitTime: limitTime,
2028
summaryCounter: summaryCounter,
2129
};

0 commit comments

Comments
 (0)