Skip to content

Commit 408e7c2

Browse files
committed
Fix error after saving inactivity interval
1 parent fc35d3e commit 408e7c2

File tree

3 files changed

+23
-23
lines changed

3 files changed

+23
-23
lines changed

src/components/GeneralSettings.vue

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
class="filled-in"
77
id="viewTimeInBadge"
88
v-model="viewTimeInBadge"
9-
@change="onChange(StorageParams.VIEW_TIME_IN_BADGE, $event.target.checked)"
9+
@change="onChange(StorageParams.VIEW_TIME_IN_BADGE, $event.target)"
1010
/>
1111
<span>Display time tracker in icon</span>
1212
<p class="description">
@@ -21,7 +21,7 @@
2121
class="filled-in"
2222
id="blockDeferral"
2323
v-model="allowDeferringBlock"
24-
@change="onChange(StorageParams.BLOCK_DEFERRAL, $event.target.checked)"
24+
@change="onChange(StorageParams.BLOCK_DEFERRAL, $event.target)"
2525
/>
2626
<span>Allow deferring block for 5 minutes</span>
2727
<p class="description">
@@ -36,7 +36,7 @@
3636
class="filled-in"
3737
id="darkMode"
3838
v-model="darkMode"
39-
@change="onChange(StorageParams.DARK_MODE, $event.target.checked)"
39+
@change="onChange(StorageParams.DARK_MODE, $event.target)"
4040
/>
4141
<span>Dark mode</span>
4242
<p class="description">Dark theme</p>
@@ -50,7 +50,7 @@
5050
<select
5151
class="option"
5252
v-model="intervalInactivity"
53-
@change="onChange(StorageParams.INTERVAL_INACTIVITY, $event.target.value)"
53+
@change="onChange(StorageParams.INTERVAL_INACTIVITY, $event.target)"
5454
>
5555
<option :value="InactivityInterval.Seconds_30">30 seconds</option>
5656
<option :value="InactivityInterval.Seconds_45">45 seconds</option>
@@ -135,8 +135,12 @@ onMounted(async () => {
135135
selectedDate.value = ThisWeekRange;
136136
});
137137
138-
async function onChange(storageParam: StorageParams, value: any) {
139-
await save(storageParam, value);
138+
async function onChange(storageParam: StorageParams, target: any) {
139+
if (target != null)
140+
await save(
141+
storageParam,
142+
storageParam == StorageParams.INTERVAL_INACTIVITY ? Number(target.value) : target.checked,
143+
);
140144
}
141145
142146
async function save(storageParam: StorageParams, value: any) {

src/components/WhiteList.vue

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,18 +64,14 @@ function addToWhiteList() {
6464
} else {
6565
const newWebsite = extractHostname(newWebsiteForWhiteList.value!);
6666
whiteList.value?.push(newWebsite);
67-
onChange(StorageParams.BLACK_LIST, whiteList.value);
67+
save(StorageParams.BLACK_LIST, whiteList.value);
6868
newWebsiteForWhiteList.value = '';
6969
}
7070
}
7171
7272
function deleteFromWhiteList(url: string) {
7373
whiteList.value = whiteList.value!.filter(x => x != url);
74-
onChange(StorageParams.BLACK_LIST, whiteList.value);
75-
}
76-
77-
async function onChange(storageParam: StorageParams, value: any) {
78-
await save(storageParam, value);
74+
save(StorageParams.BLACK_LIST, whiteList.value);
7975
}
8076
8177
async function save(storageParam: StorageParams, value: any) {

src/tracker.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -37,22 +37,22 @@ async function trackTime() {
3737
if (isValidPage(activeTab)) {
3838
const activeDomain = extractHostname(activeTab!.url);
3939

40-
if (
41-
currentObj != null &&
42-
currentObj.activeDomain == activeDomain &&
43-
!isActiveTabWasChanged(activeDomain)
44-
) {
45-
await mainTrackerWrapper(activeTab!, activeDomain, currentObj.tab);
46-
return;
47-
}
48-
4940
if (await isInBlackList(activeDomain)) {
5041
useBadge({
5142
tabId: activeTab!.id!,
5243
text: 'n/a',
5344
color: BadgeColor.green,
5445
});
5546
} else {
47+
if (
48+
currentObj != null &&
49+
currentObj.activeDomain == activeDomain &&
50+
!isActiveTabWasChanged(activeDomain)
51+
) {
52+
await mainTrackerWrapper(activeTab!, activeDomain, currentObj.tab);
53+
return;
54+
}
55+
5656
let tab = repo.getTab(activeDomain);
5757
if (tab == undefined) {
5858
tab = await repo.addTab(activeDomain, activeTab?.favIconUrl);
@@ -122,9 +122,9 @@ async function mainTracker(
122122
}
123123

124124
async function mainTrackerWrapper(activeTab: Browser.Tabs.Tab, activeDomain: string, tab: Tab) {
125-
const inactivityInterval = await Settings.getInstance().getSetting(
125+
const inactivityInterval = (await Settings.getInstance().getSetting(
126126
StorageParams.INTERVAL_INACTIVITY,
127-
);
127+
)) as number;
128128
const state = await Browser.idle.queryState(inactivityInterval);
129129
await mainTracker(state, activeTab!, activeDomain, tab);
130130
}

0 commit comments

Comments
 (0)