forked from Stigmatoz/web-activity-time-tracker
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbackground.ts
More file actions
36 lines (29 loc) · 1.14 KB
/
background.ts
File metadata and controls
36 lines (29 loc) · 1.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import Browser from 'webextension-polyfill';
import { initTracker } from './tracker';
import { logger } from './compositions/logger';
import { scheduleJobs } from './jobs/sheduler';
import { Settings } from './compositions/settings';
import { StorageParams } from './storage/storage-params';
import { injecStorage } from './storage/inject-storage';
import { todayLocalDate } from './utils/date';
logger.log('Start background script');
self.onerror = err => {
console.error('Unhandled error:', err);
};
Browser.runtime.onInstalled.addListener(async details => {
logger.log('Extension installed:', details);
const settingsStorage = injecStorage();
await settingsStorage.saveValue(StorageParams.INSTALL_DATE, todayLocalDate());
});
Browser.storage.onChanged.addListener((changes, namespace) => {
for (var key in changes) {
if (Object.values(StorageParams).includes(key as StorageParams))
Settings.getInstance().reloadSetting(key as StorageParams);
}
});
Browser.runtime.setUninstallURL('https://webtracker.online/goodbye.html');
Browser.runtime.onStartup.addListener(() => {
logger.log(`onStartup event`);
});
scheduleJobs();
initTracker();