-
Notifications
You must be signed in to change notification settings - Fork 0
/
background.js
39 lines (36 loc) · 1.23 KB
/
background.js
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
37
38
39
chrome.notifications.onClicked.addListener(async (alarm) => {
console.log("Clicked reminder!", alarm);
const linkedInTab = await chrome.tabs.query({ url: 'https://www.linkedin.com/*' });
if (linkedInTab.length) {
chrome.tabs.update(linkedInTab[0].id, { selected: true });
} else {
const allTabs = await chrome.tabs.query({});
chrome.tabs.create(
{
active: true,
// The provided value is clamped to between zero and the number of tabs in the window.
index: allTabs.length + 1,
url: 'https://www.linkedin.com/feed/'
}
);
}
});
chrome.notifications.onClosed.addListener((alarm) => {
console.log("Closed reminder!", alarm);
});
chrome.alarms.onAlarm.addListener(async (alarm) => {
const { activeAlarms } = await chrome.storage.local.get(["activeAlarms"]);
const alarmsSet = new Set(activeAlarms);
const newArray = [...alarmsSet];
const findAlarm = newArray.find(o => o.alarmName === alarm.name);
if (findAlarm) {
chrome.notifications.create({
type: 'basic',
iconUrl: '/images/linkedin_128.png',
title: 'LinkedIn contact alert',
message: findAlarm.alarmText
});
} else {
console.log("Reminder wasn't found in the storage!", alarm);
}
});